The next major version of Google's Android platform, codenamed Ice Cream Sandwich (ICS), is expected to reach the market
in October or November. ICS is expected to bring some significant
changes to Android because it will unify Google's tablet and phone
variants into a single environment.
Although the SDK is not available yet, Google has published some
technical guidance to help third-party application developers start
preparing for the ICS transition. An entry posted this week on the
Android developer blog describes some steps that developers can take to
better accommodate the breadth of screen sizes supported by ICS.
The documentation also provides some insight into how several
elements of the Honeycomb user interface could be translated to
phone-sized screens in ICS. For example, it includes mockups that show
the distinctive Honeycomb action bar on a tablet and a phone. It's not
clear, however, if the mockups accurately depict the user experience
that will be delivered in ICS.
This seems to suggest that tablet user interfaces developed with
standard Honeycomb APIs will largely work on phones in ICS without
requiring much modification by third-party developers. That's good news,
especially if it ends up being equally true the other way, which would
allow phone applications built for ICS to look and feel more native on
tablet devices. Google's existing Fragments framework will also help
simplify interface scalability by making it easy to transition
data-driven applications between single-pane to multi-pane layouts.
Developers who use Fragments and stick to the standard Honeycomb user
interface components are on the right track for the upcoming ICS
release, but developers who have built more complicated tablet-specific
user interfaces or haven't stayed within the boundaries imposed by the
documented APIs might face some challenges.
Honeycomb applications that were designed only for the tablet screen
size might not scale down correctly on phones. That's a problem, because
Android's versioning model doesn't prevent old applications from
running on devices with new versions of the operating system—it's going
to be possible for users to install Honeycomb tablet applications on ICS
phones, even in cases where the result is going to be a very broken
application.
In cases where third-party developers can't adapt their tablet
software to work well at phone sizes, Google suggests changing the
application manifest file to block the application from being installed
on devices with small screens.
Another challenge is the large body of legacy devices that aren't
going to be updated to ICS. Developers who want to reach the largest
possible audience will have to refrain from using the new APIs, which
means that it will be harder for them to take advantage of the
platform's increasingly sophisticated capabilities for scaling across
different screen sizes.
Google has already partially addressed this issue by backporting the
Fragments framework and making it available as a static library for
older versions of the operating system. It might be beneficial for them
to go a step further and do the same with the Action Bar and other
critical user interface components that will be designed to scale
seamlessly in ICS.
It's going to take some time for the Android application ecosystem to
sort all of this out after ICS is released, but Google's approach seems
reasonably practical. In theory, developers who are solely targeting
ICS APIs might not have to make a significant development investment to
get their application working well across tablet and phone form factors.