Two of our talented MEDL Head developers, Steve Maslam and Daniel Patterson, explore the new mobile technology announced at Google I/O 2013.
Steve Maslam, iOS & Android Software Engineer
If there was one word to sum up Google I/O this year, it would be: Data. Specifically, how can we use the data we have about a user to give them a better, more delightful experience? Whether it be building a smarter search, mapping the entire world, or simply enabling apps to be built with the user in mind, rather than one of the user’s devices. In what ways can we put the power of Google’s services and knowledge for everyone, be it data from the whole of human existence, to the minutia of our lives, like dentist appointments and flight reminders.
One of the most hard-hitting topics for me was the idea of treating the person as the user, rather than treating their device as the user. It’s far too easy to think user = device, but increasingly that’s not the case. One doesn’t have to look far in the MEDL offices to find someone with multiple devices, be they iPhones, iPads, or Android. And increasingly, those users are looking to have their data shared across those multiple devices. In this day and age, it’s pretty sad that one has to completely start over when they get a new phone, or move from their phone to their tablet. Advertisers and other monetizers have been guilty of this myopic view as well. It can be easy to only look at revenue per platform, without realizing that users take many different routes to get there. Only looking at one platform at a time can skew the results, and push us in the wrong direction. Looking at the user as a whole, with all their devices, lets us give them a better, more tailored experience.
Daniel Patterson, Android App Developer
As Android gains popularity globally, with 400 million new activations in 2012, Google is showing support to the development with a plethora of new products. A new Android studio is in the works, new gaming, cloud services and unlocked boot loaded hardware, giving us plenty to be excited about for Android. Apple was first to the game, but as time progresses Google is seemingly catching up to iOS in many ways and surpassing them in others.
To save the best for first, Google is releasing Android Studio in September. This will be based on IntelliJ, and will have many new features such as a greatly improved layout editor, in-code transparency services (such as viewing a string resource value directly), regex compile time matching, and advanced controls for Google Cloud messaging and cloud services. The IDE itself is more lightweight than Eclipse so it should run faster and smoother, much like XCode. Currently it’s too early to give it a full comparison to XCode but from the looks of it on Google IO talks, it should give XCode a run for its money.
Moving on, Google announced a cross platform technology called Play game services. This product competes with iOS’ game center, but also offers cross platform capability, meaning you can use it in iOS, Android, and Web code. Very cool. Android’s game center features achievements, game saving syncing via google sign in, and multiplayer gaming support. This support does the heavy lifting for supporting games that allow players to compete over the internet. Taking care of latency issues, and multiplayers syncing is a complicated problem I haven’t had the pleasure to deal with, and would rather not. Game center lacks this capability.
Another topic that deserves its own paragraph is using Google Cloud Messaging (GCM) with App Engine, while being fully encapsulated with Android Studio. App Engine is a Google cloud server service similar to Amazons EC2 instances, or whatever other products are out there. The really cool thing about this is with Android studio you can create, design, and deploy your server code to App Engine, using pure Java. This means you can create the interface to store information to Google NoSql Datastore in the cloud, and provide a means of pushing this data back down to client applications. Apple has no similar services available in Xcode.
For reference go to the following link, 35:40 into the video, which highlights a synced stop watch application: http://ow.ly/ldYhG
Some new hardware was announced including the unlocked S4 that will be available for purchase for use on TMobile or AT&T networks. This phone will run the latest version of the android OS (17), and will be automatically updated as Google roles out new versions. Yes I said Google; the updates will not be reliant on AT&T or T-Mobile releasing new updates. The only catch is the phone itself costs $650, which is the base price for an S4 (I’m not sure you can get the price reduced with a 2-year contract). While this is not as good as Apple’s instant updates to all their users, it is definitely a step for Google in the same direction.
While listing these new services Google now has a trend towards cross platform technologies, meaning they can run on iOS, Android and the web. The attempt is to break down barriers, while this may seem like a marketing move, I feel it makes more sense. The Internet is open for everyone, so it might as well be accessible by everyone. If you want to watch your Google Play movie you just rented while queuing up your latest I-tunes playlist, who cares if you’re doing it on an I-phone, or Android, right? If you want to play your friend with a cool new game, you shouldn’t have to ask, “wait what kind of phone do you have?”
Objective C and the iOS development platform will probably be the platform to beat for a while, but Android is finally shaping up to compete on many levels.