A First Look at the Nokia 770
Our Senior Editor gives a high five to Nokia's hot new palm-sized Linux-based Internet Tablet
_________________________________________________
In November the long-awaited Nokia 770 Internet Tablet hit the stores, first in Europe and then in the U.S., where it promptly sold out at a retail price of $350. When we posted a mini-review of a pre-release unit on the Linux Journal website, we quickly got dozens of comments, some of which were very helpful in writing this first-look review.

The 770 is a radical departure for Nokia, mostly because it isn't a phone. Nor is it based on Symbian, the mobile device OS co-created by Nokia and running in zillions of Nokia devices. Instead the 770 is a palm-sized tablet PC running on Linux.
It's small, (5.5" x 3.1" x 0.7"), light, and features a crisp 4.3" (800 x 480) 16-bit color screen. That means it crams a lot of detail in an area that requires easy zooming. For that the 770 provides both soft and hard buttons. Another hard button zooms the browser window to full screen. You can enter text (typically, URLs) with a stylus on the virtual keyboard or in hand-written letters that the 770 recognizes easily. You can also connect self-powered devices via bluetooth or USB. It has no hard drive, though you can attach one by USB.
While I haven't tested it in a formal way, I am impressed with the 770's battery life as well. It sleeps quickly, which helps. But it also wakes just as quickly, which is a must for a portable device like this.
The easiest way to connect to the Net is through WiFi. The 770 tells you the names, signal strengths and open/locked (WEP'd) statuses of each signal, and makes it easy to override whatever choices the 770 makes on its own. It also supports WPA encryption (thanks, we are told, to Samuel Ortiz, a Linux kernel engineer who works for Nokia). Getting it up and going on the Net is so easy that my 9-year-old son (who is not a computer whiz -- at least not yet) figured it out in a matter of seconds. He also figured out many of the unit's other fun features.
My own favorite is the 770's Internet radio. Many Web-based radio stations (e.g. RadioParadise.com, KCRW.com, SmoothJazz.com, WEMU.org, WNYC.org and WUNC.org) publish their streams' IP addresses as page links. Clicking on the .mp3 stream links brings up a radio/audio player that pumps out excellent audio through a speaker or a standard 3.5mm stereo plug port. I've used it to drive headphones and home audio systems for several weeks now. It has essentially become our first-choice Internet radio.
Memorizing streams is less than obvious. I've figured most of it out, though I still don't know if I can get any of my own favorites to join or replace the three Virgin Radio streams defaulted as the only choices in the application.
The video performance (using a Real viewer) is also remarkably good. I've taken to watching the BBC's "News in Three Minutes" at news.bbc.co.uk.
The radio and video app are just two of the first few that come with the unit. Other base apps include a browser (Opera 8 -- yes, with popup blocking), v6 Flash player, an email client, the a news reader, audio and video players, image viewer, PDF viewer and file manager. The OS is called Internet Tablet 2005. It's upgradeable. At this writing the 2006 edition is expected (and may be out by the time you read this) and will support additional services, including VoIP and instant messaging.
The 770's cpu is a ~220Mhz OMAP 1710 powered by an ARM9 core. Memory is 64Mb DDR RAM, expandable through an RS-MMC (Reduced Size MultiMediCard), or through full-size SD cards.
There's a development site, maemo.org, with an active and highly useful wiki that should fill your need for deep data about the product, while equipping you to develop for it too.
In . Many of these were answered by email exchanges with Nokia folks. I'll condense them into this Q&A:
What kernel version do you use?
We take the kernel directly from kernel.org, but we use e.g. Debian package management to create our own "internal distro"
And what desktop (Gnome, presumably)?
Gnome, yes. We've created our own widget set to provide the 770 look-and-feel. We call that the Hildon widget set. It is based on the GTK+ toolkit which is an integral part of Gnome and it is all open sourced. (see. eg. http://www.maemo.org/community/hildon_ui.html)
What were the design considerations for those?
For the kernel / distro:
We want to stay current with the Linux community. We want to benefit fully from the open source development happening there. For that reason we want to diretcly follow the latest kernel releases, and we activly submit our contributions back to open source. We are very active in kernel's OMAP tree, for example. That gives us the most efficient way of working: use the latest, work with the community directly, and submit you changes back ASAP ==> speed, quality, cost benefits.
A commercial distro vendor between us and the Linux community would slow us down, would be more expensive, and would prevent us to immediately benefit form the work we do with the communities. Also, such vendor would possibly control the tools, versions, and partners we want to use. Also, we have many issues that an external distro vendor could not solve, such as adaptation of Nokia specific hardware and Linux.
Working with the communities directly is the way to go for us!
For the UI:
We wanted to create a consumer device utilizing genuine open source(Gnome) and Nokia's expertise on UI design. Gnome is genuinley open source, doesn't include any one single company's control, and allows e.g. developers and companies to work with free open source components and tools. Gnome is the leading desktop environment -- thus an abvious choice for us. Also, the Gnome community has been extermly supportive and helped us significantly to get things done! They've been really a part of our 770 team!
As for the UI, we wanted to create a consumer device that in easy and intuitve to use. We follow so-called task oriented design principle. Thus, instead of harrassing users with a huge number of options and possibilities we wanted to present the most used features (browsing, email) in a very accessible way. Instead of a swiss army knife, we created a focused product. Our UI reflects that. 770 is not your general purpose PC or PDA. It is a consumer device --a tablet-- that lets user to get online (surf and do email) regardles of the time and space. The UI supports that fully and makes that extremely easy for the user.
How closely did Nokia work with Linux developers on the product?
As close as you can. We've been an integral part of the Gnome community, we've got many Debian developers on our payroll, we submit our code back a lot, etc! So this is truly an open source effort. Examples of the collaboration include e.g. GNOME component work (gconf, D-BUS, gnome-vfs, GTK+, Gazpacho . . .) with Mikael Hallendal, Anders Carlson, Richard Hult, Michael Natterer Matchbox, X.org, GTK+ with Matthew Allum, Ross Burton, Richard Purdie GStreamer with Christian Schaller, Wim Taymans and others GPE palmtop with Nils Faerber and Florian Boor and others etc.
As an "embedded" use of Linux, what parts (modules) of the kernel, if any, were left out?
We have not left anything significant out. This is a "desktop product" much more than an "embedded product", really.
Is there an easy way to get to terminal mode? How? This is very important for my readership, which is mostly Linux experts who will want to work in the command line.
We decided NOT to put a terminal into the device because it is really a consumer device -- we do not expect soccer moms want to deal with the command line interface ;-). However, anybody can go to the http://maemo.org/maemowiki/ApplicationCatalog and download and easilly instal an XTerm into 770. By the way, www.maemo.org is our development platform that offers tools for developer to work on 770. We provide tools, documentation, example apps, wiki, discussion mailing lists, support, source code and even e developer root file system so that you can really hack your way through 770 if you want.
What is the story for external keyboards?
Once again, for the most of the target audience an external keyboard is a bit -- awkward. So we do not have a support for it built in -- but as with the XTerm, if you need one you can have one through the maemo.org developer site. The kb plug in was developed independently and is not a Nokia feature as such. However, if people really like it we may integrate it with the device software in the future. Let' see ... and that goes for other apps and plug-ins, too.
What is the Audio Player? Real? Helix?
As a multimedia framework we use GStreamer. As formats we support Audio: MP3, MPEG4-AAC, WAV, AMR, MP2; and Video: MPEG1, MPEG4, Real Video, H.263, AVI, 3GP.. So we have a Real player, too. And Flash, of course.
In Date/Time, is there a way to get the device to set through an Internet Time server, or site?
Not in this software release. By the way, which leads to an important topic -- unlike phones, 770 is software upgradeable. So there will be now software versions coming and customers can upgrade their software. The new versions may have some of the features you proposed... but it will include VoIP and instant messaging for sure.
If that dialog doesn't encourage you, perhaps Greg Kroah-Hartman will. Greg is the driver subsystems maintainer for the Linux kernel and one of the most prolific contributors to the kernel itself. In November he wrote this in his blog:
My first reaction was like everyone else's, "Damm, that's a nice screen." After playing around with it this week more, I'm really hooked. It handles streaming internet music just fine, replacing my laptop for this task. And putting a ripped DVD on the memory card, makes the kids happy to watch the Jack-Jack-Attack short film over and over.
But it goes deeper than that. It's actually a useful web browser. I can successfully read different news sites just fine, all from a tiny little device with a very good battery life (at least compared to my laptop).
Combine that with a very active development community already (Nokia was smart in seeding it with devices, very wise move) I think this will be one platform that will be worth watching for some time. The number of applications will only grow and get better. It's already fun to use a xterm on the thing.
Now to wait for the kernel source tree for it to be released so I can get to tweaking on it, and figure out why they are using my pl2303 driver when I don't see a serial output anywhere...
I not only expect the 770 to be a hot product, but to open a hot new device category as well.
- Doc Searls
[Note: Here's a directory of images. If we need me to shoot more, let me know and give me directions.]