The PDA environment: Can Linux deliver?
A Personal Digital Assistant is, by definition, more than just a computer that you can hold in your hand or some other small embedded device. In the PDA world, the OS doesn't matter, it's all about the "Personal Information Management" (PIM) applications and the ease of interactivity. Can the users do what they want to do quickly, and with a minimum of input? Do the applications present consistent interfaces? Do the text input methods work reliably?
These were questions the Palm creators spent a lot of time considering. And overall they did a pretty good job -- Palm applications are minimalist, but get the job done with the resources available to them. Avoiding Newton's mistakes with trying to go too far with handwriting recognition, the Palm OS constrains the list of acceptable input strokes, making the human adapt to it instead.
Thus, to be considered a contender in the PDA marketplace, Linux needs to offer the same kind of ease of use and consistency delivered by the other available platforms and their supported software. The pieces to choose from to create this environment are wide and varied, with a lot of experimentation going on right now to try to figure out which way(s) are best.
For example, the graphical and windowing environments. Is X Windows the best solution? It sure makes the porting of applications a snap, and you can do cool things like import and export displays from and to other computers running X Windows.
But it's not known for being the lightest solution around -- perhaps a direct-to-framebuffer approach would be better? Alternatives include the Microwindows system and G.Mate's W Windows. It is perhaps illustrative that few applications have appeared for W Windows, and G.Mate has just formally announced it is abandoning it in favor of X.
The choices for widget sets presents similar issues -- do you install GTK+, with all its features and storage requirements, or something smaller and more practical like FLTK? You only get to choose one or two -- you don't have room to waste.
And you may still need a window manager. Perhaps something nice and light like Blackbox. Last, you'll need a way of getting characters into the applications given only mouse movements. The preferred method is by some form of handwriting recognition, but sometimes a virtual keyboard is simply faster.
Oh, and let's not forget about the PIM software itself -- the reason we started this whole exercise in the first place. A good choice for basic Palm-like applications is Agenda Computing's PIM suite. For a completely different approach, there's the very flashy PocketLinux environment, implemented with the Java virtual machine clone Kaffe.
In addition to the free and open-source offerings, Trolltech also provides a complete user experience with its Qt Palmtop Environment. It has licensing restrictions, however, which may turn off some developers.
Wow. Quite a list, and it's by no means complete. To make things even more interesting, different bits and pieces can be combined to customize the environment delivered, much like desktop users swap out their Window and Desktop managers from time to time to suit their tastes and needs.
So, can Linux compete?
The short answer is a definite yes.
The longer answer is a bit more hesitant, for three reasons. The first is that Linux is starting from behind in the hand-held field, and thus it will continue to have less software than its peers, at least to start. On the other hand, with software porting made relatively easy because of having a true Linux environment as the target, this shouldn't be too much of a problem for too long.
The second issue has to do with my comment above about the importance of the user experience. To be accepted by mainstream PDA users, the devices they rely on to organize their lives and business must simply work. Immediately, and without fuss, failure or frustration. Like the 24/7 production server environment, stability and consistency is more important on a PDA than some gee-whiz advance.
This concern is somewhat alleviated by the fact that the critical PIM applications are being developed by commercial entities such as Agenda Computing, who will be highly motivated to complete the non-thrilling software development work sometimes needed to complete an application suite.
Another excellent sign has been the amount of code sharing that has been taking place amongst both kernel and user-space programmers working on different platforms. The aforementioned Agenda PIM suite is likely to become a standard for many Linux PDAs.
The third reason for concern has less to do with the community's ability to produce quality code, and everything to do with closed data formats. WinCE comes with Microsoft Word, Excel, Media Player and eBook, all reading and writing closed and undocumented file formats. Will open-source applications and formats win the day?
In the next three articles, we take a hands-on look at the Agenda VR3, the G.Mate Yopy, and the Compaq iPAQ.
Return to the Linux DevCenter.