Linux on the Nokia 770 Internet Tabletby John Littler
The Nokia 770 is an internet tablet designed to connect to the internet with 802.11b/g WLAN or through a phone with Bluetooth. It has a nice 800 x 480 screen (64k colors) and quite a few apps on board. The underlying OS is the Debian GNU/Linux derivative, BusyBox. As it stands, the device is not a phone.
The day after my 770 arrived, I read a review in the Washington Post where the guy really didn't like the unit at all. I like it a lot, so I thought about his reasons. My conclusion is that the reviewer is a Windows guy. As such, he would have been less likely to find the other wonderful stuff that's floating around for the 770. In any case, quite a few people have been working on the 770, which richens the experience considerably.
Out of the box, the 770 does quite a few things, including being a music and video player. The official lineup of software includes:
Web Browser, Flash Player version 6, Email Client, Internet Radio, News Reader, Media players, Image viewer, PDF viewer, File Manager, Search, Calculator, World Clock, Notes, Sketch, Games including chess, mahjong, and marbles.
It is pretty nice to sit in your most comfy chair and browse the web with a nice light object that doesn't have to sit in your lap (and fry it as some laptops do). The screen is a good size, although the pleasures might be a bit site-dependant in that if the reading columns are wide you will have to scroll sideways. Actually, that's a gotcha. In the menu under "View," click "Optimized view." This will rearrange the pages to avoid sideways scrolling, even if you increase the font size. The standard font size is small but readable. You can make the fonts larger with a simple button push. The screen is sharp as well, which helps.
It's worth saying a little about the music player. The 770 is a little bigger than an iPod and quite suitable for taking along a limited playlist. For storage, the unit uses Reduced Size MMC and 1GB models available. If you're one of those people with 30,000 MP3s or Ogg Vorbis songs, you can't take the whole song collection. Since you have to select tunes or playlists on the screen, playlists are the best playing mode. Set the screen lock, chuck it your bag, and it will play to the end of the playlist.
You have a choice of a screen keyboard or handwriting recognition. Some people have commented on the slow speed and inaccuracy of the handwriting recognition, but the speed can be set, and when it's on the fastest setting you really have to zip. I found the accuracy to be mostly okay. If you only use this device to enter URLs in the browser or to write short emails, it doesn't present too much of a problem. If you want to do more, there is a lot of help at hand.
That's enough of the technical stuff. Here's the fun part (see Figure 1).
Figure 1. Doom on the Nokia 770.
Because the 770 has been out for a few months there's plenty of porting activity already. Nokia set up maemo.org as the official headquarters. The site has a Nokia 770 Application Catalog that lists what's currently available.
What can you get for your "phone?" Several flavors of XTerm, editors including Vim, Joe, Midnight Commander, some Wi-Fi tools, telnet and FTP clients, and a whole lot more, including ... Doom! This plays pretty well actually and the big wide screen (for a handheld) makes it quite an attractive proposition.
To install new software on the 770, first download the deb package. Then connect the 770 by its USB cable and transfer the files to the RSMMC on the 770. Open the control panel on the 770, choose Install Programs, and away you go.
After you've done that, you may notice that you can't immediately launch apps by typing commands into the console (see Figure 2). This is because the new programs go into the directory /var/lib/install/usr/bin. To fix the problem, make a .profile file and add that path. I use:
export LD_LIBRARY_PATH=/var/lib/install/usr/lib:$LD_LIBRARY_PATH export PATH=/var/lib/install/usr/bin:$PATH
Figure 2. Browsing the Nokia 770 Filesystem.
At that point you might find that you can't write the .profile file. This is because you're at / by default. Go to /home/user, create the file, and you'll be fine.
Getting root (necessary for some tools) isn't all that straightforward. Fortunately, there are two possibilities: How Do I Become Root on the Nokia 770 and How to obtain root in Nokia 770 - the easy way.
The File Manager application only shows files in your /home/user/MyDocs, directory, your RS-MMC card and on Bluetooth-paired devices. However, there are several workarounds.
For simple viewing/browsing all files, just open the web browser and set the URL to /usr/ or similar. Then navigate around as much as you like.
To unlock the full capabilities of the built-in file manager, create a symbolic link. Open X Terminal Emulator and create a link into MyDocs directory:
$ cd ~/MyDocs ln -s / Root
Root will then appear in the File manager, in Midnight Commander, or whichever shell you prefer.
Change the Logo and Sounds
The big Nokia logo you see on startup comes from the file /usr/share/icons/hicolor/scalable/hildon/qgn_indi_startup_nokia_logo.png. The Nokia hands live at /usr/share/icons/hicolor/scalable/hildon/qgn_indi_nokia_hands.png. The Nokia tunes are in /usr/share/sounds. Replace the files as you like.
(The file manager and logo hacks came from mobile analysis and development's Nokia 770 page.)
The stock data entry methods for the 770 are quite adequate for minimal typing, but the first long email will send you looking for alternatives. The first option is a Bluetooth keyboard. Nokia makes one but apparently, any HID Bluetooth keyboard will do (except HP's Bluetooth keyboard, which doesn't work). A driver is available from Maemo.org and it's pretty much as simple as downloading, installing, and activating it from the menu bar at the top of the screen.
Maybe you'd like something a bit bigger or less expensive since the Bluetooth keyboards generally seem to have a fair price premium. A great hack by Thoughtfix enables the USB port so that you can use an ordinary (or maybe a slightly compact) USB keyboard. The problem here is that the USB port on the 770 doesn't supply power and won't act as a host. You can fix the second part with a simple download and a command ( see Karoliina's Nokia 770 dev howto ) but the other part requires the use of some cables, a battery, a voltage regulator, and a little time putting them together. Thoughtfix has project details in USB power "injector" for USB host mode.
Bleb.org has a hack on using nicer CSS for Wikipedia. The default skin contains a long left-hand column, however by using a Wikipedia account, you can change the skin to one more suited to a device such as the 770.
Hacks of the Near Future
When the news of the 770 first came out, a lot of people said, "Wi-Fi? How about a VoIP client?" As it happens, Nokia might have had these thoughts at the design stage, since there's an inactivated facility for audio input on the current unit. Very recently, they announced a software upgrade that will include a VoIP client.
In the words of Nokia's Ari Virtanen:
The Internet Tablet OS 2006 edition features pre-installed Google Talk and Jabber compatibility for Instant Messaging as well as Google Talk compatibility for Internet calling. This will give Nokia Internet Tablet users the power to instantly communicate with people, both through instant messaging and Voice over IP.
There will also be a built-in Google search facility and support for SIP-based VoIP solutions, which will allow users to make and receive calls from public telephone networks.
Nokia's Nokia 770 Internet Tablet page allows you to sign up for notifications of this upgrade. I also recommend subscribing to Bleb.org's feed of new 770 applications for more information on ports as they come out.
There's a lot more to come for this great little unit. Nokia shows signs of having a clue in shepherding the 770 on its way both in marketing and the way developers have been encouraged, for example they've made an SDK available and have an open source GUI. If you feel like doing some coding or porting, maemo.org is the place to go. Interestingly too, the Windows-only tools that exist for Symbian now have Linux and Mac OS X ports for this Linux-based unit.
There's plenty more to come here!
Late News: Nokia has just released OS 2006 for the 770. It is available for Windows at Nokia's 770 support page. For Linux and Mac OS X flashers and OS 2006 go to maemo.org.
Return to the Linux DevCenter.