
At the Google Technology User Group meeting at the Sydney Google Offices, Ankur Kotwal (newly appointed Developer Relations for Google Australia) gave a talk on some of the new features of the Ice Cream Sandwich release of Android (also called ICS internally). The focus of ICS is on the bringing Honeycomb (3.0) and Gingerbread (2.3) together into one OS for both tablets and smart phones.
The key elements of ICS include :
- Unified UI for both Phones and Tablets
- Backward compatible
- Fragments
- Action Bar
UI
Statistics show that 96% of users use version 2.2 (Froyo) and upwards, and Google realises that developers need to support older handsets as well as the current flavour of Android.
As a result ICS brings Honeycomb goodness to phones by using a single codebase and by maintaining maintain backward compatibility.
This is done via the Compatibility/Support library. This code, that can be downloaded into an app, will allow support for version 1.6 and above. It will allow such technology as Loaders (data loading in the background) and View Pager (new UI paradigm). View Pager will allow a more nateral UI by allowing sliding between screens, as seen in the Marketplace and Google Plus apps.
Adding the Library into an app is a simple 2 click process within the Eclipse IDE.
Fragments
At the moment, each screen in an Android app is referred to as an activity, which can be seen as a bucket for UI elements and other screen elements. Before ICS, the activity was the smallest element a screen could display. Fragments are reusable parts of the UI that can fit into an activity, allowing flexibility based on the platform the app is on (tablet or phone). With Fragments creating new layers , code bloat should be noticeably reduced.
With Fragments, it also allows the user to chose the preferred orientation (portrait or landscape). The behaviour of the can be determined to take full use of the screen depending on the platform, with such options as :
- Stretch (as seen in Settings)
- expand/collapse (Google Talk)
- stack (calender)
- show/hide {gmail)
Minimal code needed to take advantage of these enhancements.
Action Bar
Ankur talked about menu options being hidden from some users in older versions. As a result, in Honeycomb, the menu button was removed. This forces the options onto the screen itself. The Action Bar in ICS takes this a step further in being a fluid bar on top of the app, that orientates based on how the screen is being used.
The make up of the action bar includes the app icon (used as a brand building that can be contextually relevant and be interactive). Navigation tools is next, followed by a custom field that can be used freely by the app, and finally the Action items (the new name for menu items). The Action Bar is a dynamic view, with what is shown dependant on screen real estate.
All of these changes to the ICS SDK are designed for backward compatibility, and should have a low impact on older devices.
A video of Ankur Kotwal will be made available by Google soon. For previous videos from GTUG, check out the Youtube Channel. Update: No video will be made available as the session wasn’t recorded.











okk