The N9: what MeeGo could have been

LWN.net needs you! Without subscribers, LWN would simply not exist. Please consider signing up for a subscription and helping to keep LWN publishing

There is value in whining at times. At a recent conference, your editor complained that he had been unable to get a sense for what MeeGo is really like since nobody had ever sent him an N9 handset. Some time thereafter, a shiny blue N9 showed up on the doorstep courtesy of the kind folks at Nokia. What follows are various impressions from playing with this new toy; your editor, normally an Android user, has found a lot to both like and dislike in this seemingly doomed smartphone platform.

The N9 is an attractive device, only slightly larger than a Nexus One. The spouse, upon handling it, complained about the rather sharp corners - but proved reluctant to hand the device back anyway. The corners do stand out in an age when everything is supposed to be rounded, and they can dig into the palm slightly, but it's all a matter of taste. The handset's specifications are reasonably standard for this vintage of device; there is a 1GHz processor, 1GB of RAM, and 16GB of storage. In a welcome change from previous Nokia devices, the N9 uses a standard micro-USB connector instead of something special Nokia made up for that specific handset. The camera is quite nice; there is also a front-facing camera, though the built-in Skype client is unable to use it. By all appearances, the handset is sealed forevermore; replacing the battery does not appear to be an option.

Android users will have likely gotten used to that environment's home screen which can be populated (especially with CyanogenMod builds) with a wide variety of application launchers, contact shortcuts, active widgets, and more. The N9 MeeGo experience is somewhat different, in that there are three specialized home screens with limited potential for customization. The first of these is the familiar matrix of icons providing access to applications on the phone. Users can rearrange the icons (including putting them into subfolders), but there is no way to put anything other than application launchers on this screen.

It is also possible to remove applications via this screen. Dishearteningly, one quickly learns that, as with many Android builds, some applications have been rendered immortal and unremovable. Your editor has little use for Facebook or Twitter applications, but they cannot be made to go away. The best that can be done is to move them to a folder where, at least, they can be kept out of sight.

The second "home" screen (accessible via a left or right swipe across the screen) shows the running applications in a 2x2 grid. Their current screens are visible, and specific applications can be killed if desired. As one might expect, tapping on an application's screen brings it back to the foreground. The third screen is a notification area; messages, weather information, and the latest urgent Twitter spam will show up here.

Annoyingly, none of the home screens rotate when the phone is held in the landscape orientation. Applications handle rotation without trouble, but the home screens appear to be special.

The applications shipped with the phone are generally attractive and nice to use - though sometimes they seem to get into dead end screens where a "back" button would be nice to have. There is a mapping and navigation application that works nicely and comes with suitably annoying voices in a wide range of languages. The camera application is feature-rich and responsive. There is a central account manager that organizes access credentials; interestingly, it can hook into Google, but not for contact information. Getting access to contacts will be one of the first things a former Android user will want to do; fortunately it is possible by telling the phone that Google is an Exchange server. WiFi tethering is built into the phone but "forbidden" for US users; fortunately, one can install the "SpotOn" application to get around that bit of obnoxiousness.

On the other hand, the web browser makes one wish for the Android equivalent. Android's browser has a "fit page to screen" option that does a nice job of rendering the interesting part of a web page in an optimally readable form; the MeeGo browser, instead, just mashes the entire page, unreadably, onto the screen, requiring zoom-in gestures and side-to-side scrolling for almost every page that has not been specifically designed for small screens. That Android feature, arguably, is on its own responsible for the fact that nobody at LWN has found the time to make a more mobile-friendly version of the site; the N9 has made it clear that not everybody has as good an experience.

The MeeGo on-screen keyboard, while being entirely functional, is also not as nice as the Android equivalent. There appears to be no built-in spelling correction or word prediction, making typing a longer and more error-prone process. That is one of the bigger shortcomings of this system. Typing on keyboard-less handsets is a painful enough procedure even with a top-quality on-screen keyboard; this is not the place for a second-rate solution. (Correction: there is a simple prediction mechanism that only seems to appear some of the time; it is better than nothing, but doesn't change the main point of this paragraph).

There is, naturally, an applications store full of things to add on to an N9. A number of important programs are there, and, inevitably, the handset comes with Angry Birds already installed. The range of available applications falls far short of that found in the Android store, though. That is far from surprising; given that MeeGo was a lame-duck platform from the beginning, there will be little motivation for developers to put any time into supporting it.

Inside the device

The MeeGo system is a far more Linux-like environment than Android provides. A terminal application comes preinstalled on the device; it works well enough for what it is, but the truth of the matter is that trying to do command-line work with an on-screen keyboard is always going to be painful. Fortunately, there's an easier way. If one puts the device into developer mode (a simple menu tweak) and plugs it into a computer's USB port, the device offers to connect in "SDK mode." In that mode, it presents as a network interface; there is even a built-in DHCP server so the computer side of the connection gets configured automatically. After that, it's just a matter of using SSH to obtain a shell on the handset. Unlike Android handsets, the N9 has Busybox on it from the start, so the shell is actually reasonably usable.

For the most part, the phone environment feels like Linux. There is, however, no functioning su command; one is, instead, supposed to use devel-su . The result is a shell that claims to be root, but all it takes is a find command run from the top of the filesystem to see that root is not all-powerful on this system. There are certain things that one still cannot access or change. This behavior is the result of the MeeGo security framework in action. Through a combination of trusted computing techniques and mandatory access control, Nokia keeps the device locked down at a certain level. It wouldn't do, after all, to let those pesky users have direct access to the media files that they think they bought on their handset.

Of course, keeping the users away is not the only motivation for the security framework; it is also intended to prevent applications from acting against the users' interests. Applications are installed with "resource tokens" describing the actions they are allowed to carry out; they include the ability to query location information, access the camera, make calls, etc. Superficially it looks a lot like the Android permissions mechanism, but the implementation appears to be wired more deeply in at the kernel level.

Notably, the application installer does not expose resource tokens to the user, so there is no way to know what types of access a given application will have - a major difference from Android. One suspects that most Android users never look at the list of requested permissions, but a subset of us tend to examine them closely indeed. The inability to know what access has been granted to an application seems like a major shortcoming. That will be doubly true anywhere outside of a strict walled-garden application repository; on this system, applications from outside Nokia's store, if they can be installed at all, can only have a restricted set of permissions. But, restricted or not, the user should have the chance to review the permissions requested by an application.

What if you want to bypass the mandatory access control and truly have full access to the device? The answer would appear to be a tool called INCEPTION. It allows the installation of applications with full privilege; one can also disable the security framework altogether. Your editor has not had the time to play with this tool, but it appears to be the ticket for those who are eager to void their warranties and reach for full control of the handset.

Perhaps a true measure of the freedom of a piece of hardware is the existence of independent operating system distributions for it. In the Android world, there is CyanogenMod along with a long list of less well-known, often more dubious, "mods." For the N9 the alternatives on offer are somewhat more restricted, but those who are truly adventurous can give NemoN9 a try. Nemo is the current incarnation of the "Mer" project; it is trying to continue the development of the MeeGo framework as an independent effort. Unfortunately, activity in this project seems to have slowed considerably, though it is still producing regular releases and its use in the upcoming Vivaldi tablet may spur development in the future. What releases Nemo has made have not found their way over to NemoN9, though, which was last updated in November, 2011.

The end of the line

Your editor has often said in the past that MeeGo could become a credible challenger to Android and a strong force in the mobile world in general. After some hands-on experience with a MeeGo device, that impression has not changed. MeeGo provides a polished and pleasant user experience. It falls short of current Android releases in some ways, but it is much nicer to use than the early Android-based devices were. With a bit of work, MeeGo could have been a truly competitive - and more community-friendly - alternative. The fact that things did not turn out that way is a sad comment on the state of the market and the management of certain companies.

The good news is that the developers who worked on this system are out there; many of them are still employed at Nokia. MeeGo may even see some further development for devices other than handsets. But the sad fact is that Nokia has placed its bets on a proprietary operating system with uncertain prospects in the mobile market. If that bet does not work out as hoped, Nokia may yet rediscover the high-quality, free-software alternative at its disposal. Then, perhaps, we'll see a new attempt to put MeeGo-based handsets on the market. For now, though, the N9 has all the look of a solid, sleek and polished platform with no future. In truth, it deserved better than that.

