LWN.net Logo

Playing with the N800

Your editor recently decided to pick up a Nokia N800 tablet device. This acquisition wasn't just another case of yielding to the lure of a new gadget - your editor would never do that. Instead, the hope was that the N800 would be useful as a way of getting onto the net and dealing with simple situations without having to haul the laptop everywhere. Besides, such a device is always good for an article or two, at a cost that isn't that much above buying an article from an outside author.

Besides, it's a cool new gadget.

The N800 is, naturally, a Linux-powered device. It has an 800x480 screen, two speakers, and a pop-out camera. There's a headphone jack, a USB port, and two SD memory slots. The device can communicate wirelessly via 802.11 or Bluetooth. Also provided is a stylus which is used for most interaction [N800] with the device; there is a built-in storage slot for the stylus which should help to prevent loss, but it's still nice that Nokia thought to provide a spare as well.

On the connectivity side, the N800 developers have done some nice work. On the first boot, the tablet offers to pair with a Bluetooth-capable phone and set up a GPRS connection automatically. Anybody who has been through the process of setting up a Bluetooth/GPRS link on a Linux system knows that there can be a certain amount of pain involved - and that's before trying to get any real work done over such a painfully slow connection. Having GPRS Just Work is a nice bonus. The tablet also handles WiFi connections easily.

After that, however, a new N800 user might well feel at a bit of a loss. The startup screen includes a Google search bar (the usage of which is entirely straightforward), an RSS reader window with no subscribed feeds, a contact manager window (with no contacts, obviously), and a "Discover Tableteer" window which, when "tapped," opens a web browser on a remarkably static and unhelpful Nokia page. Digging through the menus yields a simple email client. Anybody expecting something that feels like a normal Linux system will be disappointed; there's not a whole lot else there. That can be changed, of course; we'll get to application installation shortly.

The tablet comes packaged with a user's manual, in PDF format, in a large number of languages. The user will not encounter this manual until he or she happens to fire up the file manager and look in the right place, however. The "Discover Tableteer" window does not do much to help a beginning user find this useful document.

Text entry is done through a keyboard which appears at the bottom of the screen; individual letters are approximately 2mm square. In practice, the letters are not hard to hit, and, with a bit of practice, one gets good at entering text quickly. Learning the simple gestures to minimize trips to the shift keys helps a lot. There is another mode where the keyboard expands to fill most of the screen; in this mode, the stylus can be put aside and text can be typed directly with the fingers. It works, and can be nice for extended text input, but your fat-fingered editor had a hard time using it as a real QWERTY keyboard. Finally, the tablet does support handwriting recognition, but your editor has not really had a chance to play with that mode yet.

The web browser is the proprietary Opera application. It works reasonably well for the most part, making good use of the limited display space. Your editor has found it to be not entirely stable; it occasionally hangs and must be restarted. Dragging Google maps around does not work. Pages generally render well, though; the browser is good enough for the sort of work one would want to do on a small tablet device.

Your editor tried the Minimo browser as well. It does not seem to render pages as nicely as Opera, based on some quick tests. It is also far less stable; your editor managed to crash it almost immediately. Still, Minimo will stay on the system in the hope that it gets better; your editor would much prefer to run free software on this system.

There is an application manager which can be used to install more software onto the tablet. The bad news is that it has little to offer out of the box. The good news is that one can go to maemo.org to look for a rather wider variety of software goodies for the device. The bad news is that the majority of those applications, as of this writing, say "missing install" and cannot actually be installed onto a tablet. The good news is that there's still quite a few useful tools available. In short order, your editor was able to equip his tablet with essential utilities like xterm and an ssh client.

The really bad news showed up with some of the other interesting packages, such as vim and gnumeric. The application manager will happily download the packages before popping up a window which says:

Unable to install: some application packages required for the installation are missing.

Such a message would perhaps have been acceptable ten years ago on some distributions. One would not expect to see it on a Debian-based system in 2007. There is no excuse for an "application manager" which is unable to handle dependencies anymore.

The N800 includes a (proprietary) Flash player and a media player as well. As many others have noted, the tablet comes well equipped to handle patent-encumbered formats like MP3 but it cannot play an Ogg file. One can make an argument for minimizing the size of the base system on a resource-limited tablet, but there's no easy way to fill in that gap afterward either. It would appear that installing an Ogg player, at this point in time, would involve downloading the development kit and building the application from source.

In general, the N800 feels a little like an unfinished product. Nokia has created a nice piece of hardware, based (mostly) on free software, and appears to be hoping that the development community will help turn it into a fully capable device. The company's practice of selling tablets to developers at a sharply-reduced price is clearly intended to help make this happen. One can only hope that Nokia succeeds here; the company has done what we really need it to do: made a open, Linux-based device. We certainly have the ability to make it do interesting things from here.


(Log in to post comments)

Playing with the N800

Posted Mar 22, 2007 1:19 UTC (Thu) by daniels (subscriber, #16193) [Link]

<em>Such a message would perhaps have been acceptable ten years ago on some distributions. One would not expect to see it on a Debian-based system in 2007. There is no excuse for an "application manager" which is unable to handle dependencies anymore.</em>

The application manager handles dependencies just fine, which is why it shows that message. Unfortunately, the repositories can be, um, tricky. For me, I discovered I only had the bora-extras repository, but needed to add bora as well.

(Disclaimer: I work for Nokia on the N800, but have no particular insight into why this is.)

Playing with the N800

Posted Mar 22, 2007 1:51 UTC (Thu) by JoeBuck (subscriber, #2330) [Link]

Nope. "Handling dependencies just fine" means automatically downloading the depended-on packages, like apt-get does, as well as making sure that package repositories are complete and consistent. Messages indicating missing dependencies are bugs, either in the software or in the package repository.

Playing with the N800

Posted Mar 22, 2007 2:12 UTC (Thu) by daniels (subscriber, #16193) [Link]

Nope. "Handling dependencies just fine" means automatically downloading the depended-on packages, like apt-get does

The application manager does exactly this.

as well as making sure that package repositories are complete and consistent.

How exactly should an application running on a random user's device fix bugs in a package repository run by Nokia?

Messages indicating missing dependencies are bugs, either in the software or in the package repository.

Bingo. As I said above, the repository seems to have some issues.

Playing with the N800

Posted Mar 22, 2007 11:54 UTC (Thu) by broonie (subscriber, #7078) [Link]

I believe that the application manager on the N800 is actually an apt front end. As you say, buggy repository and/or repository adding instructions.

Playing with the N800

Posted Mar 22, 2007 14:26 UTC (Thu) by humberto (guest, #70) [Link]

Yes, the package system uses debs, and apt-get works. The problem is when an app depends on a package that isn't in the default repositories.

The .install files have a work around, you can list several "required repositories", and the package system should be able to pull in all the dependencies.

Searching through the maemo wiki should help find installation instructions for many of the multiple-repository packages, while the .install files get written.

Playing with the N800

Posted Mar 22, 2007 22:49 UTC (Thu) by mgedmin (subscriber, #34497) [Link]

Ah, no. The .install files in the current version can only specify one repository. And that's the problem: apparently vim and gnumeric need some dependencies from some other repository (most likely repository.maemo.org with or without extras).

That's a big shame, especially when such problems are not noticed when testing .install files on tables that already have those extra repositories configured. (I created the vim and gnumeric .install files, and they Worked On My Tablets.)

The solution, I suppose, is to abandon this repository mess and upload all packages to a single repository (Maemo Extras is the obvious candidate).

An alternative solution is to wait for a new OS2007 update with the new .install file format that allows one to specify more than one repository. I don't think this one is as good, because some users will not upgrade their OS, and some developers will not notice that some dependencies come from a different package.

Playing with the N800

Posted Mar 22, 2007 5:24 UTC (Thu) by JohnNilsson (guest, #41242) [Link]

The N800 includes a (proprietary) Flash player and a media player as well.

Isn't that a GPL violation? (Assuming that the player can be seen "as part of a whole which is a work based on the Program" (GNU/Linux))

Playing with the N800

Posted Mar 22, 2007 5:59 UTC (Thu) by tetromino (subscriber, #33846) [Link]

> Isn't that a GPL violation?

No.

Quoth the GPL:
>In addition, mere aggregation of another work not based on the Program
>with the Program (or with a work based on the Program) on a volume of
>a storage or distribution medium does not bring the other work under
>the scope of this License.

Playing with the N800

Posted Mar 22, 2007 6:04 UTC (Thu) by JohnNilsson (guest, #41242) [Link]

I don't thing this device is "a volume of a storage or distribution medium". It has a purpose besides distribution.

Compare it to the Kororaa Project [1]

[1] http://kororaa.org/static.php?page=gpl

Playing with the N800

Posted Mar 22, 2007 9:07 UTC (Thu) by anselm (subscriber, #2796) [Link]

Great. So put the flash player package on an SD card that comes with the
device, and have the user install it himself.

Anselm

Playing with the N800

Posted Mar 22, 2007 10:49 UTC (Thu) by gouyou (guest, #30290) [Link]

So most of the Linux PC sold with a distribution including non free software wouldn't be compliant ... That's pushing it far.

The Kororaa article talks about kernel drivers, not software depending in no way to GPL software.

Playing with the N800

Posted Mar 22, 2007 17:40 UTC (Thu) by jeskritt (guest, #4092) [Link]

I recently got a N800 as well. using info from http://www.internettablettalk.com/ forums I had no problem setting up some 3rd party repos. once set up you can turn the tablet into a more traditional seeming linux platform. plus I never get a dependency issue.

Also I like using a bluetooth keyboard with the tablet if I'm doing anymore then casual web browsing. I really like the stoaway ( http://www.expansys.ca/p.aspx?i=113674 )

btw maemo-mapper is a really nice app even without a gps unit.

Playing with the N800

Posted Mar 22, 2007 17:44 UTC (Thu) by jeskritt (guest, #4092) [Link]

oh and you might want to google for the red pill/blue pill easter egg in the app manager. I forget how to do it off the top of my head, but it gives you better access to the package management.

Playing with the N800

Posted Mar 22, 2007 18:02 UTC (Thu) by dwa (subscriber, #24604) [Link]

Have you attempted playing any videos off of SD cards, e.g. MPEG4? I'm *very* curious how well it would perform at that...

Playing with the N800

Posted Mar 22, 2007 19:30 UTC (Thu) by caitlinbestler (guest, #32532) [Link]

My biggest disapointment with the N800 is that getting started with building your own code is a *far* more complex process than for Linux in general or for MacOS X. In particular I cannot understand why they cannot have a simple cross-compiler and a simple events library to deal with the touchscreen.

"Open" device

Posted Mar 22, 2007 20:01 UTC (Thu) by mrfredsmoothie (subscriber, #3100) [Link]

Jon, I'm disappointed: this article doesn't live up to your usual standards of journalism or free software advocacy, IMO.

The truth is, this is a _somewhat_ open device, as there are a bunch of undocumented and/or proprietary hardware and software components without which the device doesn't function to its full capabilities (in areas as basic as power management) and which the wider developer community is not _easily_ empowered to fix (to be fair, some Nokia employees such as Igor Stoppa have helpfully tried to drop unofficial hints on the maemo-dev mailing lists to try to make that easier, but it's nothing compared to having full source and documentation).

Furthermore, one of your pet bugbears, abandoned hardware, has happened already on the N800's progenitor! Nokia has abandoned the Nokia 770 as far as official OS images goes (again, to be fair, they have released a compatibility version of the latest Internet Tablet OS for _developers_, primarily so those who don't have N800s can use their N770s to develop N800-compatible apps).

I wish you had used LWN's high profile (and my subscription $) to raise these issues in your article.

"Open" device

Posted Mar 23, 2007 22:32 UTC (Fri) by net_bh (guest, #28735) [Link]

There we go about closed power management again. It has been clarified plenty of times that _ALL_ of the power management code is in the kernel and open sourced! The closed code only controls display backlight ON/OFF/dim states.

Although I won't claim that it is easy for developers to roll their own rootfs currently, it is fairly trivial to figure out what the closed components do and write replacements if somebody was that motivated. Just spreading misinformation is not going to get Nokia to open that code in a hurry. It will happen when it will happen, if it will happen.

/Amit

"Open" device

Posted Mar 23, 2007 23:46 UTC (Fri) by mrfredsmoothie (subscriber, #3100) [Link]

Right. It has been clarified in the form of various comments in diverse threads scattered across maemo-dev and maemo-users, _some_ of which contained such gems as "I cannot say more about it for legal reasons that hopefully will be removed in a near future, but if you are willing to take a friendly advice, all you need is right under your nose."

I said in my post that Igor and other Nokia employees have tried to be helpful to the extent that they are allowed.

However, I subscribe to _this_ site for news about and advocacy of Free Software, and I would like it if reviews about a device advertized by its manufacturer as a "Linux-based" device informed readers prior to shelling out $450 or so that they might not want to assume that means they can, say, modify all of the software or build a fully equivalent environment from the sources and information provided (without basically reverse engineering a bunch of things).

Pretty radical, I know.

"Open" device

Posted Mar 27, 2007 11:31 UTC (Tue) by net_bh (guest, #28735) [Link]

>I would like it if reviews about a device advertized by its manufacturer as >a "Linux-based" device informed readers prior to shelling out $450 or so >that they might not want to assume that means they can, say, modify all of >the software or build a fully equivalent environment from the sources and >information provided (without basically reverse engineering a bunch of >things).

This is based on your assumption that every device that runs Linux (the kernel) somehow has to have the whole stack (userspace+middleware+kernel) open sourced. I am not sure there are many devices and software stacks out in the market that allow that. Openmoko is probably the first such attempt.

I am not questioning your wanting the whole stack open-sourced. But implying that Nokia is misleading people into believing that is the case is a stretch of imagination.

"Open" device

Posted Mar 27, 2007 14:02 UTC (Tue) by mrfredsmoothie (subscriber, #3100) [Link]

You are correct, however, IMHO my assumption is not such a stretch, particularly given the fanfare that accompanied the announcement of the device initially.

Copyright © 2007, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds