An up-to-date look at free software and its makers
Projects on the Move
The number of games available for KDE could start growing soon with the free Gluon library to facilitate programming. A Gnome developer shows how to design user-friendly software. Proprietary PDF editing programs could soon be a thing of the past thanks to PDF Mod.
If you believe politicians, computer games are mainly used to prepare youths to run wild. Yet French KDE developer Sacha Schutz has taken steps to facilitate the development of new games for the K Desktop environment.
Gluon  is designed to facilitate access to audio and graphics hardware for KDE developers and to help programmers quickly develop a world in which realistic physical laws apply, such as the speed and impact of falling objects.
Schutz has developed the first working program based on Gluon, Karicat , which creates avatars similar to Miis , the three-dimensional virtual characters for the Wii console (see Figure 1). The program is at a fairly early stage of development and is thus more a demonstration of the capabilities of the underlying Gluon library. When this issue went to print, it did not provide functionality for saving your own creations.
Despite this, Karicat is already an exciting program. In a surprisingly intuitive interface, users can edit a comic character's head by defining the facial features, hair, nose, mouth, ears, eyes, and eyebrows. To do so, users choose from predefined prototypes, which are then customized with simple mouse movements.
The theme (a graphics file in SVG format) defines the basic traits of the new face. Thus far, the package only offers a single theme, although the community will have fun contributing more looks once Karicat is finished. Just like the Miis, the Karicat faces support simple animations that bring an avatar to life.
The Karicat source code is available in a Git repository on the project homepage. If you inspect the source code, you will soon see how easy the Gluon library makes the task of developing a program like Karicat with a fairly impressive range of functions.
Gluon currently comprises three core components:
KCL handles input devices with a modular system that lets you support devices other than traditional components, such as mice, keyboards, or joysticks. Schutz is obviously thinking of more recent interaction methods, such as webcams or the controllers that come with the Wii console.
The Gluon KDE Audio Library (KAL) handles sound output for games developed with Gluon. This part is fairly unspectacular because – to put it simply – the whole thing is just designed to pass sound on to the desktop's sound system. This doesn't mean the developers have taken the easy way out: The external OpenAL  (Open Audio Library) calculates the rising and falling volume of approaching and disappearing objects, for example.
Most of the work has gone into the third Gluon component, KGL, which handles graphics output and provides the physics engine. Calculating impact and reciprocal actions between objects is one of the most complex tasks in games and other applications with interacting objects; it stands to reason that a fair amount of work is still to be done here.
KGL relies on Box2D  for two-dimensional space. The free KGL library simulates realistic acceleration, speeds, collisions, and other physical effects. Most of the work relates to the third dimension, and Gluon development is still in an early stage here. When this issue went to print, the developers were working on integrating the Open Dynamics Engine , which does more or less what Box2D does, but in a 3D space.
The Gluon team is looking for volunteers to contribute to the project. You will need C++ skills for this, but graphics artists are also welcome. Gluon contributors should be aware that the library is likely to boost the number of games available for KDE.
Compared with calculating collisions between three-dimensional objects, the next topic is fairly simple: recording sound with a microphone. From a usability point of view, the technical complexity of designing the user interface does not always relate directly to the complexity of the task. In fact, simple things need intuitive interfaces because no on wants to read the manuals.
Thus far, the Gnome desktop has had the Gnome Sound Recorder (Figure 2). The program does what it is supposed to do without any problems, thus fulfilling the major criterion for a good usability rating. But it has some weaknesses; for example, not many users will be capable of changing the audio input they use on their first attempt. And the layout is not exactly state of the art. This prompted Dutch Gnome programmer Hylke Bons to express a couple of opinions on a new development named Gnome Voice Recorder.
If you follow popular how-tos on developing user-friendly software, you need to sketch the program windows and dialogs before you think about writing a single line of code. Bons has kept to this approach and presents the results of this preparatory work in his blog . We were very excited at Linux Pro Magazine to get an exclusive peek at his latest, unpublished drafts just before this issue went to press.
Figure 3 shows the main window of the currently non-existent Gnome Voice Recorder program. It has shed the configuration functions that occupy a very prominent position in Gnome Sound Recorder and simply contains Record and Stop buttons, a menu, and a list of sound files you have recorded. Bons is looking to move the other settings out into a separate dialog box (Figure 4).
Bons is looking to enhance the Gtk-based desktop's multimedia suite with Gnome Voice Recorder and has based the design on more recent programs in the same field: the Cheese webcam tool , the Banshee multimedia player , and the F-Spot photo management software . Bons emphasizes the example that Cheese has set by protecting the user against inadvertent direct access to the filesystem. Completed recordings – from the webcam in Cheese's case and from the microphone in Gnome Voice Recorder's case – are automatically sent to the correct directory, where users will find them for further processing.
Buy this article as PDF
Lennart Poettering wants to change the way Linux developers talk to each other.
Enterprise giant frees itself from ink and home PCs (and visa versa).
Mozilla’s product think tank sinks silently into history.
TODO group will focus on open source tools in large-scale environments.
New tool will look like GParted but support a wider range of storage technologies.
New public key pinning feature will help prevent man-in-the-middle attacks.
Carnegie Mellon researchers say 3 million pages could fall down the phishing hole in the next year.
The US government rolls new best-practice rules for protecting SSH.
Klaus Knopper announces the latest version of his iconic Live Linux system.