May 15, 2007

Nokia's maemo 3.1 update is an incremental improvement

Author: Nathan Willis

Nokia has released the first software update for its N800 Internet tablets. Officially dubbed Internet Tablet OS 2007 Edition version 3.2007.10-7, it corresponds to the maemo 3.1 platform. The update fixes several performance and stability problems in the 3.0 release that shipped with the tablet at launch, and offers a few improved features.

The most highly publicized improvement in this firmware is the speedup to video and Flash performance. The N800 received poor marks for its Flash video frame rate upon its release, particularly on YouTube video content. The new firmware achieves better frame rates than its predecessor, but it remains noticeably jittery, and can get out of sync with audio in only a few seconds. It still supports only Flash 7 and earlier.

Maemo 3.1 also brings stability improvements to the Opera Web browser. With the original firmware Opera would crash almost hourly; since the update I have not experienced any crashes. Bluetooth pairing is noticeably faster as well.

The 3.1 update notably does not include kernel patches to enable support for Secure Digital High Capacity (SDHC) memory cards, an oft-requested feature. However, it is possible to use the command-line flasher utility to upload just a new kernel image (something the Windows GUI upgrader evidently cannot do). Users who need SDHC support can monitor the mailing lists for the latest news. Until Nokia releases its own patched kernel, Philip Langdale's patched kernels are the next best thing.

Flashing your N800

Updates to the tablet OS are provided as firmware images that must be flashed to a device over a USB link. Instructions at the maemo community wiki guide users through the process. Nokia supplies flasher utilities for Macs and Linux computers.

The current Linux flasher is version 3.0, a tiny command-line tool for which regular Intel x86, statically linked Intel x86, and AMD64 binaries are provided. To download the 87MB N800 firmware image you must enter a valid tablet serial number.

Once you have both the flasher and the new firmware image, flashing the tablet involves connecting it to the PC while it's powered off, executing the flasher command as root, then powering on the device while holding down the Home key. When the new image is uploaded, the flasher utility on the PC exits.

According to the wiki, the tablet will then reboot itself automatically. That did not happen in my case, but upon power-cycling I found that the update had gone through without incident. Flashing the device rewrites all onboard storage, meaning that you lose all extra software you have installed, and wipe all data not stored on memory cards.

Nokia released several new applications for the N800 that -- while not part of the operating system itself -- are new to the platform. The first is a camera app that allows you to use the tablet's retractable video camera to snap still photos. Don't call National Geographic just yet, though; the 640x480 resolution might make for decent video call headshots, but it won't win any awards. Nokia opted out of including this app in the original feature set, but responded to calls from tablet owners and released it.

Far more useful is the FM radio tuner app. It requires the use of the wired headset for an antenna, but its reception and tuning are excellent.

The original manual, Web site, and press materials for the tablet made no mention of the N800's built-in radio tuner. Enterprising hardware hackers discovered it when they disassembled the device and examined its internals. The FM app makes you wonder what else is hidden inside that case that might make its way into future apps. The disassembly linked to above also reveals unused features such as a USB power management chip (which could be used to provide USB host functionality).

RealNetworks' Rhapsody player is another recent addition. As is the case with Rhapsody on other platforms, a subscription is required to take full advantage of the service, but the maemo version comes with a pain-free 30-day trial. On first launch, Rhapsody asks if you want to use the free trial or an existing account. If you choose the free trial, it is set up for you automatically: no entering personal details, no registration of email addresses. I found the sound quality over a wireless LAN was excellent, as expected.

While it is not as flashy as Rhapsody, my favorite addition to maemo is the webmail checker applet. It runs in the system notification area, is preconfigured for Gmail, and actually works.

Still room for improvement

I missed the chance to publish a review of the original N800 firmware due to a hardware failure in my device. As I go back over my notes now, I see several of my criticisms have been addressed in the firmware upgrade, but a few still deserve attention.

Opera screenshot; click to enlarge.
Minimo screenshot; click to enlarge.

Even overlooking the still-problematic Flash plugin, the N800 Web browser is still subpar: slow to load pages, bad at rendering AJAX sites, and sometimes freezing up and silently failing to execute scripts. In the key application on an Internet Tablet, that kind of performance is unacceptable. One of Nokia's justifications for not including PIM-style applications is that people keep their calendars and email online now. If that is true, then you need a reliable browser to access them, and Opera does not cut it. Consider the adjoining screenshots; they show Opera's rendering of Google Calendar alongside that of Minimo, a Mozilla-based browser for mobile devices. Minimo is an unsupported port of code written for Windows Mobile devices. Gmail does not even recognize Minimo as capable of rendering its "standard" view, but it is still faster and less error-prone than Opera. Unfortunately, there does not seem to be a simple way to replace Opera with Minimo as the default browser.

That is one of a handful of odd quirks about the operating system itself. Former Newton developer Sean Luke wrote an in-depth analysis of this kind of thing; some of it is particular to look-and-feel issues, but I agree with some of his comments about the OS's design choices. For instance, why can we not add additional launchers to the left-hand quick launch panel? There is plenty of space.

Along those lines, I wish maemo included a multiprotocol chat client instead of one limited to Google Talk. The tablet's persistent "presence" tracking of your contacts is a great idea in theory: any time you bring up a contact in your address book, you can launch an IM or SIP call to him instantly. But let's be realistic: what portion of the IM market does Google Talk own? Perhaps you and I feel closed networks like AIM are evil, but we don't get to make that decision for anyone else.

And it isn't merely that the tablet's contact manager only looks for Google Talk accounts in your contacts' identities -- it does not even offer fields for other IM account information. Despite Nokia's insistence that its maemo devices are not PDAs, if you are going to offer a contact manager, you are obligated to do it right. That means being flexible about the data, as well as allowing for some sort of synchronization.

I understand Nokia's desire to partner with the likes of Adobe, Google, and Opera on application software -- there are both financial and marketing dimensions -- but I don't think that that approach improves the device. Last year, Nokia wrote its own free software Web browser based on WebKit for use on its Symbian S60 phones. It beats Opera Mobile hands-down; I wish it had been selected as the browser for the N800.

Open source citizenry and Nokia

Aside from the handful of application-bundling deals, Nokia continues to make commendable progress towards open source. After initially declaring that its 770 tablet would not receive further OS upgrades, Nokia received vocal complaints -- many from open source developers. In response, Nokia's open source chief Ari Jaaksi announced that the company would continue to develop maemo on the 770.

The fruit of that labor is the maemo "hacker edition" IT OS 2007: an ongoing, not-commercially-supported backport of the N800's software for the 770. Full compatibility is not possible -- both devices incorporate licensed commercial components, which cannot be mixed. Some of these components are licensed by Nokia solely for one device or the other (e.g., Opera), and for others, the hardware in the newer device is different enough that the code is incompatible (namely the digital signal processor that enables media playback).

On the surface, the incompatibilities between IT OS 2006 and IT OS 2007 and between the N800 and the 770 (even with the "hacker edition" operating system) sound like a bad thing. Certainly it inconveniences the developer community, demanding that developers test on two targets, that the app library maintains separate status data for both OSes, and that repository maintainers run separate repositories for each platform.

On the other hand, the distinction between the hardware devices does force a separation between the device and the platform. Prior to the launch of the N800, it was commonplace to see users and developers use "maemo" and "770" interchangeably. Subsequently, there is no such conflation. It is still confusing how many different product names spill out of this one project -- maemo is the platform, IT OS 2006 and IT OS 2007 are the operating systems, Hildon is the framework, Mistral and Bora are the releases, Sardine is the release of the platform, and so on -- but the result is that maemo as a platform is growing.

Just as importantly, as it reorganized the site this month, Nokia also took steps to draw clearer lines between the company's commercial involvement and its contributions as a community member. All Nokia-sponsored software for maemo tablets -- including the official firmware releases and individual applications -- are now hosted at the domain.

Parts of maemo remain proprietary, a fact that draws criticism from purists. But Nokia has shown willingness to listen to the open source community, even (as was the case with "hacker edition" IT OS 2007) when it has no financial reward for doing so. That better demonstrates an understanding of the principles behind open source development than, say, a refusal to ship a closed source handwriting recognition component.

Maemo 3.1 is incrementally better than maemo 3.0, but the investments that the company has made in growing the developer community are better still. I secretly harbor the suspicion that -- despite public denials -- at least some thinkers inside Nokia view maemo as a potential replacement for Symbian on its mobile phone lines. If so, they are laying good groundwork.

Click Here!