By Jonathan Corbet
September 4, 2013
There was a period where it appeared that the smartphone industry would be
dominated by closed products and non-free software. Android has done a lot
to change that situation; it is now possible to own a hackable device that
runs mostly free software. But it would be nice to have some viable
alternatives, preferably even more free and more Linux-like. Among the
many would-be
contenders for the title of leading alternative, Firefox OS offers a
special appeal. It is, after all, a Linux-based system built by an
organization that has a history of looking out for the interests of its
users. So when the opportunity came along to try out Firefox OS on real
hardware, your editor did not hesitate for long.
The ZTE Open
The device in question is the ZTE Open, a Firefox OS
handset that can be had for a mere $80. That is a low price for a
smartphone, but it is consistent with Mozilla's apparent strategy of
targeting the cheaper end of the market. Cheap is nice, but, as one might
expect, some severe compromises had to be made to arrive at that price.
The phone uses an oldish Qualcomm MSM7225A processor with only 256MB of
memory. The camera offers a two-megapixel sensor, which is low by
contemporary standards. Internal storage is minimal, but the phone comes
with a 4GB MicroSD card.
Visually, the device is smaller than many current devices. It is also
bright orange; it looks a lot like a Nexus One that has been outfitted for
hunting season. The 480x320 HVGA screen is decidedly low-resolution by
current standards. As one might expect, the device is often slow to
respond, especially when switching between applications. Perhaps most
annoying, though, is that the touchscreen itself is often unresponsive.
Using the Firefox OS on-screen keyboard can be a slow and painful
experience.
The Firefox OS interface has not changed a great deal since this review was written at the end of last
year. The annoying three-step process (hit the power button, swipe upward,
tap the "unlock" icon) to unlock the screen is still
necessary. Swiping toward the left on the home screen yields a list of
installed applications, while swiping to the right yields a list of
installable application categories. Strangely, many of the categories are
not initially visible on that
screen. Instead, one must hit the "more" button to see the full list of
categories; only
thereafter is it possible to see which applications can be found therein.
There is a reasonably long list of available applications, but relatively
few that would be familiar to iOS or Android users.
Application installation is a matter of holding a finger down on the
relevant icon. Since applications are all web-based, though, there is no
real need to install them unless one wants to run one offline or have the
icon in a handy
place. There is a
permissions model for applications, but that is all
hidden from the user; for the most part, users are supposed to rely on the
maintainers of the application "marketplace" to ensure that malicious
applications are not made available. The one exception is for location
data; the system will ask the user before allowing an application to access
the user's current location.
There is a basic email client that, unfortunately, could not be tested,
since it refuses to deal with mail servers that have self-signed
certificates. The web browser is Firefox, of course; it works as
expected. There is a basic mapping tool (using "HERE") that can generate driving
directions; there is no turn-by-turn navigation available, though. As an
added "benefit," the maps include location-based advertisements. Weather
information is available through an Accuweather app; there is also a basic
calendaring tool. The contact manager can import data from Facebook, but
not from other sources (Google, for example).
At the interface level, one of the most striking decisions is the complete
absence of a "back" button. The result is that one often seems to end up
in some application-specific dead end, with no recourse other than to hit
the "home" button and drop out entirely. Getting rid of "back" may make
application development easier, but the result seems to be less friendly
for the user.
The home button will, if held down, produce a scrollable screen showing the
currently
running applications. The user can then switch to one of those
applications; there is an option to close running applications as well.
This screen is supposed to show a thumbnail with the current screen
contents of each app, but those thumbnails are often blank for some
reason.
All told, the ZTE Open is reminiscent in many ways of the first Android
phones. It is slow, somewhat buggy, and the functionality is not up to
what the market leaders provide. Whether Firefox OS will yet turn out
to be a
disruptive technology like Android was remains to be seen.
Under the hood
One does not need to look too hard at Firefox OS to realize that its
developers have taken advantage of a lot of free infrastructure from
Android. The kernel on the ZTE Open is an Android-derived, bleeding-edge
3.0.8 model, with wakelocks and all. Services like binder are running.
The Android USB debugging protocol is supported, so tools like adb
and fastboot can be used in the usual manner (though there is an update that should be applied for
fastboot use). Much of the
graphics subsystem is built on the Android "gralloc" API as well. All
told, Firefox OS has benefited strongly from the availability of the
Android code as a base to build on.
There appears to be no available terminal emulator application for Firefox
OS. But one can, naturally, get a shell on the device by plugging it into
a USB port and running adb shell. The shell environment is
based on BusyBox and is rudimentary — but not worse than what one
encounters on an Android device. It is also an unprivileged
shell; there does not appear to be any way to gain root access short of
exploiting a vulnerability — or installing a new version of the operating
system.
In the limited time available your editor was unable to succeed in the
latter task — replacing the operating system. There is extensive
documentation on how this should be done on the Mozilla web site, and
it is a simple matter of patience to download the 12GB "source" tree
("source" being in quotes because it includes things like a binary
cross compiler, video files, and more). The actual build process requires
that the phone be
connected so that a number of binary files can be copied off of it; these
(proprietary) files are needed to build a replacement image.
Thereafter the build fails (in an equal manner on Ubuntu, Debian, and
Fedora boxes) after a long list of warnings. Somewhat discouraging.
Perhaps this particular problem is a temporary setback resulting from the
state of the source tree when this build was attempted. But it's clear
that, like building Android, making a new Firefox OS image is not a
task for the faint of heart. Should this system take off, future users are
far more likely to exercise their freedoms once a CyanogenMod-like project
comes along to take care of a lot of the details.
Conclusion
But will Firefox OS take off? It is hard to see the system, as
demonstrated by the ZTE Open, displacing Android anytime soon. It is
too slow, too rough-edged, and lacking too many third-party applications.
Most people with access to a recent Android-based handset are likely to
stick with that rather than shift over to Firefox OS.
But the world is full of people without access to such a handset. Mozilla
seems to be making a play for the attention of many of those people by
going after the low end of the market. After all, $80 will not buy a
particularly satisfying Android device either; it is hard to imagine
Android running on hardware like the ZTE Open in any kind of pleasing way.
Perhaps Firefox OS will find a place running on low-end devices; by
the time the system matures (and it does appear to be developing quickly),
there might just be an established user base for it.
Working with this device reminded your editor of a scene from Charlie
Stross's classic Accelerando:
Amber clutches the phone like a lifesaver: It's a cheap disposable
cereal-packet item, and the cardboard is already softening in her
sweaty grip.
If we can envision an era where cardboard telephones can be obtained
from a box of cereal, it is not much of a stretch to think about those
phones running a relatively undemanding system like Firefox OS.
Meanwhile, though, Firefox OS hopes for a place on the plastic devices that
we use now. Anybody wanting to experiment with the system can build it for
a number of current devices, including most recent "Nexus" phones. If
enough developers do that and start taking the system in interesting
directions, if more applications appear, and if people actually buy
Firefox OS devices, it may well develop to a point where it is a realistic
competitor to the more established mobile operating systems. Another free
Linux-based mobile system would be a good thing, so one can only wish Mozilla
luck as it pursues that goal.
(
Log in to post comments)