By Carsten Schnober
Who are Anders Carlsson, Mikael Hallendal, Michael Natterer, and Richard Hult? All four are programmers who work for Imendio [1]. The Swedish software developers mainly work on contracts for designing open source, and typically GTK-based, desktop applications. What do the Swedes do in winter when outdoor activities are restricted to the brave or hardened? They stay indoors, keep warm, and read a good book.
These four programmers were also thinking about virtual desktops. On one cold weekend, they came up with the idea for developing Gnome Launch Box [2], a piece of software that facilitates program launching. Apple users will be familiar with the formerly proprietary role model Quicksilver [3] for Mac OS X.
Although Quicksilver's manufacturer Blacktree recently released it under a free license, no genuine attempts to port Quicksilver to Linux have been forthcoming thus far. And if you take the current crop of solutions into account, there is little incentive for doing so.
Gnome Launch Box and Quicksilver expect users to enter part of a program name or description, then the software serves up and offers to launch any applications that fit the description. Although this may not sound impressive, what's interesting is that the user can just type the name of a file residing somewhere on the disk. Gnome Launch Box will then serve up a list of programs capable of opening the file type in question, and the user can select an application, which Launch Box immediately triggers.
Development work on Gnome Launch Box made slow progress after that winter weekend almost two years ago. Although bugs were fixed and the software slowly crept to version 0.4, the functionality of the program, which was coded in C, has stayed pretty much the same.
Then a US student, David Siegel, entered the picture. Inspired by Quicksilver and Gnome Launch Box, Siegel launched a new project with a similar objective. Gnome Do [4] (Figure 1) closely resembles Launch Box (Figure 2) with its two-panel window. The left pane shows a list of files, directories, email contacts, and - thanks to the plugin structure - virtually arbitrary object types that match the search key.
Gnome Do suggests actions that match the object it has found on the right. For example, if the user selects an application, Gnome Do suggests launching it. As an alternative, it will open the Compose dialog in an email program if the user selects a contact address stored in an Evolution address book, or it will offer to play a multimedia file in a player with matching capabilities. Selecting Open with displays a third pane that gives users access to an unrestricted selection of other programs.
Gnome Do's homepage explains that it is not just a search tool, but also an intelligent assistant. Even if users don't know exactly what they are looking for or what they want to do when they find it, Gnome Do quickly and conveniently guides them to a solution. And Gnome Do is not just an application launcher - it also offers correct handling of web pages, email addresses, music tracks, and files that a user enters.
The third point - and the one that is most important to David Siegel - is portability. Although the program's name, Gnome Do, clearly indicates the programmers' desktop preference, Gnome Do is not a Gnome-only program, and it will work with KDE and other environments. Mono and the C# programming language - part of Microsoft's Dotnet framework - are used, which illustrates Siegel's drive for platform independence (although ports to Windows or other systems are not currently on the roadmap).
The Gnome Do configuration file, ~/.do/FileItemSource.config, specifies which directories to index. The recursion depth specifies how far down the filesystem tree the search engine should descend; a depth of -1 means no limits. ~/Documents: 3 thus tells Gnome Do to evaluate the $HOME/Documents folder down to three subdirectory levels.
Like most free software projects, Gnome Do also thrives on voluntary contributions. To make life easier for would-be contributors, the model is clearly documented [5] and outlines the program's role models - Quicksilver and Gnome Launch Box - showing the ontology-based approach.
Gnome Do presents objects that are not simply dredged out of a flat database; rather, they are extracted from a network of entities that are enmeshed in a knowledge presentation system.
This ontology-based design offers the advantage of future Gnome Do plugins that can add arbitrary object types to the ontology and define properties for the new types. As previously mentioned, types could be files, directories, multimedia files, or email addresses, and also Instant Messenger contacts, Web addresses and maybe VoIP phone numbers. In line with this, much help is needed to create plugins for access to the Tracker search engine, the Amarok music player, or Wikipedia search results.
Wikipedia project founder Jimmy Wales (Figure 3) withdrew from the online encyclopedia's daily business some time ago and is now working on a community-driven search engine.
The long-anticipated Wikia Search [6] has now started alpha operations (Figure 4). Some time ago, the Wikia homepage said: "Search is part of the fundamental infrastructure of the Internet. And, it is currently broken." The second part of is updated to read: "[...] and that it can and should therefore be done in an open, objective, accountable way."
As of this writing, Wikia Search is no competition for other search engines because it has only indexed a tiny portion of the World Wide Web. The new search engine is looking to distinguish itself from competitors by providing high-quality search results that are rated by users. To achieve this, it relies on mini-articles, short texts that provide tips on frequently sought terms.
Right now, Wikia Search's major focus is on building up as big a collection of mini-articles as possible. Apart from vital feedback in the form of bug reports, the operators are hoping for substantial community contributions in this area. Mini-articles provide short definitions of search terms and, to point to ambiguities, they also can contain images and references to related topics.
Quality rather than quantity - what Wikia Search is aiming to provide in its search results - may be the only level at which Wikia Search will ever be able to compete with Google. Nobody is likely to catch up to the market leader with respect to the sheer bulk of data collected in the near future; however, guiding users through the data jungle is almost as important and is an area with room for improvement. Whether a community-based approach can deliver the goods remains to be seen.
INFO |
[1] Imendio: http://www.imendio.com
[2] Gnome Launch Box: http://developer.imendio.com/projects/gnome-launch-box [3] Quicksilver: http://www.blacktree.com [4] Gnome Do: http://do.davebsd.com [5] Gnome Do documentation: http://davebsd.com/do/gnome_do_project_update.pdf [6] Wikia Search alpha: http://alpha.search.wikia.com |