Last night was a big deal for Android fans, it marked the release of Android 4.0 (codenamed Ice Cream Sandwich) and the Samsung Galaxy Nexus, which is the premier phone for the platform.
You can watch this YouTube video to see a recap of the announcement if 10PM EST was too late for you to care about a new product release.
What does Ice Cream Sandwich mean for those of you who have apps in the app store? The big thing to keep in mind is that Android 4.0 is basically Android 3.0 for phones. Android 3.0 was a big step forward for the platform, so bringing all those improvements to handsets is very welcome. Just a recap of some of what the Honeycomb feature set includes (from a development perspective):
- Resizable widgets with support for lists.
- Opt-in hardware acceleration for the 2D view drawing stack.
- Refactored view animation framework, which allows for smooth complex animations on the view layer.
- General speed increases across the platform.
Fragmentation is already a huge issue for Android development, so bringing the handset OS inline with the tablet OS is much needed. Also keep in mind that Ice Cream Sandwich is a new tablet release.
So, are there any new features for Ice Cream Sandwich? The short answer is yes, there are tons. Here are some of the more interesting ones I found while reading over the change lists:
- Calendar API: Before we were limited to interfacing with Google Calendar through Google APIs or hacking the Google Calendar app. Now we have a built-in calendar with full platform API support.
- Social API: I’m not sure what to think of this one yet. It seems like a provider to access some information on social networks using platform API calls. This could be a great new feature, because, as Android developers can tell you, the official Facebook SDK is very awkward to work with.
- TextureView: I haven’t had time to play around with this, but this could be one of the coolest things in Android 4.0. Video on the platform has traditionally be rendered in SurfaceViews, but these were pseudo-views because the OS “punched a hole” through the view to expose an OpenGL layer. If you have ever used the old SurfaceView inside an animated view (such as a ViewPager) then you would have noticed some tearing on the sides of the view. TextureView promises to be fully rendered in the view hierarchy, which should do away with this issue.
- Wi-Direct: This is a new API for ad-hoc wi-fi connections between devices. This seems to be the Android analog of Apple’s Bonjour and peer-to-peer connections.
- Improved HttpURLConnection: This is a very low-level new feature, but blog posts on the official Developers Blog promises a much improved HttpURLConnection interface, which is much easier to use than the Apache HTTP classes.
- VPN Client API: Clients that care about enterprise level security will be happy to know that there is now new support for making VPN connections in apps.
What does this mean for legacy apps? Unlike iOS, Google has been good about supporting legacy apps on newer platforms. Your apps should still work out of the box on Ice Cream Sandwich, but you should test them to make sure. One thing to be aware of is that older apps will not take advantage of new features like hardware acceleration without some updating, so your legacy apps will appear to be slower than other apps that do take advantage of these new features.
Have questions or find a mistake in my post? Post in the comments and I’ll do my best to answer.