Cover V12, i11

Article
Figure 1
Figure 2

nov2003.tar

Review of sqlDESKTOP

Marcel Gagné

I've always loved the expression, "a clean desk is a sign of a sick mind". It's usually written on a little sign or on a coffee mug, both of which are sitting on somebody's messy desk. The reason I like this statement is, of course, because my desk tends to be (oh, how shall I put it) a little unfastidious. For many people out there (notice that I'm now cleverly directing the discussion away from myself), the lack of desktop organization goes beyond the physical desktop and into their computer systems.

Helping you make sense of that clutter is the idea behind sqlDESKTOP (http://www.sqldesktop.com), a program that is to your computer desktop what a good filing system is to your physical office. By using sqlDESKTOP, you can arrange and organize disparate bits of information into related areas just as you would in the real world. For instance, emails tend to live in email folders, documents in one place, and Web site links in another. The idea behind sqlDESKTOP is to allow you to organize all this related but scattered data into a format that makes more sense using familiar office metaphors such as filing cabinets, stacks of (and individual) binders, and loose documents of various stripes. If you want to track everything related to your fishing resort project, you put all that into the "Fishing resort" binder.

Installation and Options

The package is distributed as a single executable file called "setup.bin". After changing the permissions to allow execute privileges, I ran the file from a non-root account. By default, the application will wind up in /opt/sqldesktop. sqlDESKTOP recommends that you use the included JVM (Java Virtual Machine) rather than using any preinstalled version you may have, but you do have the opportunity to override this. The included version will not interfere with any other implementation of the Java VM you may already have installed.

The free version of sqlDESKTOP comes with a personal database called Hsql (Hypersonic SQL). For a server installation, you would choose PostgreSQL, DB2, Oracle, or others. In the case of these multi-user database setups, an extra step is required in which you must create the database and appropriate tables before continuing (sqlDESKTOP provides script files for this). The upside of the free, single-user installation is that all this magic happens automatically.

To get things rolling, click the sqlDESKTOP icon on your desktop. As you might expect, a little bit of setup happens on your first run. You'll be asked to enter a first and last name as well as a password. Those people using the free version can pretty much just press Next through the various screens. The only thing that caught me off guard on setup was my eagerness to assign a password for the system admin user (sa) who, at this stage, should not have a password. When you have completed all the setup steps, your KDE or GNOME desktop will wind up with three new icons -- one to start sqlDESKTOP, a ReadMe/Tutorial, and an Uninstall.

Using sqlDESKTOP

In the top left of your screen, you will have a selection of "office tools". These include a trash can, sticky notes, new flags, a photocopier, telephone book, email in and out boxes, and a briefcase (to transport data from one place to another). These tools are available two at a time via a system of tabs.

Over on the right are the organizational tools themselves, also available through a tabbed menu. The items at your disposal include filing cabinets, binder stacks, binders, documents, Web and newsgroups links, and so on. In fact, pretty much any type of data you want to include is there for you. Building your information database is as easy as dragging things to and from the desktop area below the various tabbed items. The desktop area is actually referred to as a "room", and you can create multiple rooms. The idea is a real-world analogy. Binders, file cabinets, and so on, are all things we place in a room, hence the name chosen here.

I decided to start by dragging a filing cabinet from the toolbar into my room (see Figure 1). A dialogue appears asking me for details on this item -- what I want to call it and how I would like to describe it. When you create anything under sqlDESKTOP, you are presented with a few interesting options such as general notes, and concerned persons. As I mentioned earlier, sqlDESKTOP can be run using different databases than the freeware version provided. With a central network-deployed database, users throughout the office can collaborate on documents, or share in the organization of company information. Users can log in from any workstation through the Java client software and access the sqlDESKTOP system. As a result, when you create filing cabinets, binders, or files, you also have the opportunity to assign rights to those items so that others can work together on the same project.

Once the choices are made, the dialogue closes and you are left with an icon in your application room with a "talk bubble" much as you see in a cartoon that identifies the name of your resource. Double-click on a binder or file cabinet and you jump to another level where you can create additional documents, application links, or binders with more documents inside. Yes, it's very much like your basic hierarchical data structure, only somewhat more free form.

Once you start populating your room, you can add to-do items, yellow sticky notes, and "new" flags to the various items (see Figure 2). Double-click on the yellow sticky and you can add additional information. The same idea applies to the to-do items, but you can set deadlines for completion as well. sqlDESKTOP also knows about your existing productivity applications, which means that you can start an OpenOffice document from inside an existing binder or room location.

Being database driven, sqlDESKTOP does tend to take advantage of these possibilities. Documents can be linked to their real locations on disk or they can be imported into the database. Create a binder (or filing cabinet) and you can choose to import all of the documents in a directory, making the job of populating your database that much easier. If you choose to go the import route, your original directory is unharmed. The reverse is also true. If you have been creating your documents directly from the desktop (or inside a binder), you can later export them to a directory of your choosing.

All in all, sqlDESKTOP is certainly easy to use. There were, however, some issues.

Reflections on Use

Obviously, the better and more powerful your database, the better the storage capabilities. I mention this because the free HSQL database does suffer from performance issues at times. The best example I can give came from trying to import a directory with a large number of documents. The process took a long time and eventually the database complained that it was "out of menory" despite the fact that I still had more than 200 MB of free RAM and several gigabytes of disk available. Directories with small collections of text files gave me no such trouble.

There were a couple of other things I found less than stellar. While the package is pretty easy to use, it could be more intuitive, given its mission to simplify your data-bound life. For instance, there could and should be more help available. Bubble help would be a boon to the software. When I tried to right-click on a filing cabinet to add users who could collaborate on the documents, I was stuck. Right-clicking is a kind of natural response these days, one that sqlDESKTOP has ignored. So, I tried double-clicking, which only opened the cabinet -- not what I was trying to do. After going to the manual, I learned that you double-click the little icon in the talk bubble to change properties. Then, when filling in permissions for "concerned persons", there was a field for "Attribute" with no explanation of what the possible attributes are and no obvious means to list them. Another trip to the manual.

To be fair, there is a good bit of documentation available in the form of tutorials and Web pages, all of which can be accessed from the help menu. Given the Java-based nature of the software, it wasn't surprising that the help pages all require a Java-enabled browser. Nevertheless, built-in help is a time saver and sometimes a little reminder is all you need. Forcing the user to go to the manual for everything isn't the right way to do things, particularly not for things we now take for granted.

Costs and Licensing

The company behind sqlDESKTOP is PIM. The software I reviewed was the free version (not GPLed), but it is limited to one user at a single workstation.

If you would like to extend the capabilities of sqlDESKTOP to other users in your office, you want to look at the network version. A 90-day license for the network version is included in the free download, but beyond those 90 days, you must buy a license. Prices here vary from $100 per person for a single network user to $50 per person for 100 users. Certified schools or universities, however, can contact PIM for a free license. Licensed users receive free support from PIM. Upgrades to minor releases (without important new features) are also free.

Lest I be branded as exclusive, I should point out that a Windows version of sqlDESKTOP also exists. The server edition can run on pretty much any OS where the supported databases are available (Linux, Unix, Solaris, Windows 2000, AS/400, etc.).

Conclusion

PIM's sqlDESKTOP is certainly easy to learn and use. The flexible nature of the software and the familiar desktop metaphor should mean that you'll be organizing your data and your ideas in no time. sqlDESKTOP does everything it claims and does it rather well, but I harbor some skepticism -- not so much in the software itself, mind you, but in me. sqlDESKTOP is a tool, albeit a good one, to achieve a result that must in the end be driven by the individual using that tool. Furthermore, it seems fairly pricey, particularly for a single-user version when you consider that the same single user on in a non-networked environment can run the software free of charge.

So, are you ready to get yourself or your company organized? Given how easy sqlDESKTOP is to set up and that you can run it free of charge, it is worth your time to check out this organizer. The only thing you stand to lose is time, and if sqlDESKTOP turns out to be right for you, you may actually save time.

Marcel Gagné lives in Mississauga, Ontario. He is the author of Moving to Linux: Kiss the Blue Screen of Death Goodbye from Addison Wesley. Also by Marcel is the acclaimed Linux System Administration: A User's Guide. In real life, he is president of Salmar Consulting Inc., a systems integration and network consulting firm. He loves Linux and all flavors of UNIX and will even admit it in public. He can be reached via email at: mggagne@salmar.com. You can discover lots of other things from his Web site at: http://www.marcelgagne.com/.