News Archive (1999-2012) | 2013-current at LinuxGizmos | Current Tech News Portal |    About   

Article: A hacker’s-eye view of Nokia’s N800 Internet Tablet

Feb 6, 2007 — by LinuxDevices Staff — from the LinuxDevices Archive — 1 views

Foreword: This detailed, hands-on review examines Nokia's Linux-based N800 Internet Tablet first as a consumer electronics device, and then as a platform for open source software development. Reviewer Jerry Epplin infuses the review with crotchety humor and deeply technical insights.


A hacker's-eye view of Nokia's N800 Internet Tablet

by Jerry Epplin

Spread the word:
digg this story

Nokia recently released the N800 Internet Tablet, a successor to the 770, which has been available for over a year. The basic concept is similar to that of the 770 — it is a handheld device usable for most Internet-based tasks. Nokia has done well in promoting the release of the N800, resulting in numerous favorable user-oriented reviews already having been published. This particular review will address some of the same user issues but also will focus on the device itself, as well as on the N800 as a platform for custom applications.

Initial impressions

The N800 has a beautiful 800×480 display showing 64K colors on a screen approximately 10.5 cm diagonally. The goal was to achieve a screen size large enough to display web pages in essentially the same way as they are on a laptop or desktop computer. Anyone who has attempted to navigate the web on a cellphone or PDA, with their severely limited dimensions resulting in a quite different experience, will appreciate Nokia's efforts on this front.

Somewhat surprisingly to me, Nokia has largely succeeded in this endeavor. Web pages appear essentially as they are intended, without the distortions resulting from reformatting and excessive scrolling. Input with the stylus or your finger is well thought out and intuitive, while the display has excellent resolution and nice colors.

Of course, when you shrink your fifteen-inch laptop display down to four inches something has to give, and in the case of the N800, it is font size. The 800×480 pixels provide clear resolution right down to the tiny default character sizes, and if your eyes are good you will have no problem. Personally, my aging eyes found the experience a bit tiring, driving home the need for reading glasses. In any case, a larger font can be chosen, but I found that most web pages soon displayed in a suboptimal way, and the experience was hardly more pleasant than web surfing on a cellphone.

This dilemma points out the fundamental tradeoffs Nokia faced in designing the N800. They wanted a handheld device, and most certainly succeeded with this design — it fits comfortably in the left hand, and though heavy enough to feel substantial, it is not heavy enough to induce fatigue during use. There are navigation buttons on the left side of the unit, and one quickly learns how to navigate using only these buttons — thus I found it was entirely possible to use the unit with only the left hand.

A stylus is provided for those who find button-based navigation cumbersome. It is docked on the right side of the unit, so the intended mode of use is obviously to hold the unit in the left hand while using the stylus in the right. Due to the left-based buttons and the right-based stylus, then, the unit is ideally laid out for a weakly right-handed, almost ambidextrous, person such as myself. But someone who is uncomfortable either using the left thumb for button manipulation or the right hand for stylus use will have to make some adjustments. Also, the left-side buttons are a bit small, even for my smallish thumb.


Comparison of the N800 (top) and 770 (below) tablets, front and rear
(Click each image to enlarge)

The small size of the buttons appears to be due to the placement of the display in the center of the unit, which in turn is apparently due to the remarkable presence of stereo speakers, one on each side of the unit's face. Absent the right speaker, the display could have been placed further to the right (as indeed it is on the 770), allowing for slightly larger buttons on the left.

Why Nokia felt they needed to provide a handheld device — which will usually be used with headphones — with stereo speakers is a mystery to me. In any case, the tiny speakers actually sound quite nice, though I cannot imagine many N800 customers actually using them for any application requiring good sound quality. Personally, I find the presence of stereo speakers on laptops quite amusing enough.

We then return to the problem of the market segment Nokia is addressing with the N800. As I have mentioned, the unit is well suited to handheld use, but its display verges on being too small. Besides its handheld use, the N800 can also be used in a limited desktop mode, as it has a nicely designed integrated stand that positions it at an angle on a desktop, and it can be used with a Bluetooth keyboard. Thus, it is possible to imagine taking notes at a meeting using the N800 with one of the fold-up Bluetooth keyboards that have become available, but whether such an arrangement is more convenient than simply using a laptop is debatable.

As a consumer product, then, the N800 finds itself in a slightly awkward market position. Most people will find it too large to carry in one's pocket or purse like a cellphone, but it is also arguably a bit too small for comfortable long-term use. Some users will, of course, disagree. Judging from some of the rather bulky cellphones I have seen people use, not everyone is deterred by this factor. Similarly, someone with especially sharp eyesight may be able to use the N800 comfortably for hours at a time. Perhaps the intersection of these two groups — and with the group of those willing to spend $400 for the device — is large enough to justify the product development.

The overall quality of the N800 hardware seems excellent. The components fit with good tolerance. All buttons are firm, with good tactile feedback. The integrated stand has detents for selecting the angle at which the unit rests on the desktop. As mentioned, the screen is beautiful and the speaker quality is good. The only piece that detracts slightly from the overall feeling of quality is the back battery access cover, which allows a small amount of transverse movement. But it is clear that Linux-based handheld devices have come a long way in overall product quality from some of the early efforts — this is a serious mass market consumer product, as one would expect from Nokia.

The provided software environment on the N800 is well thought out and discoverable for the new user. My two children, coming from an era of Game Boys and XBoxes, were instantly comfortable, and even I was able to begin using it within a few minutes. I will leave the details of the user interface to the many bloggers who have already covered it in detail. Suffice to say that the N800 will have you surfing the web and accessing your music collection exactly as intended with a minimum of head scratching. I found the environment to be generally stable, but did encounter one mysterious crash during normal operation.

Setting up the unit is also an admirably well thought out process. The “Connection manager” discovered and connected to my Bluetooth-enabled cellphone smoothly. Connection to several different WiFi access points was also accomplished without a hitch.

Hacker's-eye view

But these user-oriented details are of less interest to LinuxDevices.com readers than the core capabilities of the unit and the prospects for modifying it for custom applications.

The processor and memory specifications for the N800 are fairly run-of-the-mill for a handheld device: 320 MHz ARM processor, 128 MB RAM, 256 MB flash, with two SD card slots supporting cards up to 2 GB. Success with 4 GB cards has been reported despite the published limits. As mentioned, the screen is about four inches, displaying sixteen bit color. For connectivity, 802.11 b and g are supported, as are Bluetooth 2.0 and USB 2.0. It has a cute web camera that pops out of the left edge of the unit and can be directed either outward or toward the user. The battery is a 1500 mAh unit — I found its performance to be quite good.

On the whole, then, the specs are adequate to support a wide variety of applications with acceptable performance. And indeed I found that the software environment provides quite good responsiveness for the applications provided.

We turn, then, to the software development environment, maemo. For those familiar with Qtopia, maemo is perhaps described most easily by analogy to that system. Qtopia is based on Qtopia Core, an adaptation of the Qt toolkit to a handheld environment. Similarly, maemo is based upon Hildon, which adapts GTK+ to handhelds. Maemo, then, is the entire environment built upon Hildon, in a way similar to Qtopia, which is the entire “palmtop environment” built upon Qtopia Core. Also in a way similar to Qtopia, maemo provides a simulated handheld environment executed on your x86-based PC, so that applications can be developed without the inconvenience of flashing the target device until the software is near completion.


Maemo's N-series tablet simulator running on a PC
(Click to enlarge)

Maemo is about as good an example of a consumer product manufacturer developing an electronic device using open-source tools and resources as you will find. It uses open-source components and tools wherever possible, and Nokia has sponsored some significant enhancements to such components as their products have needed them. The maemo cross-development model is based on Scratchbox, a project created by Movial and sponsored by Nokia. The kernel is Linux, currently at 2.6.18. The Hildon framework is based on GTK+. SDL and GStreamer are used for some game and multimedia functionality. And so on.

By all appearances, Nokia has genuinely “got it” regarding how to use and contribute to open source projects. I encourage you to read the excellent article, “Building consumer products with open source,” by Ari Jaaksi of Nokia, on their philosophy of and experience with the subject as regards maemo. Nokia was able to use many components unmodified, they contributed some minor enhancements, and sponsored some major efforts as needed. They also seem to have genuinely understood the fundamental advantage of using open-source components that are not held hostage to some third party's ever-changing priorities. This is exactly how commercial open-source based product development should proceed. We will see this model more and more as companies see the competitive advantages that the open source model provides.

A manufacturer must, of course, not only “get it” but follow through with execution. In the case of a customizable consumer product such as the N800, Nokia seeks not only to provide a product that has the desired features, performance, and reliability, but also to stimulate an active developer community to create new applications. This need sets the N800 and previous Linux-based consumer platforms such as the Sharp Zaurus apart from, say, a Linux-based router, for which third-party software development is at best a minor requirement.

On developer support, Nokia's record is also quite good, especially compared to some other efforts. This applies particularly to the area of documentation. The maemo site has some of the best developer documents of any open source project I've seen, and in some ways approaches the quality of documentation for the best proprietary products. Nokia has provided everything from executive summaries and whitepapers down to HOWTOs for mundane tasks like flashing the unit, with useful tutorials along the way. Naturally, there are limits to how all-encompassing a document set for a predominantly open-source software stack can be — Nokia cannot be expected to provide professionally written documentation for every component it uses — but they have succeeded in tying together the experience nearly as well as can be expected. Anyone with some experience in software development in Linux and Gtk+ should be working productively in a short period of time.

Besides producing documents, Nokia has done the other things necessary to run an open source project. A maemo developers mailing list is in place, with active participation by Nokia developers. This list currently has almost too much activity for the average developer to tolerate (try the list digest), but this is common for high-profile new handhelds and can be expected to settle down after the initial N800 buzz dies down. Also, a surprisingly helpful N800 wiki is in place, and is used as wikis are intended; i.e., as a supplement to, not a replacement for, real documentation. Finally, maemo has a “garage,” a SourceForge-like site for hosting third-party projects.

Meanwhile, the software development environment itself, though well documented, still had some rough spots when I tried it out. Some parts of the installation process produced voluminous errors and warnings, requiring some effort to sort out the real issues from the false warnings, and one required some manual steps to be performed when automatic installation failed. To be sure, a project pulling together many separate components is hard to get right, so this can perhaps be forgiven. In any case, in a little over an hour I got the environment installed and running correctly on my Debian-based laptop, so one cannot complain much, but less experienced users would undoubtedly find the experience disconcerting.

Regarding licensing, the N800 contains a mix of open and closed software. Purists can quibble with this decision, and even non-purists will question certain licensing decisions that were made. Some hardware drivers, such as for the WiFi interface driver, are proprietary, as are some multimedia components for handling proprietary codecs.

These choices are perhaps defensible in light of the necessity to choose the most appropriate components and to handle those multimedia formats users expect to be supported. However, the decision to keep the bootloader and other low-level components proprietary is harder to explain in those terms and is perhaps motivated more by the standard proprietary software canards, i.e.: opening the source will give competitors an advantage; the software works as is and users should never need to change it; enabling users to change it could allow them to get themselves in trouble; and so on. One can only conclude that Nokia would like to steer developers in the direction of only writing new applications, rather than inconveniently mucking around too much in the canned environment they have provided. LinuxDevices.com readers are unlikely to have much patience with this philosophy, and will certainly at least find sorting through the “license soup” irritating.

Still, within the fairly broad parameters they have defined, Nokia has provided a rich development environment; and, they demonstrate a nearly complete understanding of the open-source software development model.

All in all, the N800, while not a major advancement over their previous generation product, is a well designed device and should do well in the market segment it targets.


About the author: Jerry Epplin lives and develops software in St. Louis, Missouri. His eyesight isn't really all that bad.


 
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.



Comments are closed.