Ice Cream Sandwich is built from Honeycomb, not Gingerbread. The user interface is Honeycomb, and the widgets, calendar, contacts and multi-tasking are all improvements taken from Honeycomb. Google has issued several new application programming interfaces and improved the support packages and software developer kit controls. One of the purported goals of Ice Cream Sandwich was to make developing for Android easier and more accessible. Did Google accomplish that goal?Developers are going to notice one thing immediately when they download the Android 4.0 SDK:
New & Improved APIs: Social, Calendar, Text-To-Speech & More
A major release of a mobile operating system would not be complete without a host of new and improved APIs. The major ones in Ice Cream Sandwich are the social and calendar APIs, which Google will be pushing prominently to developers over the next couple of months.
The social API will let applications store and share contact and content data on users. That includes recent activity, photos, email and text. The new "People" app will utilize the API heavily. Apps and social networks can be integrated with user permission and can read profile data from the network provider, like Twitter or Facebook, and display it in the applications.
The calendar API is fairly straightforward. It allows developers to create sharable calendars within their apps. It provides the ability to manage events, dates, attendees and alerts and share them among applications and users. This is akin to the iOS 5 "Reminders" app, but in a more calendar friendly form.
The accessibility API adds an "accessibility record" to events for apps that have certain features enabled like explore-by-touch, scrolling and text selection. The new framework for the text-to-speech lets developers use the API for any app requesting the feature. This is an improvement for the native Android TTS, a gap filled in from the third-party developer ecosystem until now.
There is also a virtual private network API that will be of great use to enterprise developers and is a sign of how Android is maturing for business use.
Connectivity: NFC, Wi-Fi Direct, Bluetooth
The connectivity options in Ice Cream Sandwich are on the bleeding edge of what smartphones will soon be capable of. Developers will soon see how well all of this stuff works, but Android has found the niche in the smartphone wars where it can differentiate itself from iOS and the iPhone.
Foremost, NFC. Google has been the main pusher of NFC, even if the ecosystem for the technology is not quite ready yet. Android Beam will be a new way for developers to create proximity-based applications. This could have a variety of uses for peer-to-peer or business-to-customer aspects.
The Bluetooth integration works much like NFC but for larger payloads. For most application ecosystems, NFC will work just fine, but the ability to have Bluetooth for large file transfers is an integration that no other mobile OS can use right now.
Wi-Fi Direct is a framework API to connect devices securely without the need of an Internet connection. Android 4.0 devices will be able to share content between other mobile devices or with personal computers. This will also help bring Android@Home features to life such as video and audio, as well as help connect gamers to each other. Think of it as creating Ethernet capabilities with an Android device and all that type of integration can entail.
Input & User Interface
wrote about a couple of weeks ago in how Android is trying to end fragmentation. The grid layout is configured to have backwards capability to other versions of Android and device sizes. This is done through the new TextureView that integrates OpenGL ES.The new GridLayout is essentially what we
Android 4.0 also hardware accelerates 2D drawing, something that was not done across all of Android before. This should greatly speed up apps and UI on Android devices.
The stylus is also making a comeback. Not many Android devices have instituted good stylus control outside of HTC's Evo View and Flyer tablets. The new text services API will help developers with importing dictionary and spell check functions to apps outside of the main Android native functions.
New Media: Better Utilizing the Camera
Apple has done some major improvements to the camera and how iOS devices can utilize it. It remains to be seen how well the Ice Cream Sandwich improvements institute camera functionality for developers, but the Android team made an effort to add new capabilities for developers.
The new media effects uses Open GL 2.0 for functions that are then processed by the device GPU. That means that backgrounds, cropping, lens distortion and all that fun camera functionality can be integrated into applications.
There is also an audio remote API for remote music playback. This will manage all incoming and outgoing audio media as well as add metadata to music applications.
New codecs and containers support a variety of new standards, including HTTP Live and WebP. Video will also be supported with the VP8 framework.
Low-level streaming is now supported by a new native API called Khronos OpenMAX AL 1.0.1 which is based off of the OpenSL ES API. Google says that new tools for supporting low-level streaming will be made available in the next Android NDK.
Honeycomb Functionality Ported to Version 4.0
As mentioned above, Ice Cream Sandwich was created from Honeycomb. Its main push will be to support tablet apps with backwards functionality to smartphone apps. This is the proper approach and backwards from what it had been with the Honeycomb/Gingerbread/Froyo system. Here is a list from Google about the Honeycomb functions that have been brought to bear in Ice Cream Sandwich.
Graphics and animation
- Fragments and content loaders
- Resizeable home screen widgets
- Rich notifications
- Multi-selection, drag-drop, clipboard
- Improved screen-support API
- Hardware-accelerated 2D graphics
Media and connectivity
- Property-based animation
- Renderscript 3D graphics
- HTTP Live streaming
- Bluetooth A2DP and HSP devices
- Support for RTP
- MTP/PTP file transfer
- DRM framework
- Input from keyboard, mouse, gamepad, joystick
- Full device encryption
- DPM policies for encrypted storage and passwords
Support & Tools
Speaking of the NDK, there are new SDK tools and support packages. As far as the actual native development tools, the new NDK has not been released yet. To download the Android 4.0 SDK, the SDK tools must be updated to revision 14. Check out what revision 14 brings to the table here.
There is also a new version to the support package, revision 4. The new support library adds accessibility APIs and changes to the ViewPager. Check out the newest version here.
Developers - Has Google accomplished its goal of making Android easier to developer for? Or are all the new APIs a giant headache without the benefit of greater functionality. Let us know your thoughts on the new Ice Cream Sandwich developer packet in the comments.