Domain: trolltech.com
Stories and comments across the archive that link to trolltech.com.
Stories · 106
-
Scanning The Landscape Of Palmtop GUIs
If the iPAQ looks nice, the Yopy looks sexy, the Agenda intrigues you, and a V-Tech Helio running Pocket Linux looks interesting to you ... then you may enjoy this sweep of the available Palmtop GUIs with an emphasis on Free ones, written by reader 1010011010.There are several Linux-based palmtop OSes emerging, and I would like to know what people are expecting from a non-WinCE, non-PalmOS handheld. I have put together minature reviews of three current offerings that I was able to test on my iPaq for comparison.
The TrollTech Qt Palmtop EnvironmentQPE was demoed recetly at Comdex, and in my opinion is the best-looking hand-held Open Source OS so far, even though it is merely a demo of Embedded QT and has not been released as a product. On the iPaq; instead, it installs a new /usr filesystem on top of handhelds.org linux distro.
I think there are a number of advantages to using Embedded QT rather than an X windows + toolkit solution. One, it does not use X, but writes directly to the frame buffer instead, which makes it lighter than X-based solutions, and provides the capability to do things X cannot -- like anti-aliasing and alpha compositing. [Ed. Note: See also recent Slashdot stories on just such developments.]Another nice (future) feature might be cleartype-rendering for the final output, to improve sharpness for all display elements (not just text). The X Window system's most useful feature is remote display. QPE also includes support for remote display -- it can draw to a VNC framebuffer as well as the Linux framebuffer.
Another advantage to QPE is that it uses the popular QT toolkit, making porting applications from KDE relatively easy, and easing cross-platform development (QT also runs on Windows and other non-unix OSes). Addtionally, QT and QPE are both very space-efficient, all handheld-type applications included. The libraries, framebuffer driver, etc. fit into a 3.7MB .tgz file for the iPaq (mirror). If anyone knows of an Embedded GTK project, please post a link below.
One of the most compelling features of QPE is the variety of input methods it allows. It includes five input methods: pickboard, handwriting, keyboard, opti (modified keyboard), and unicode (apparently understands Cherokee out of the box). Every method includes -- this is the really cool part -- dictionary look-ahead. If you type out part of a word, a ticker presents a list of likely candidates. You simply tap on one to erase the partial you already typed and insert the entire word in its place. This is, I think, its best feature, and one that other environments would do well to copy. it also includes support for "right-clicking" -- tap and hold -- to bring up context menus, set flags in minesweeper, etc.
And though perhaps unpolished, QPE is anything but incomplete: it includes 14 applications -- address book, games, etc. -- plus several applets (like a slider to set backlight brightness and a load monitor) and some silly stuff, like a Tux plush-doll simulator (a shaped window with Tux in it). It also includes an HTML-based help browser. And, of course, it's both Open Source and Free Software.
For all of its niceness, QPE does have some cons as well. A lot of them are related to the fact that QPE is a demo, not a released product. For instance, there's no way to suspend the iPaq. It must be shut off, which requires re-calibrating the display each time. There's a menu option for exiting QPE, but it does not also shut down Linux, so you have to power off the running OS, which can't be good. Crashing applications can bring down the whole GUI. For instance, playing a bad MPEG video in the MPEG player hangs the whole UI. I can restart it using the serial-port console, but that's not really a solution. It currently does not have working audio, which is a shame, because the MPEG player also plays MP3s.
Handhelds.org provides the father of all iPaq linux distros (which is also a required base install for QPE). It runs TinyX, written by Jim Gettys. It's really kind of minimalist and unintegrated. However, it's linux, it's free, and Compaq and the iPaq team should be congratulated for providing Linux support on the iPaq. Compaq also provides some other benefits, such as you ability to compile apps using their Skiff Cluster -- making development much easier, as there's no space for a compiler on 16MB of flash. The UI for the Handhelds distro is pretty ghastly -- X + TWM + xterm + TWM menus for few installed apps and administrative tasks, such as changing brightness of backlight.
TWM and xterm are quite tedious to use with a stylus. They're also pretty unattractive. It includes a lot of utilities and programs, but very few GUI apps, which is what you need on a handheld. The three major apps are "scribble" for handwriting recognition, a qwerty keyboard, and a statically-linked GTK mp3 player (note: menus don't work well with stylus). And Xterm makes four, if you want to bother counting it.
The two input methods are strange to use -- you have to get the input focus set just right, and be careful to not obscure the scribble or keyboard app with the target app. In contrast, WinCE and QPE both resize the display area available for apps when the input methods are invoked, and reserve space at the bottom of the screen for the input handler.
Again, the major thing about the handhelds.org Linux distro is that it exists; it's not really meant to be a useful PDA environment. However, it does illustrate the numerous reasons why an unmodified desktop GUI does not belong on a handheld.
PocketLinux is an interesting beast. It is linux-based, but the GUI and all of its apps run in Kaffe and use XML for interface definition and other data storage. The GUI is themeable, and PocketLinux included several themes. I actually didn't care for any of them. Perhaps they should look at SkinLF, a skin engine for Java/Swing.
They have certainly achieved Buzzword compliance with the use of Java + XML. The downside is, it's slooooow. The UI is simply not very responsive, and the iPaq is the most muscular of the current handhelds. The upside is, it's portable. And since it's Java, I imagine it's theoretically possible to beam apps and data to other PocketLinux devices, even if they use a different processor. That's not an insignificant advantage. Plus, because all apps run in the Java VM, it's likely to be stable (assuming the VM is) thanks to the garbage collection, lack of pointers, etc. that Java provides. Plus, the PocketLinux environment can be used to develop (both compile and test) apps off-unit without having to resort to using a special cross-compiler setup and ftping or syncing builds of apps to just see if they run.
Like QPE, it uses the framebuffer; but it does not include any remote display functionality. I'm not certain that's really an issue with a handheld, anyway -- although it might be nice to open your handheld display on your desktop PC while it's in its cradle so that you can use a mouse and a keyboard to more quickly use the UI to manage the device.
The major downfalls of PocketLinux are its slowness and its clunky UI. It's better than xterm, but not as nice as either QPE or WinCE. Otherwise, it's in the same vein as QPE -- includes all the usual suspects as far as apps go, and an MPEG player to boot.
Thoughts -- I am interested in what you all are looking for in a handheld GUI. Please post! I'm looking for a number of things:
- Flexible, easy to use "sync" feature. This would preclude ActiveSync, as it does not work (at all, either USB or serial) on my iPAQ.
- Standard file formats. None of the Linux handhelds options I've discussed here provide a way to "sync" data to another computer, but when they do, a standard resource file format would be nice.
- Easy to use interface. This means, no need to type out words to start apps (or to use most apps). A "start menu" is the best thing going in the launcher department that I've seen, and the use of things like context menus and QPE's dictionary lookahead make using a stylus easier.
- Free Software.
- I actually spent a couple of months getting to know WinCE before I wiped it, and I never did really care for it. It does include Microsoft Reader, though. All handheld environments should include a good, standard document reader. I reccommend PDF rather than MS Reader or any other proprietary format, because it's an open spec and tools to create and view it are available as free software. It also supports sophisticated layout and compression and delivery of all document elements as one file -- something XML and HTML cannot do.
- Variety of working, non-intrusive input methods. QPE's dictionary is great. WinCE and QPE both resize apps to reserve an area for the input method at the bottom of the screen. This is much better than handhelds.org's TWM focus-game method.
- Standard app toolkit. There's not a lot of space on handhelds, but handhelds need a rich GUI toolkit to be useful and provide a way to write lightweight apps. Palm does this well, even though it is a very limited platform. I can't install GTK and QT and whatever, because there's not a lot of space. I use Gnome on my desktops and laptop, and program for GTK, but am very happy with the slim, trim QT/Embedded used in QPE. PocketLinux sort of half-wins. Demerits for slowness and ugly themes. Handhelds' X+TWM+Xterm wins in the oops-thought-this-was-a-desktop category. WinCE does a moderate job; It looks mostly like windows, but different enough to be mildly strange at the beginning. And, of course, Media Player is totally different. What is it with media players these days? Do they all have to be ugly and slow?
- Speed. Handhelds.org and QPE win here. PocketLinux, of course, does not.
- Support for common features: syncing, serial/ppp/ethernet/other connectivity setup, etc. No one does this yet.
- Apps. Including games. MPEG video player optional. Really. Mp3 player would be cool. Doc reader a requirement.
- Attractive interface. I don't mean gaudy. I mean, easy to look at. Microsoft's cleartype for text does make a difference. QPE's anti-aliasing and alpha-compositing both make a difference in this area. Handhelds.org gets no points here. QPE wins, and PocketLinux, while themeable, is somewhat cluttered and awkward to use.
Note: You may also be interested in reading this piece on PocketLinux and reading more about the iPAQ. -
Scanning The Landscape Of Palmtop GUIs
If the iPAQ looks nice, the Yopy looks sexy, the Agenda intrigues you, and a V-Tech Helio running Pocket Linux looks interesting to you ... then you may enjoy this sweep of the available Palmtop GUIs with an emphasis on Free ones, written by reader 1010011010.There are several Linux-based palmtop OSes emerging, and I would like to know what people are expecting from a non-WinCE, non-PalmOS handheld. I have put together minature reviews of three current offerings that I was able to test on my iPaq for comparison.
The TrollTech Qt Palmtop EnvironmentQPE was demoed recetly at Comdex, and in my opinion is the best-looking hand-held Open Source OS so far, even though it is merely a demo of Embedded QT and has not been released as a product. On the iPaq; instead, it installs a new /usr filesystem on top of handhelds.org linux distro.
I think there are a number of advantages to using Embedded QT rather than an X windows + toolkit solution. One, it does not use X, but writes directly to the frame buffer instead, which makes it lighter than X-based solutions, and provides the capability to do things X cannot -- like anti-aliasing and alpha compositing. [Ed. Note: See also recent Slashdot stories on just such developments.]Another nice (future) feature might be cleartype-rendering for the final output, to improve sharpness for all display elements (not just text). The X Window system's most useful feature is remote display. QPE also includes support for remote display -- it can draw to a VNC framebuffer as well as the Linux framebuffer.
Another advantage to QPE is that it uses the popular QT toolkit, making porting applications from KDE relatively easy, and easing cross-platform development (QT also runs on Windows and other non-unix OSes). Addtionally, QT and QPE are both very space-efficient, all handheld-type applications included. The libraries, framebuffer driver, etc. fit into a 3.7MB .tgz file for the iPaq (mirror). If anyone knows of an Embedded GTK project, please post a link below.
One of the most compelling features of QPE is the variety of input methods it allows. It includes five input methods: pickboard, handwriting, keyboard, opti (modified keyboard), and unicode (apparently understands Cherokee out of the box). Every method includes -- this is the really cool part -- dictionary look-ahead. If you type out part of a word, a ticker presents a list of likely candidates. You simply tap on one to erase the partial you already typed and insert the entire word in its place. This is, I think, its best feature, and one that other environments would do well to copy. it also includes support for "right-clicking" -- tap and hold -- to bring up context menus, set flags in minesweeper, etc.
And though perhaps unpolished, QPE is anything but incomplete: it includes 14 applications -- address book, games, etc. -- plus several applets (like a slider to set backlight brightness and a load monitor) and some silly stuff, like a Tux plush-doll simulator (a shaped window with Tux in it). It also includes an HTML-based help browser. And, of course, it's both Open Source and Free Software.
For all of its niceness, QPE does have some cons as well. A lot of them are related to the fact that QPE is a demo, not a released product. For instance, there's no way to suspend the iPaq. It must be shut off, which requires re-calibrating the display each time. There's a menu option for exiting QPE, but it does not also shut down Linux, so you have to power off the running OS, which can't be good. Crashing applications can bring down the whole GUI. For instance, playing a bad MPEG video in the MPEG player hangs the whole UI. I can restart it using the serial-port console, but that's not really a solution. It currently does not have working audio, which is a shame, because the MPEG player also plays MP3s.
Handhelds.org provides the father of all iPaq linux distros (which is also a required base install for QPE). It runs TinyX, written by Jim Gettys. It's really kind of minimalist and unintegrated. However, it's linux, it's free, and Compaq and the iPaq team should be congratulated for providing Linux support on the iPaq. Compaq also provides some other benefits, such as you ability to compile apps using their Skiff Cluster -- making development much easier, as there's no space for a compiler on 16MB of flash. The UI for the Handhelds distro is pretty ghastly -- X + TWM + xterm + TWM menus for few installed apps and administrative tasks, such as changing brightness of backlight.
TWM and xterm are quite tedious to use with a stylus. They're also pretty unattractive. It includes a lot of utilities and programs, but very few GUI apps, which is what you need on a handheld. The three major apps are "scribble" for handwriting recognition, a qwerty keyboard, and a statically-linked GTK mp3 player (note: menus don't work well with stylus). And Xterm makes four, if you want to bother counting it.
The two input methods are strange to use -- you have to get the input focus set just right, and be careful to not obscure the scribble or keyboard app with the target app. In contrast, WinCE and QPE both resize the display area available for apps when the input methods are invoked, and reserve space at the bottom of the screen for the input handler.
Again, the major thing about the handhelds.org Linux distro is that it exists; it's not really meant to be a useful PDA environment. However, it does illustrate the numerous reasons why an unmodified desktop GUI does not belong on a handheld.
PocketLinux is an interesting beast. It is linux-based, but the GUI and all of its apps run in Kaffe and use XML for interface definition and other data storage. The GUI is themeable, and PocketLinux included several themes. I actually didn't care for any of them. Perhaps they should look at SkinLF, a skin engine for Java/Swing.
They have certainly achieved Buzzword compliance with the use of Java + XML. The downside is, it's slooooow. The UI is simply not very responsive, and the iPaq is the most muscular of the current handhelds. The upside is, it's portable. And since it's Java, I imagine it's theoretically possible to beam apps and data to other PocketLinux devices, even if they use a different processor. That's not an insignificant advantage. Plus, because all apps run in the Java VM, it's likely to be stable (assuming the VM is) thanks to the garbage collection, lack of pointers, etc. that Java provides. Plus, the PocketLinux environment can be used to develop (both compile and test) apps off-unit without having to resort to using a special cross-compiler setup and ftping or syncing builds of apps to just see if they run.
Like QPE, it uses the framebuffer; but it does not include any remote display functionality. I'm not certain that's really an issue with a handheld, anyway -- although it might be nice to open your handheld display on your desktop PC while it's in its cradle so that you can use a mouse and a keyboard to more quickly use the UI to manage the device.
The major downfalls of PocketLinux are its slowness and its clunky UI. It's better than xterm, but not as nice as either QPE or WinCE. Otherwise, it's in the same vein as QPE -- includes all the usual suspects as far as apps go, and an MPEG player to boot.
Thoughts -- I am interested in what you all are looking for in a handheld GUI. Please post! I'm looking for a number of things:
- Flexible, easy to use "sync" feature. This would preclude ActiveSync, as it does not work (at all, either USB or serial) on my iPAQ.
- Standard file formats. None of the Linux handhelds options I've discussed here provide a way to "sync" data to another computer, but when they do, a standard resource file format would be nice.
- Easy to use interface. This means, no need to type out words to start apps (or to use most apps). A "start menu" is the best thing going in the launcher department that I've seen, and the use of things like context menus and QPE's dictionary lookahead make using a stylus easier.
- Free Software.
- I actually spent a couple of months getting to know WinCE before I wiped it, and I never did really care for it. It does include Microsoft Reader, though. All handheld environments should include a good, standard document reader. I reccommend PDF rather than MS Reader or any other proprietary format, because it's an open spec and tools to create and view it are available as free software. It also supports sophisticated layout and compression and delivery of all document elements as one file -- something XML and HTML cannot do.
- Variety of working, non-intrusive input methods. QPE's dictionary is great. WinCE and QPE both resize apps to reserve an area for the input method at the bottom of the screen. This is much better than handhelds.org's TWM focus-game method.
- Standard app toolkit. There's not a lot of space on handhelds, but handhelds need a rich GUI toolkit to be useful and provide a way to write lightweight apps. Palm does this well, even though it is a very limited platform. I can't install GTK and QT and whatever, because there's not a lot of space. I use Gnome on my desktops and laptop, and program for GTK, but am very happy with the slim, trim QT/Embedded used in QPE. PocketLinux sort of half-wins. Demerits for slowness and ugly themes. Handhelds' X+TWM+Xterm wins in the oops-thought-this-was-a-desktop category. WinCE does a moderate job; It looks mostly like windows, but different enough to be mildly strange at the beginning. And, of course, Media Player is totally different. What is it with media players these days? Do they all have to be ugly and slow?
- Speed. Handhelds.org and QPE win here. PocketLinux, of course, does not.
- Support for common features: syncing, serial/ppp/ethernet/other connectivity setup, etc. No one does this yet.
- Apps. Including games. MPEG video player optional. Really. Mp3 player would be cool. Doc reader a requirement.
- Attractive interface. I don't mean gaudy. I mean, easy to look at. Microsoft's cleartype for text does make a difference. QPE's anti-aliasing and alpha-compositing both make a difference in this area. Handhelds.org gets no points here. QPE wins, and PocketLinux, while themeable, is somewhat cluttered and awkward to use.
Note: You may also be interested in reading this piece on PocketLinux and reading more about the iPAQ. -
COMDEX and Linux Handhelds
code_slayer sent us a cool review of linux handhelds at COMDEX. You can see Qt Embedded (which has been released under the GPL) as well as MicroWindows, and a bunch of prototype boards. I'm still waiting for the 802.11 wireless linux handheld capable of displaying remote X applications, but it looks like we're getting closer. -
Qt Going GPL
summer was the first to note that it looks like Qt 2.2 will be released under the GPL. This removes the licensing problem that is central to the age old (and very boring) KDE/GNOME flamewar. There's still nothing official appearing on Troll Tech's site, but this looks reasonable. -
Screenshots Of Qt Designer
an Irie KDE user writes "This page shows some screenshots of Qt Designer on various platforms. Qt Designer is our visual user interface design tool. Technically, it is just another application written with the Qt GUI Toolkit." -
Borland And Troll Tech And Kylix Delphi/C/C++
nici writes: "Borland and Troll Tech(Qt+KDE anyone?) have made some sort of licensing agreement to allow Borland's new brain child Kylix to be born. It's going to be a Delphi/C/C++ compiler for Linux... complete with a GUI interface. It's supposed to be completely compatible with windows. Here's a Press Release." Several other people noted that Dr. Bob (CT:Not Dr. Dobbs, my bad! Mustn'y post before coffee!) has some screenshots if you're interested in what the tool actually looks like (Hint: It looks pretty sweet).