May 10, 2006

Linux-powered Nokia 770 handheld applications

Author: Rob Reilly

Most organizations aren't ready to migrate to a wireless, network-centric, thin hardware, server/client model, which makes the Nokia 770 Internet Tablet a bit ahead of its time. This handheld device has a basic browser, email client, and multimedia player, but the real beauty of this Linux-based system is its ability to expand its functionality by installing a limited but growing list of applications.

Nokia has financed a platform known as Maemo that users can modify and configure easily to suit their needs. With the 770 hardware and the Maemo development environment, we have a promising setup that fits right in with the open source way of life.

Several categories of programs run on the 770. Already loaded on the device at the factory are a slim version of the popular Opera Web browser, an audio player, a video player, a news reader, an email client, and various assorted desktop support tools are all part of the default offering.

A second category includes mature programs that have been ported over from other platforms, but which are not included in the default production build. These include a VNC viewer/server, an FTP client, an X terminal server, an IRC client, numerous games, and a large collection of system-related tools. Some of these programs have pseudo-familiar GUIs, while others run from the command line. Note that the default production build hides much of the system-level operation of the device and keeps the user in the desktop GUI model.

A third category includes programs that are in active development, but may not be quite ready for prime time. They include Asterisk, rdesktop, kismet, J-Pilot, and Tcl/Tk. There are also several "planned" and "wishlist" applications, but they are vaporware at this point. As of this writing, there were 103 programs listed in the mature software category, and 73 in the active development category.

Download, install, and enjoy

You can start the factory installed applications by clicking on icons on the little Nokia desktop. Opening the Web browser is an excellent way to begin the quick process of loading additional applications. Once the browser starts, select one of the category links (as outlined above) to see a list of available programs. Find a program you'd like to install, then click on its link to start the download process. Nokia uses the Debian packaging system for software installation to minimize dependency difficulties.

The .deb file name will be displayed in the file download window. Click the Open button to complete the download process and start the installer. Click the OK button in the install package window to finish the installation process.

Trying out the new application is a snap, too. Newly installed programs are found under the main application menu icon (looks like two sheets of paper close together) and the extras tab. The application menu icon is analogous to the big "K" button found on the KDE desktop. Click the appropriate menu item to run the program.

If you are interested in command-line programs, you should download xterm first, install your chosen program, then run the application from the command prompt.

How do they work?

I tried out a few of the traditional tools that a Linux user might be interested in.

xterm: The xterm window popped up on the screen, just as on my trusty AMD/SUSE-powered laptop. ls gave a listing of the files in the current directory, while df gave a listing of the mounted file systems. Want to view a text file? cat was right there. I could cd up and down the directory tree.

du ran great too, except that I couldn't exit out of the endless listing. Since I had no Ctrl-C, the resultant listing continued on for several minutes. Using the -h option spit out the directory usage in megabytes. Typing du -help gave the familiar terse command usage.

vncviewer: After starting the desktop sharing on my AMD Athlon 64 laptop running SUSE 10.0 and KDE, I ran the vncviewer program under the Extras tab. Almost immediately, I could see my laptop display by entering my VNC password in the little pop-up window.

There was a noticeable time lag while the screen repainted after each laptop mouse move. The 770 has a 200MHz ARM processor, so it is a little under-powered for this type of work. I also had to do a lot of scrolling around to see everything, because the 770 has an 800x480 screen and my laptop's is 1280x800.

Ogg Vorbis Player: The 770 comes with an MP3 player, but nothing for Ogg files. The Ogg Vorbis player allows you to play these files once they have been downloaded to the 770. I downloaded several from my Web server and put them in the audio folder. Sound quality was fine on the built-in speaker, although a little low on volume. Listening with earbuds worked very well.

I was a little disappointed that I couldn't play a file from a Samba or network shared drive, but the 770 porting effort is pretty young. Perhaps that feature will show up in later versions.

What's next?

Judging from the number of current extra packages available, it looks like there's a fair amount of developer interest in the 770 platform. Downloading the binaries is easy and painless.

Past attempts to market Linux-based handheld computers have not been very successful, a prime example being the Sharp Zaurus. The 770 may do better, because Nokia has funded the tool-up for the hardware and set up a development environment that encourages experimentation and customization. Companies and vendors that want to leverage handheld, wirelessly-networked, server/client technology should definitely be interested in the 770.

Rob Reilly is a consultant, trend spotter, and writer. He specializes in Linux and open source portable computing and presentation technology integration.