announcement of Ice Cream Sandwich (ICS), the latest version of the
world's number one mobile OS, happened last week. The version number was
bumped up from 3.2 to 4.0 reflecting the number of changes in the OS.
As they promised in the Google I|O the latest version of Android now
merges the Honeycomb tablet OS with the main branch and brings us one
unified OS that will run on phones and tablets (end TVs later).
So how do the new features affect how we should design and build apps?
is the big difference between the older versions and ICS. From now on
all kinds of devices will run one OS. As a developer differentiation
between tablet and phone can only be done using screen dimensions.
I believe we should start thinking about Android app design similarly we think about responsive web design
. We have around 500 different Android devices out there today (Andy Rubin at AsiaD 2011
) and the number is growing fast. It is already impossible to tell exactly which devices are tablets and which ones are phones.
Is Samsung Note with its 5.2" screen a tablet or a phone?
In AsiaD 2011 Andy Rubin also said that there won't be a
separate Android Market section for tablet apps. If apps are written
correctly they will scale up nicely and support larder screens. Android
APIs allow us to do this!
"You can't think about
having one screen size. Phones and tablets have different sized displays
-- that's why the Android Market doesn't have segments of apps that
specifically run on phones and specifically on tablets."
Andy Rubin AsiaD 2011
I will definitely be writing more about responsive design for
Android later but there are already many good articles
worth checking out:
Responsive mobile design
by Kirill Grouchnikov
Thinking Like a Web Designer
by Roman Nurik
New UI components
Action Bar is now permanent part of Android APIs. Here
is an example from Android Developer page explaining how to make Action
Bar backwards compatible. Using this API makes tons of sense. It will
automatically adapt to larger tablet screens and smaller phone screens.
ViewPager (Workspaces UI design pattern) is also more common place now.
Although introduced already before ICS the latest release has made it
more common. See this post
in Android Developers blog for more details.
part of the default UI functionality users will now use horizontal
swiping with notifications and multitasking to dismiss a notification or
close an app. Swipe gesture was used before but it wasn't widely used
for this purpose.
Notifications and multi-tasking are features that users are going to use
very frequently. It is safe to assume that users will get used to the
"dismiss by swiping" very soon and it can be used in apps when similar
functionality is needed.
Improved voice controls
The latest release also improves Android's voice input. Including more natural voice input in apps is now possible.
Face recognition APIs
face unlocking feature isn't particularity useful feature as
such. However, the API is open and allows easy integration of automatic
face recognition to apps.
More NFC support
support was introduces a while ago but in the latest version Google
introduces Beam that allows transmitting data from one phone to another
by touching them together. Beam functionality can be included in apps
using Android APIs.
New default font
Android now has a new font called "Roboto". The font has been designed