September 8, 2004
This article was contributed by Dave Fancella
There has been a lot of recent discussion in the news
about various projects that are trying to improve the
traditional two dimensional graphical user interface.
Efforts are underway to make it more efficient, useful,
and generally better. Microsoft ran their
TaskGallery
project, starting in 1999, to explore and study the
idea of taking advantage of a user's spatial memory to
organize their workspace. Sun recently demonstrated
their experimental 3d desktop,
Project Looking Glass.
Two commercial organizations,
Spatial Research and
3DNA
provide proprietary three dimensional
desktop interfaces for Microsoft Windows. So this is an
area that is getting a fair amount of attention, and
possibly even results. And then there's
Metisse.
Metisse is an open source project that grew out of
several sub-projects funded by
in Situ, a research
project that exists as a collaboration among several
French research groups. The brainchild of Olivier
Chapuis and Nicolas Roussel, Metisse uses the
techniques developed in the
Ametista
project to create a complete three dimensional workspace.
Ametista was a project that developed some interesting
techniques for capturing windows from the desktop image
stream and using those images to compose a new
workspace. According the the Ametista website, this
technique is similar to that developed for the Task
Gallery project. Metisse takes this concept a step
further and creates a three dimensional workspace.
Standing on the shoulders of giants, Metisse uses a
modified version of
FVWM,
Xvnc,
and Ametista to create a virtual X server from which it extracts
application windows.
Application windows are used for painting textures
to plane objects that in turn are drawn on a
3d-accelerated X client.
While the technique itself is very fascinating, the
question on your mind is probably something like "What
can it do, and where can I see
screenshots?
Those were the first questions on my mind when I
discovered Metisse, so I endeavored to install and run
it to see what it could do. This article is based on
Metisse version 0.3.3.
First Impressions
Since Metisse uses FVWM to provide the desktop
environment, I was immediately and hopelessly lost. As a longtime
KDE
user, FVWM struck me as being about as
foreign as you could get. So my first impressions
weren't as good as they could have been. Realizing
this, I immediately shut down Metisse and spent half an
hour reading about FVWM. When I took a second crack at
it, I was very impressed.
The first benefit Metisse brings to the table is in one
of the least likely places. When you click on a corner
of the window, a regular window manager thinks you want
to resize it. Under Metisse, however, it just pulls the
window back. The assumption is that in a regular window
manager, when you resize a window you are doing so with
the intention of seeing what is underneath the window
so you can continue to do work in the window you're
resizing. So Metisse pulls the window back with a
peeling action so you can see what's underneath. When
you let go, the window sticks back to the desktop where
it was. I was impressed, anyway.
The second major benefit Metisse brings you is through
its use of OpenGL
textures. Since your window is no
longer being rendered into itself as a virtual screen
(as it is in a two dimensional window manager), Metisse
can use OpenGL methods to scale the window. This brings
an interesting benefit that can't be ignored. The
problem with resizing windows is always that you have
to pick a size that shows the amount of information you
want to see. When you make the window smaller, you see
less information in the window. Larger and you see
more, at the tradeoff of not having as much space on
your desktop for other windows. So users spend a lot of
time resizing windows and rearranging them so they can
work in multiple windows, and have as much information
in each one as they need to keep working. Inevitably,
there is always a shortage of screen space.
Under Metisse, however, you can scale
the window rather than resize it. So you can set it at
the size that shows you all of the information you
need, and then scale it to the actual size on your
desktop that you need it to be. A subtle but
surprisingly useful feature! Especially for those of us
that like to have our mail clients open at a small size
so we can see new email, but are limited by having
so many folders that the mail client isn't useful unless it's
Really Big.
Main Features
As interesting as those two particular features are,
Metisse puts a number of useful operations at your
fingertips that weren't there previously. If you hover
your mouse cursor over an unoccupied portion of your
desktop, the scroll wheel will let you scroll among
all of your virtual desktops. The title bar of each
window has a few more buttons than it had, and each
button lets you do a number of things. Your window is
now in 3d space, so you can rotate it on all three of
its axis. Scaling your window brings some other
benefits, such as making your toolbar and window
buttons larger or smaller, especially since most
text-based applications such as
Mozilla,
LyX, or
KSpread
allow you to change the size of the text. So
you can make the text smaller, scale the window larger,
and wind up with bigger toolbar buttons with the same
amount of text in the window. Right-click on the task's
icon in the task bar and you can scale the window into
the corner, safely putting it out of the way but still
in plain view.
Some special attention should be paid to rotating
windows on their axis. In a traditional two
dimensional workspace, you can't rotate the windows at
all. You can only shuffle them around and resize them,
and you essentially have a fake 3d setup where you can stack
them front-to-back. This is useful, but it's
pretty easy to lose track of where you put each window.
The task bar was invented to deal with that problem.
In a 3d desktop you can usually rotate the
windows on their axis. Rotating a window on the X axis
means you can rotate it until it's pretty thin and then
move it out of the way. You can then see where it is
and what it is without having to do any sort of icon
association. You can do the same on the Y axis, if you
prefer.
As much as I like being able to rotate a window
on the Z axis, I still haven't found a practical use
for it. But the question begs, if you rotate on the X
or Y axis, the window still takes up space, so what use
is it? Never forget that you can scale the other
windows! I still haven't gotten over how useful that
is. When you combine this with the Auto Scale feature,
the long-debated "Focus moves with cursor" feature of X
becomes inarguably practical.
Of course, you still get the ability to move windows
around in 3d space, and you can get yourself lost on
your desktop pretty easily until you master this skill.
You can also set the desktop surface as concave or
convex and set its degree of curvature.
Conclusions
Metisse is very young, at version 0.3.3. It is also the
subject of research, so it's not likely to become
production grade anytime soon, if ever. Following in
the tradition of open source software, Metisse is
subject to incremental improvements and the taking of
time to assimilate those improvements. It brings some
interesting innovations to the table, but the only
thing particularly unique at this early stage of its
development is the peeling of windows.
The main advantages I see to Metisse at this time are precisely
due to its young age. The developers aren't just going
all-out to build an art gallery or other virtual
world; instead they are taking their time and studying
each possibility in an incremental fashion. Since it's
so young, and open source, there is plenty of room for
the community to help them to determine the best way to
build a three dimensional workspace that will actually
provide improvements in efficiency, usefulness, and
general coolness.
The main drawbacks? There is only one that I
can see. By building with all of these added layers in
the windowing system, Metisse barely runs on
machines without a 3d accelerated driver, on
my slow system it's not particularly responsive. That's
easily forgivable since the nature of the project is
research, but I wonder how much performance might
affect that research? It's struck me as fairly obvious
that even a two dimensional desktop should be taking
advantage of 3d acceleration in a video card, and
Metisse seems to promise that. At the very least,
Metisse has already shown several ways that a two
dimensional desktop can use 3d acceleration to its
advantage, and I'm looking forward to many new
innovations from these guys.
Comments (6 posted)
System Applications
Database Software
The beta 2 version of PostgreSQL 8.0.0 is out with numerous bug
fixes. Testers are needed.
Full Story (comments: none)
Version 2.6.0-rc2 of phpMyAdmin, a web-based MySQL administration tool,
is available.
"
Here is the second release candidate for version 2.6.0.
Thin[g]s are going well, version 2.6.0-rc1 was tested a lot (with more than 45700 downloads)."
Comments (none posted)
The September 7, 2004 edition of the PostgreSQL Weekly News
is out with the week's PostgreSQL database news and events.
Full Story (comments: none)
Dan Tow
uncovers a new type of database bug on O'Reilly.
"
In this article, I propose the recognition of a new class of bug, a class that is not generally considered a bug at all. Specifically, I propose that errors such as attempted conversions of unconvertible values or division-by-zero should appear only when absolutely necessary, when any execution plan conceivable would encounter the error. An SQL statement that returned an unnecessary error (an error that would not result from every conceivable path to the data) would be guilty of this new class of bug, a wrong-errors bug."
Comments (none posted)
Libraries
Libannodex version 0.5.67 is available with bug fixes.
"
libannodex is a C library providing a simple programming interface for reading
and writing Annodex media. Annodex is an open standards based technology that
extends the World Wide Web's hyperlinking, searching, and compositing
infrastructure to time-continuous data, enabling video surfing, searching for
clips of audio and video files using ordinary Web search engines, and
on-the-fly composition of a video on a Web server from previously annodexed
clips."
Full Story (comments: none)
Web Site Development
Version 3.2.21 of
mnoGoSearch,
a web site search engine, is out. Changes include improvements to the
blob mode, sorting search results in URL order, database driver
optimizations, and bug fixes.
See the
History document
for details.
Comments (none posted)
Version 0.9.10 of Xaraya, a web
content management solution and application framework,
is out.
"
In this 0.9.10 Beta release we see further
consolidation and stabilization of the code base and much enhanced
functionality. There is also a move towards a concentration on performance
and usability enhancements which are evident in the feature list for this
release."
Comments (none posted)
Miscellaneous
Version 0.0.4 of GParted, the Gnome Partition Editor, is out.
Changes include copy and paste of partitions, an operations list,
bug fixes, and more.
Full Story (comments: none)
Desktop Applications
Audio Applications
The first beta release of Aqualung, a music player for GNU/Linux,
is available.
"
Aqualung is a new music player for the GNU/Linux operating system.
It plays audio files from your filesystem and has the feature of
inserting _no_gaps_ between adjacent tracks."
Full Story (comments: none)
Version 0.2.10 of qjackctl, the Qt GUI for the JACK Audio Connection
Kit, is available. Changes include the addition of a pre-shutdown
script, better JACK shutdown operation, an ALSA driver Duplex mode,
a priority and setup control spinbox, and more.
Full Story (comments: none)
Version 0.10.0 Beta of
ReZound,
a graphical audio file editor, is available.
"
It has been a while since the last release. The major changes include: libSoundTouch support (pitch and tempo change actions added), Adaptive Normalize, new audio output code (towards JACK correctness), some speed optimizations, more status bars, stability fixes, Spanish translation, and other fixes."
The
release notes have more information.
Comments (none posted)
Desktop Environments
The September 3, 2004 edition of the
KDE CVS-Digest
is out with the following summary:
"
KDevelop has a new project builder. KMail now supports kwallet for mail account passwords. Krita adds KJSEmbed scripting support. KOffice now supports Indic."
Comments (none posted)
Electronics
The latest
new releases
from the gEDA project include snapshot 20040828 of the Icarus Verilog
compiler, development snapshot 20040903 of PCB, the printed circuit board
CAD package, and more.
Comments (none posted)
Games
Version 0.9a of
Planet Zephulor
is available from the PyGame site.
"
Planet Zephulor is a side scrolling platform arcade game under development. Currently the game spans 15 levels."
Comments (none posted)
Graphics
Version 0.98r004 of Crystal Space
is available.
"
Crystal Space is an Open
Source and feature rich 3D Engine which runs on Linux,
Windows, and MacOS/X." Changes include the
maturation of the new renderer architecture, skeletal animation
support, a VOS networking plugin, bug fixes, documentation
improvement, and more.
Comments (none posted)
Development Snapshot 2.1.4 of the Gimp
has been announced.
"
Using the newly introduced progress bar API, the progress bars that used to pop up while creating thumbnails or running a script are now embedded into the Script-Fu dialog or the File Open dialog respectively.
A new preview widget for plug-ins has been added and quite some plug-ins are already ported to the new widget. Finally an end to trial and error for finding the right blur radius or the proper edge detection algorithm."
Comments (none posted)
Instant Messaging
Version 0.7.8 of Gossip, an instant messaging client for GNOME,
is available.
"
This release fixes an issue where you have a global proxy set but you
don't want to use it for Gossip. Ross Burton was fast to answer a call
for help and added a setting in the account dialog to disable the system
proxy."
Full Story (comments: none)
Interoperability
The September 3, 2004 edition of
Wine Traffic is online with the latest Wine project news.
Comments (none posted)
Music Applications
Initial version 1.0.0 of Soundtank, a LADSPA host, is out.
"
In this program, you can use any LADSPA plugin with a pitch control as
a softsynth; multiple instances handle polyphony and MIDI control is
handled through user-customizeable Event Maps. As a perk, I have
included a command to automatically create Event Maps, ensuring you
instant gratification."
Full Story (comments: none)
Office Applications
The Brutus project has been announced.
"
The Danish Open Source company OMC has released Brutus.
Brutus is a free development framework distributed under the GPL
that offers access to all of MAPI and therefore to all versions
of Microsoft Exchange from 5.5 onwards.
Brutus is a complete wrapping of all of MAPI into a (large) set
of CORBA interfaces."
Full Story (comments: 2)
Version 1.10 of GanttProject, a Java-based Gantt chart planner,
is out.
"
New features include export to new
formats (XFig, CSV), management of role sets (now it is possible to define
application-level roles and share them in different projects). UI
improvements (new plastic theme, multiselection), WebDAV bugfixes."
Comments (none posted)
Office Suites
Build 1.3.3 of OpenOffice.org has been released.
"
This package contains Desktop integration work for
OpenOffice.org, several back-ported features & speedups, and a much
simplified build wrapper, making an OO.o build / install possible for
the common man. It is a staging ground for up-streaming patches to
stock OO.o."
Full Story (comments: none)
PDA Software
Versions 2.0.12 of Gnome Pilot and Gnome Pilot Conduits are available
with bug fixes and improved translations.
Full Story (comments: none)
Version 1.5.2 of Guikachu, the GNOME Resource editor for PalmOS
projects, is out. Changes include bug fixes, I/O error handling
improvements, support for GCC 3.4, updated translations, and more.
Full Story (comments: none)
Digital Photography
Version 0.0.2 of F-Spot, a photo management application for
GNOME, is available. Changes include a full screen slide show mode,
a preview popup window, new grouping options, thumbnail icon
editing, and more.
Full Story (comments: none)
RSS Software
Version 1.4.0 of Blam, an RSS reader for the GNOME desktop,
is available.
"
This release features automated periodic updates of the news feeds as
well as a notification when unread items exists. A couple of sorting
bugs has been fixed and support for marking all entries in a channel as
read has been added."
Full Story (comments: none)
Web Browsers
The latest Mozilla
Independent Status Reports are online
"
Brian King writes in with this week's Independent Status Reports,
which cover Mozilla-Delphi, LookAhead, Autofill, bioFOX, and more."
Comments (none posted)
MozillaZine
mentions a new online
Guide to Firefox extensions.
"
Gsurface wrote in to tell us that Flexbeta has posted an
in-depth guide to a number of the well known, and not so well
known extensions available for Mozilla Firefox. It covers close
to 30 different extensions, including web developer tools, full
application add-ons, existing feature enhancements and more."
Comments (none posted)
The September 6, 2004 edition of the Mozilla Links Newsletter
has been published. Take a look for a long list of Mozilla browser
articles.
Full Story (comments: none)
Miscellaneous
Version 2.0.0 of gnubiff, a mail notification application, is out.
Changes include an HIG 2.0 compliant interface, auto-detection of
mailbox format, bug fixes, and more.
Full Story (comments: none)
Languages and Tools
Caml
The Caml Weekly News for August 31 - September 7, 2004 is out
with numerous Caml language articles.
Full Story (comments: none)
Java
Eugen Kuleshov
writes about Jakarta Digester on O'Reilly.
"
In-memory XML representations such as DOM can be impractical for
large XML files, for which different approaches are needed.
As Eugene Kuleshov shows, Jakarta Digester offers a lighter,
event-driven alternative."
Comments (none posted)
Nuno Santos
introduces Java NIO on O'Reilly.
"
The support for I/O multiplexing is a new feature of Java 1.4. It builds on two features of the Java NIO (New I/O) API: selectors and non-blocking I/O."
Comments (none posted)
Brett McLaughlin
writes about Java Annotations on IBM's developerWorks.
"
Annotations, a new feature in J2SE 5.0 (Tiger), brings a much-needed metadata facility to the core Java language. In this first of a two-part series, author Brett McLaughlin explains why metadata is so useful, introduces you to annotations in the Java language, and delves into Tiger's built-in annotations."
Comments (none posted)
Lisp
Version 0.8.6 of LTK, The Lisp Toolkit bindings for Tk, is out.
"
The major change in
this version is a reworked communication subsystem between Lisp and Tk".
Full Story (comments: none)
Version 0.8.14 of Steel Bank Common Lisp is available.
"
This version features improved debugging facilities and
documentation, and performance improvements."
Full Story (comments: none)
PostScript
Version 2.7.99 of GGV, the Gnome Ghostview PostScript previewer, is
available.
"
Getting anxious prior to the upcoming release, the latest
incarnation of
Gnome Ghostview features an brand new desktop file that lists it as
capable of displaying application/postscript mime type (Ray) and an
updated, bug-fixed version of the recent-files code (Mark)."
Full Story (comments: none)
Python
The alpha 3 version of Python 2.4 is out for testing.
"
In this release we have PEP-292 string templates, a new syntax for
multi-line imports, and a large number of other bug fixes and
improvements. See either the highlights, the What's New in
Python 2.4, or the detailed NEWS file -- all available from the
Python 2.4 webpage.
This will hopefully be the last alpha in the Python 2.4 cycle -
a first beta will follow in a few weeks."
Full Story (comments: none)
O'Reilly has published some useful
Python resources.
"
Plucked from the pages of Python in a Nutshell and Learning Python, 2nd
Edition, these excerpts, available for download as a PDF (55K), offer a quick
reference to useful Python commands, covering methods, common file
operations, and much more. Print it out to keep by your keyboard as you
program."
Comments (none posted)
The September 7, 2004 edition of Dr. Dobb's Python-URL! is
online with the latest Python news and article links.
Full Story (comments: none)
Ruby
Michael Squillace and Barry A. Feigenbaum
explore JRuby on IBM's developerWorks.
"
JRuby combines the object-oriented strength of Smalltalk, the expressiveness of Perl, and the flexibility of the Java class libraries into a single, efficient rapid development framework for the Java platform."
Comments (none posted)
Tcl/Tk
The September 7, 2004 edition of Dr. Dobb's Tcl-URL! is out with
another weekly dose of Tcl/Tk article links.
Full Story (comments: none)
XML
Machtelt Garrels
looks at DocBook on Linux Journal.
"
DocBook is an XML Document Type Definition or DTD. It is a subset of XML particularly suited for but not limited to the creation of books and papers about computer hardware and software. DocBook is well-known in the Linux community and is used by many publishing companies and open-source development projects. Most tools are developed for the DocBook DTD and are included in most Linux distributions. This allows for sending raw data that can be processed at the receiver's end--wherever applications able to interpret XML directly are available."
Comments (none posted)
Bob DuCharme
shows how to convert XML to RDF on O'Reilly.
"
I had written a stylesheet called aws2rdf.xsl, but the more I thought about it the more I realized that such a stylesheet needed very few dependencies on the Amazon Web Services DTDs, and that it could convert a wide variety of XML to RDF. So, I revised and renamed it to xml2rdf.xsl, and we'll look at it here."
Comments (none posted)
Paul Ford
pulls data from the web pages of the US Senate in an O'Reilly
article.
"
In this inaugural article of Paul Ford's new column, Hacking Congress, he introduces his plan to create an RDF description of the U.S. federal government. He starts by collecting data on U.S. Senators and converting it to RDF. Future columns will focus on the House of Representatives and the Executive branch."
Comments (none posted)
Nicholas Chase
works with multiple web services requests using XForms.
"
A typical HTML form only lets you submit to one URL at a time, which makes it difficult to retrieve information from multiple Web services. This tip shows you how to use XForms to solve that problem by using multiple submissions from a single form."
Comments (none posted)
Debuggers
Version 2.2.0 of Valgrind, a tool suite for debugging and
profiling x86-Linux programs, is out.
"
2.2.0 brings nine months worth of improvements and bug fixes. We
believe it to be a worthy successor to the previous stable release,
2.0.0. There are literally hundreds of bug fixes and minor
improvements. There are also some fairly major user-visible changes".
Full Story (comments: none)
IDEs
Lothar Werzinger has written a new plugin for Eclipse.
"
This plugin allows to build C/C++ projects with the SCons build tool."
Full Story (comments: none)
Page editor: Forrest Cook
Next page: Linux in the news>>