By Jonathan Corbet
May 15, 2012
Owners of Android handsets can be forgiven for feeling frustration over how
long it took to get an update from the 2.3 "gingerbread" release. Google's
flat-out effort to improve tablet support led to a 3.0 ("honeycomb")
release that was not deemed suitable for handset use—or for open-source
release. It was only with the 4.0 "Ice Cream Sandwich" (ICS) cycle that all that
new code became available for handsets—sort of. Six months after the 4.0
release, your editor finally got his hands on a device that can run it;
what follows is a review of sorts.
The availability of the 4.0 release has not been as wide as a lot of users
might have hoped for. Upgrades for existing handsets have been slow in
coming. And for many handsets, including your editor's trusty Nexus One,
there will never be an official 4.0 system. Even worse, the CyanogenMod
developers have also decided that they will not be working on porting the
upcoming 4.0-based CM9 release to the Nexus One. Their reasoning is
understandable—in short, the Nexus One lacks the memory to run this release
in a pleasing way—but it is still somewhat sad. Once upon a time, the
Linux community prided itself on continuing to support older hardware long
after its manufacturers had forgotten about it. As Linux moves into the
consumer electronics world, the ability and the desire to support last
year's devices are both falling by the wayside.
Interestingly, it is not just the core system that leaves older devices
behind. Users of older Android releases who search for this week's hot application often
get a surprising result: nothing. If an application does not run under a
given Android version, the "Google Play" program simply will not show it at
all. (Perhaps more disconcertingly, viewing an application's page with a
desktop browser yields the message that one's handset—not currently in
use—is not supported). The end result is that users of last year's
hardware can find themselves in a situation where parts of the application
landscape simply seem to disappear over time—updates stop happening, and
new applications may never become available.
The inability to run an application for LWN's payroll service, combined
with the availability of an unlocked version of the Galaxy Nexus from
Google and the simple desire for a new toy drove the acquisition of a
4.0-capable device. There is one thing about the Galaxy Nexus which
immediately stands out to a Nexus One (or Nokia N9—your editor's other
device) user: its size. The Galaxy Nexus could almost be considered to be
an extra-small tablet; it is large enough to be an uncomfortable fit in a
pants pocket.
That size brings some advantages, of course, starting with the larger
screen with its 1280x720 resolution. The phone features five-band 3G
connectivity, a dual-core processor, a front-facing camera, and even a
built-in barometer. The extra processing power and memory are immediately
evident when using the handset; it is far more responsive than any Android
handset your editor has used previously. Given all that, it may just prove
possible to get used to hauling a larger handset around.
Google's version of the Galaxy Nexus is fully unlocked, meaning it is a
simple matter of a single "fastboot" command to unlock the
bootloader, which is the key to installing a different operating system on
the device. There is one little surprise worth knowing about: on this
phone, unlocking the bootloader will wipe the device. Anybody who wants to
do the kinds of things enabled by an unlocked bootloader is presumably
prepared to cope with an amnesiac handset, but this behavior is still a
good thing to know about.
The ICS experience
To users of previous Android's versions, the Ice Cream Sandwich release can
be a little jarring at first. Some things just aren't where one expects
them to be anymore. Certain ingrained behaviors—holding down the home key
to get a
list of running applications, for example—don't work in the same way
anymore (in this case, the application list has been moved to its own
dedicated key). The application directory now scrolls sideways instead of
upward. One can no longer place widgets or contact icons on the background
by holding a finger there; one must, instead, notice the little tab in the
application directory and use that. The search and menu buttons are long
gone. In the menu case, the button has been replaced by an icon that may
appear at the bottom of an applications screen, except when it appears at
the top instead; playing "find the menu" can be one of the more awkward
parts of the ICS experience. That notwithstanding, the interface mostly
works well once one gets used to the new ways of doing things.
One simultaneously good and bad feature of Android phones is the way they
upload so much information to the Google mothership. The good side becomes
immediately evident when one moves into a new handset; an awful lot of
things Just Work like they did on the previous one. Contacts and calendar
events are there, applications magically install themselves, and so on.
Your editor was a little surprised to observe that Android handsets now
pass wireless network passwords up to Google as well; the new handset
associated itself with the local network without even asking. Searching
through the menus turns up a mention of WiFi passwords in the "backup"
option; they are stored with the list of installed applications and other
bits of miscellaneous information. There is no apparent way to turn off
the backing-up of these passwords, which might well be regarded as
sensitive information, without turning off the backup feature entirely.
One other surprise that has clearly hit a number of Galaxy Nexus owners is
that the handset cannot function as a USB mass storage device when plugged
into a computer. Instead, it wants to talk to the media transport protocol
(MTP), which gives it better control over what is shared with the host.
Alas, MTP is not particularly well supported in Linux; there is a
FUSE-based mtpfs module, but it failed to function properly on your
editor's system. The best approach seems to be to use an application that
has libmtp support built into it; nautilus, for example, is able to move
files to and from the phone with relatively little trouble.
There is, as it turns out, a whole series of applications out there aimed
at making it easier to move files back and forth. Most of them set up some
sort of web server on the device that can then be accessed from elsewhere
on the net; some have fairly slick JavaScript-based browser interfaces.
These applications also must be given full access to the entire device, and
one must trust that they will let only the intended user into the device.
One of them demanded the ability to access location data, which was a bit
disconcerting: it certainly does not need that information to carry out its
intended task. Linux-based users may be most at home with an application like
SSHDroid,
which runs an SSH server accessible in the usual ways.
There are some other nice 4.0 features worth a quick note. It includes a
reasonably advanced mechanism for controlling and limiting wireless data
use that can, among other things, monitor and clamp the usage of specific
applications. Internet telephony with SIP is a native Android feature now,
but, in a move clearly intended to mollify carriers, the handset will not
do SIP calls unless a WiFi network is available. Android can now use
dm-crypt to encrypt all the storage on the device; an encrypted phone
requires a password at power-on or it will not be able to function. Those
curious about the details of how whole-phone encryption works on Android
can find some information on this
page.
One other thing one notices quickly with the 4.0 release is the presence of
a number of user interface features that, previously, were only available
with CyanogenMod. The ability to tweak the color of the notification LED,
more home screens, the configurable "favorite applications" bar at the
bottom of the home screen, and the ability to go straight to an application
from the lock screen—though the latter is limited to the camera on official
Android—are examples. CyanogenMod may not have any sort of special path
into official Android, but it seems clear that Google's developers are
paying attention to what CyanogenMod is doing. That is not how a typical
open source system might work, but it's far better than nothing.
On the other hand, other CyanogenMod features are still very much missing.
Your editor misses the configurable "power bar" widget, for example.
CyanogenMod allows the application directory to be displayed more densely,
even on the Nexus One's smaller screen. The CyanogenMod camera application
is superior to what Android offers, though, it must be admitted, the new
panorama mode in the 4.0 camera application is kind of fun. And, of
course, Android just does not offer the sort of configurability provided by
CyanogenMod.
The good news is that, of course, there is a version of CyanogenMod 9
in the works for the Galaxy Nexus. Experimenting with the CM9 nightly
builds has not yet begun in the LWN laboratories; it seemed worthwhile to
get a good sense for stock Android 4.0 first. But the truth of the
matter is that one does not truly appreciate a shiny new gadget until one
has attempted to brick it. So stay tuned for a look at CM9 on this device
sometime in the near future.
In the meantime, it is clear that the development of the Android platform
continues at a fast pace. It has become visibly slicker and more capable
over a relatively short period of time. For better or for worse, Android
represents a highly successful combination of fully free software,
corporate-controlled open source, and fully proprietary code. The result
may not be quite the 100% free device that we would like, but it has led
to a series of nicely shiny toys with a lot of hackability, which is not an
entirely bad result.
(
Log in to post comments)