Mobile developers had better catch their collective breath while they can. Following the Apple and Google developer conferences, app creators have a bevy of new tools to learn and exploit. If you make apps for iOS and Android, you now know exactly what you have to work with for the foreseeable future.
At its World Wide Developers Conference, Apple gave iOS developers a new version of its operating system (one sporting a complete design overhaul to boot), an updated version of its Xcode developer environment and scads of new OS features — i.e., application programming interfaces, or APIs — apps can hook into. Google's I/O conference, meanwhile, provided developers with lots of new APIs for Android, an entirely new development environment in Android Studio and many new ways to make money from their apps in Google Play.
Mobile developers clearly have a lot to digest in the next few months before the fall device-buying season opens (and with it, the app downloading season). Let’s break it down.
Google: Fewer Features, More Developer Love
Android has matured, at least from a feature standpoint. It's more stable, is plagued with fewer bugs and offers more functionality. Its solidity has given Google the latitude to take its time with the next version of the operating system, likely due later this year.
So instead of teaching developers how to build for a new version of Android at I/O, Google focused instead on giving them more tools to do their jobs. Here are the highlights:
Android Studio: A completely new integrated developer environment (IDE) for building Android apps. Of all the announcements during the I/O keynote, Android Studio received the biggest applause because it fills a huge void for developers. Apple has had an IDE for Mac (and then iOS) developers since 2003 with Xcode, and many developers do much of their work in Xcode.
Android Studio features “lint” tools that test app code for usability and version compatibility problems, Android-specific refactoring intended to make code more readable and less complex, and a new layout editor that allows developers to drag-and-drop user interface components and test apps layouts on multiple screen sizes.
Android Studio is currently in a pre-release stage — i.e., it's an alpha version. Google warns developers of that fact before they download it and cautions them not to use it if they aren't willing to accept its buggy wonkiness. If that describes you, consider using the Eclipse IDE with an ADT (Android Developer Tools) plugin until Google does some more debugging.
Google Play Services: The most robust updates Google made to Android involved services that allow developers to optimize apps for a global audience and to get paid. Those includes an app translation service, new revenue graphs in the Google Play Developer Console, staged alpha/beta testing, optimization tips, Google Analytics for Android and referral tracking. Google also expanded its payment options across the globe.
Apple has long had given developers resources for marketing and making money, including easy in-app purchasing systems and advertising through iAd. Google evened the playing field here and maybe took a step ahead with the translation service and staged rollouts (long a wishlist item for iOS developers).
Location APIs: Google released new APIs for location at I/O that allows for easy geofencing (the ability to set a geographic perimeter around a location or an app), battery and accuracy optimization and the ability to easily determine user actions.
Apple had location news at WWDC, but it still has a long way to go to match Google’s years of experience with Maps. Apple’s new Map Kit can provide geographical context (the ability to perform actions by knowing where the user is), better orientation (which way am I standing?) support, route and directions support and geographically relevant information.
Apple Paints In Broad Strokes
Where Google took a scalpel to the Android ecosystem, Apple painted its canvas in much broader strokes. It was all pretty close to Apple's usual WWDC script: a new version of iOS with an abundance of new APIs, a new version of the Xcode development environment and a few little twists to keep it interesting. This year, Apple also gave us a brand new design in iOS 7, which was not completely unexpected.
Design Changes: The look and feel of iOS 7 is drastically different from its predecessors. Everything about iOS design is now skinny and flat, translucent and… pastel. With the new design changes come a variety of tips and tools for designers to update their apps to the new iOS 7.
Apple has two specific resources for designers working in iOS 7:
- The iOS UI Transition Guide covers the basics of updating apps from iOS 6 (and backwards support for iOS 6) and some case studies.
- The iOS Human Guidelines are an updated version of the human-computer interaction guidelines that Apple has traditionally rolled out with each new iOS version. Here is where developers will find just about everything they need to design for iOS 7 including iOS App Anatomy, UI Elements, icon and graphics help and so on.
Google pushed hard to catch up with Apple in the design realm by creating an entire library of design tips and best practices for Android. Google employs a suite of “Holo” Themes for Android that standardize Android apps on a central design principle.
Dynamic Behaviors: In iOS 7, designers and developers will work together to implement new “dynamic behaviors” that recognize how a user moves their phones and similar UI properties that can make apps respond to movements and other external features of the phone or tablet environment.
These dynamic behaviors are new to iOS 7. Android has some equivalents (for instance, both can use a “gravity” behavior on UI objects) as well as “fragments” that can create certain dynamic behaviors.
Gaming: Apple has always made gaming a special focus for the iPhone and iPad, and iOS 7 is no departure in this respect. The new APIs in the operating system could be some of the biggest… um, game changers of the entire release.
First is Sprite Kit, which will allow for rendering of 2D and “2.5D” graphics tied to hardware, which could lead to some excellent games on iOS 7. Apple also as a new Game Controller framework that gives developers the ability to add a physical console-style controller to iOS games. Apple also made some improvements and tweaks to its Game Center – including the ability to weed out cheaters.
Google’s third-party app and accessory partners have effectively taken care of game controllers for Android. Heck, the Ouya is an entire gaming console built on Android.
Google added some of its own improvements to its Game Center-like properties in Android with new leaderboard capabilities. Yet unless you dig really deep into the Android developer library and resources, Google doesn't feature gaming functions to developers the way Apple does in iOS.
Xcode 5: Xcode 5 has new testing features, continuous integration for to create bots to analyze, test and archive projects, new debugging capabilities and Auto Layout editor to help designers upgrade to iOS 7. Xcode is mature and stable — especially in contrast to Android Studio. While developers are going to have to exercise patience as Google irons out the problems in its new IDE, they should be able to jump right into iOS 7 work with Xcode 5.
Good Luck, Developers
Still have time on your hands? Well, there's always the next version of Android to look forward to, with an entirely new set of features and functions that developers will have to learn. Have a great summer!