Linux DevCenter    
 Published on Linux DevCenter (http://www.linuxdevcenter.com/)
 See this if you're having trouble printing code examples


Why Run Free Software on a PDA?

by Guylhem Aznar
01/29/2004

The Zaurus is the most popular and the most impressive Linux PDA. It sells for less than Palms, and a lot of people are watching it because of its potential. This article will try to explain that potential.

The upcoming version, called the SL6000, should be a breakthrough for the Zaurus. It features the famous C7xx crystal-clear screen, and is both Wifi- and Bluetooth-enabled. It also has a built-in, foldable keyboard in a form factor very much like the old SL5xxx series. Moreover, unlike the C7xx clamshell series, it is also expected to be sold outside of Japan.

But the Zaurus is only one example — Motorola's V760 Smartphone is running the same software: a Linux kernel and a QTopia desktop. Now that more and more people are familiar with the idea of a GNU/Linux PDA, you may wonder why free software on a PDA may be important to you as a consumer or a manufacturer, and why the choice of a full, free software solution is progressing on the end-user devices market.

The software solution takes a standard kernel, a very basic distribution, and a graphical user interface running directly on the framebuffer. The commercial version is called "Qtopia", and "OPIE", which was initially a fork from Qtopia, is the name given the more advanced, free software version. The hardware solutions rely on a StrongARM CPU and various added peripherals — MMC, keyboard, big or small screens, and so on.

As we will see, there are many different answers to the question, "Why free software?"

The most important are portability, standardization, sustainability, and flexibility.

Portability

Whether they're developing on Symbian, Palm, or Windows CE, developers face three kinds of restrictions: hardware based, software based, and license based. For example, you cannot consider adapting PalmOS to an unusual device and modifying the software without purchasing a very expensive license.

Learning Lab TigerLinux/Unix System Administration Certification -- Would you like to polish your system administration skills online and receive credit from the University of Illinois? Learn how to administer Linux/Unix systems and gain real experience with a root access account. The four-course series covers the Unix file system, networking, Unix services, and scripting. It's all at the O'Reilly Learning Lab.

The Simpad provides a shocking counter example. Built and sold by Siemens, initially for 1,500 EUR, the Simpad features excellent hardware capabilities such as seven hours of battery life, an excellent TFT screen lit, PCMCIA, USB, IRDA, Smartcard and serial connections, and a microphone and speaker. However, it was poorly served by the Windows CE operating system with which it shipped.

The arrival of Tablet PCs, which offered i386-compatible CPUs — where the Simpad provided only a StrongARM CPU — may also be a reason why it became a commercial failure. It now runs GNU/Linux and sells for around 400 EUR on ebay.de.

The Linux on a Siemens Simpad porting effort, initiated by a team of hackers with some help from Siemens engineers who worked on the Simpad, now provides ready-to-flash ROM images. They bring new life to this device, as it can now serve as a web pad, a PDA, an ebook reader, a VOIP phone, or a digital photobook. It will certainly become the European equivalent of the Apple Newton, gathering a crowd of fans who will keep developing for it even after it has been pulled from the market.

Yet unlike the Newton, these fans will be able to improve upon the open operating system, and applications created from the Simpad, which will also be portable to other hardware. You can, for example, run the software on a Zaurus, provided it does not use fixed-screen-size widgets. The reverse is also true and much more interesting — running Zaurus software on the Simpad means there will be an unlimited supply of new software. Check the Zaurus software index if you need some proof!

Unification

It is possible to run Zaurus software on the Zaurus, as long as it has been carefully coded to manage different screen resolutions. (The Zaurus SL5xxx provides 240 by 320; the C7xx 640 by 480; and the Simpad 800 by 600.) Therefore, just like PC softare, you can run your software on whatever Linux handheld hardware you have!

The only real limitation — the Zaurus is libc- and glibc-based — can be easily overcome by a recompilation or an additional installation: the kernel and either OPIE or Qtopia are completely compatible. Interestingly, you can do the same with commercial Zaurus software. If you have purchased a Zaurus SL 5xxx, you have a license to run its commercial software. When you drop your 5xxx, what about running this software on your new free software handheld?

I run Opera 6 on the Simpad and it is a pleasure. I much prefer it to Konqueror, and it lets me use the Simpad like a real web pad. We have it by the bedside, where we can use it for casual browsing, webmail reading, photo album viewing, and so forth.

All it takes to install commercial software is a double click on a .ipk file. There's no complication of any kind — if the seller provided a .ipk repository, you can simply fill the fields of the software manager on the Simpad to retrieve software lists automatically, and install new versions when they become available.

This is already the case with free software available from the OpenZaurus project: click on "update list", click on the tickbox near the name of the software you want, click on install, and voilà, you are now loaded with everything you need, provided you have an Internet connection.

No other handheld I know of offers such an easy installation of software packages. The OPIE team got it right when they thought software installation should be easy: it is a pleasure to use it, and the efficient GUI tools make it faster than the command-line-based tool.

Standardization

The software standardization opens opportunities currently lacking on desktop GNU/Linux systems. It's possible to create, package, and sell an application under a .ipk that can be installed on any OPIE device — a Zaurus, a Simpad, or some upcoming smartphone — you name it. If loaded with a StrongARM CPU, as is the case with most handhelds, you can just ship the same binaries!

If a different CPU is introduced at some point, you only need to cross compile your application and repackage it in an .ipk with a different name. While this is not a complicated process, it's very unlikely due to the popularity of the StrongARM CPU. Did I also mention that porting KDE desktop applications is very easy, since Qtopia is Qt based?

Yet the standardization has its own failures, mainly due to the KDE/GNOME schiism. This "one binary for all" method cannot work with Samsung/GMATE's Yopy, since it uses the Gnome Portable Environment, or GPE.

While the Yopy is the only known commercial device selling with GPE, it can also be flashed to Zauruses and iPaqs. Yet the low availability of GPE-capable devices means no company can make a living selling GPE applications at the moment (some, like Hancom, offer GPE and Qtopia versions of their office suite). Likewise, the free software developer community around GPE is not large.

The only thing I like about GPE is its speed — it's somehow faster and more responsive than OPIE, even if the latter has been improving recently.

Regardless, OPIE on a StrongARM is the way to go at the moment. The odds are playing against GPE. Only one device ships with GPE by default, and few applications (whether free software or commercial applications) are available.

Sustainability

Anyone purchasing a PDA should think about the future. How safe is your data? What will you do when you get used to some applications and discover your newer PDA can't run them?

This is especially true for Palms and Pocket PCs. Anyone migrating from PalmOS 4 to PalmOS 5 knows what I mean; many applications just won't start. If you are lucky, you can download a new version that runs on PalmOS 5. If you aren't, forget your beloved application. What if you have purchased ebooks? Simpad owners were disappointed when Microsoft decided to stop supporting its ebook reader on its now-outdated Windows CE.

Such problems do not exist with free software. Not only do you have the source code for free software applications, which means you can port them yourself or pay someone to do it, but OPIE maintainers do their best to ensure compatibility with Qtopia.

Downward compatibility is a great add-on, but the lack of DRM or "broken formats" is even better. If you have purchased any ebooks for your Palm or your Pocket PC, I hope your ebook reader will be able to read them in the future. This means on new hardware with a new OS, because eventually, you will have to purchase another PDA.

Flexibility

This is just a flexibility problem. There's little interest for any Palm or Pocket PC ebook publisher to ensure that you will be able to read your ebook in the future. In fact, it may even be better for the publisher if you can't — that means they can sell you another copy of the ebook you already own.

Enter free software. Opie-Reader supports many different formats. Its next release should support iSilo, the infamous Palm application that was initially free, then became shareware. The problem there is that only iSilo converters accept source files in ASCII or HTML format. When you convert your docs to iSilo or you puchase iSilo ebooks, you have to pay for iSilo to be able to read them. If you lost the ASCII or HTML source, you were stuck. And until recently, if you did purchase a non-Palm handheld, you could simply forget about your documents.

In the future, Opie-reader will support many other formats--I'm actively working on it. Maybe it will even let me read my medical ebooks, which are tied to Mstar EZ-Reader from handheldmed.

I hope I will also be able to read Mobipocket documents — DRM-protected documents stuck to a specific handheld. When you install Mobipocket, it gives you a unique code, which seems to be based on the device's serial number. You then have to enter that code on your mobipocket.com profile before you can download your ebooks. With subscription-based documents such as the French Vidal, you'd better not have to purchase another PDA, because you will not be able to read the documents until you enter the proper new code in the download form. This is especially a problem when your subscription expires; you can't enter a new download code because you don't have the rights anymore to download the updated version of the document. That means you have purchased "unlimited" rights to an ebook, which becomes tied to the serial number of your PDA — thus a "time limit" is imposed that is equal to your PDA's lifespan.

Likewise, I can already watch full videos on my Zaurus. I just put my DVD on my computer, run mencoder and put the divx on a CompactFlash and into the Zaurus.

There's no DRM, and no restriction with the encoder or the playback application that can artificially restrict what can be done with the file. I can watch movies everywhere I go, on any PDA, in a standard format on a standard storage device. I can even put my CF into a PC to watch them in Zaurus' low resolution.

Pocket PC also has some DivX support, but Palm devices are tied to proprietary video fomats. Would you like to bet on them? I want my handheld purchases to be useful in the future, which means paying for ebooks I will be able to read later, and converting movies to a format that will be exploitable, regardless of my hardware and software combinations.

Only Linux handhelds offer such flexibility.

Likewise, I don't want to pay for SMS (email-like small messages sent by a cellphone) when all my friends use instant messaging and when I already pay for an unlimited data plan on my cellphone. There is no incentive for the cellphone industry to cut a source of profit like SMS only to provide more flexibility for its clients. And what about voice-over IP and WLAN roaming on cell phones? No company is willing to commit this financial suicide, so people use cellphone minutes even when they could be using their companies, their own, or some public wireless LAN.

Conclusion

Linux Smartphones are coming. Motorola's A760 and E28's E2800 are already shipping. You have a unique possibility — the ability to run the same OS from your cellphone to your PDA, tablet PC, laptop, desktop, and server.

You can take advantage of the source code to build some unique projects, such as putting the Apache web server in your WLAN-enabled Zaurus to show your web site to your friends, or installing Gaim on your cellphone to take advantage of your unlimited data plan by replacing SMS with Jabber, MSN, AIM, and so on. You can even put Apache on your cellphone to make available live the pictures you take with its embedded digital camera. What about an SSH client to check your mainframe when you're on call and something happens?

This digital convergence was promised, but restrictions on proprietary applications prevent Palms and PocketPCs from making it real. Free software can help. It's time to unleash the whole potential of the devices we own.

Guylhem Aznar was the coordinator of The Linux Documentation Project from 1999 to 2006. He has a special interest in Linux embedded devices and health informatics, being a physician with a clinical experience but also a full traditional computer-science education.


Return to the LinuxDevCenter.com.

Copyright © 2009 O'Reilly Media, Inc.