Early returns on the Android 4.0 "Ice Cream Sandwich" software development kit have developers praising the unified perspective and capabilities of the Google mobile OS -- but their ability to test new apps is constrained by the lack of Android 4 devices, which also limits the market for apps that use the new OS.
Android 4 unifies the OS and the SDK for both smartphones and tablets, replacing the Android 2.x OS for smartphones and the Android 3.x OS for tablets. "Google has really done an amazing job giving us a way to build on the phone and on the tablet," says Siamak Ashrafi, a developer at mobile application builder YLabz.com.
No Android 4 hardware for testing -- or for customer adoption
The lack of Android 4-capable hardware is a limiting factor to developers. "The emulator that's currently with the SDK is gruesomely, painfully difficult to work with," Ashrafi says. One reason is that they can't yet test on actual devices. That makes it difficult to implement some new technologies.
For example, Nick Farina, CTO at software developer Meridian, cites a hardware acceleration capability brought over from Android 3.0 "Honeycomb" as a question mark because no hardware is yet available to test it. "Presumably, Google's own apps are written properly and take advantage of this new hardware-rendering pipeline, but there's no way to know how well it all works until I get a chance to play with some new [Android 4] devices like the Galaxy Nexus." The feature "still requires the typically lazy developer to understand how the rendering system works and the consequences of layout and invalidating/drawing too much," he says.
Tablet-inspired UI garners praise
The revised Android 4 user interface, which is largely based on the "Honeycomb" tablet version, gets high marks from developers so far. For example, Android 4 "Ice Cream Sandwich" makes impressive use of fragments (introduced in "Honeycomb"), which help developers lay out the user interface, says freelance developer and trainer Robert Mac Hale: "Fragments work like dynamic HTML in two ways. First, areas of the screen may be updated independently. Second, reusable user interface components are now easier to create, maintain, and deploy."
Farina and Ashrafi see some similarities between Android 4 "Ice Cream Sandwich" and Apple's iOS platform for the iPhone and iPad. Google is finally getting the late Steve Jobs's message that attractiveness is critical on mobile devices, Ashrafi says: "For the first time, I have something that is coming relatively closer to how nice the iOS development platform is, in terms of the GUIs and the simplicity of using it. For me, it makes a huge difference."
An action bar providing view titles and buttons onscreen that are contextually related to content is similar to the iOS toolbar, Farina notes: "I believe it's a good thing to standardize on the placement of these really common UI needs." Android 4 does away with the physical buttons that Android 2.x smartphones use for going back to a previous screen and for accessing the home screen, application menus, and search engine.
Evolutionary but welcome API changes
"The API changes in Android 4 seem more evolutionary than revolutionary, which is a good thing for developers," says Brian Hardy, a software engineer at mobile software development house Big Nerd Ranch.
In addition to the Beam and Wi-Fi Direct APIs, Android adopts the "Honeycomb" security and device management APIs. Two new APIs that Mike Burns, a developer at Thoughtbot, is eager to try out are ShareActionProvider and Calendar Intents. "The ShareActionProvider is an abstraction around the very common desire for sharing a piece of data. For example, sharing a photo via SMS or sharing a URL via email," he says.
Calendar Intents, meanwhile, "provide a way for apps to hook into the existing Google Calendar app, so a user can add events and view an agenda, consistently, from third-party apps." Both features boil down to having a consistent UI and reusable code for executing commonly requested features, Burns says -- something he has wanted Google to do more of.