The Enlightenment foundation Libraries. Project Elevate used to depend on them. Very powerful and very optimized even for older machines. They are pixel based but the resizing algorithm is really great. They include an semi-compiled interface description language full with scripting support and embedded image resources. They power the next version of Enlightenment (version 17).
pros: Very fast. Very powerful. Pixel based. Almost a complete framework.
cons: Not released yet. No scalable text. No rotation in Edje/Evas.

Vector graphics at their best. Cairo already powers recent versions of gtk+ and at some point it may be included in openoffice, inkscape and Mozilla. Multiple back-ends include PS, PDF , SVG and PNG surfaces. Seems to be the future (at least for gtk/gnome apps) Optional mapping to OpenGL via the glitz libraries for maximum performance. Project Elevate uses Cairo for its graphics.
pros: Very high quality. Frozen API. Widely used. Resolution independent interfaces.
cons: Not as mature. Needs optimizations. Too low level. Needs a canvas library on top.

Skia Graphics Engine
Graphic library similar to Cairo bought by Google in 2005 and open-sourced along with Google Chrome. It is in C++ and powers Google Chrome, Chrome OS and Android. Offers some interesting features such 3x3 transformation matrices, optional OpenGL acceleration and built-in animation. Relatively new so benchmarks are not available yet.
pros: Mature codebase. Advanced features. Acceleration is optional.
cons: Almost no documentation. Only used by Google so far.

Another vector graphics library. Although it is in C++ and comes bundled with qt examples it is NOT the qt/KDE opponent of cairo. It depends on OpenGL and seems fairly mature. Not a standard package in distributions though, unlike Cairo.
pros: Really fast because of OpenGL. Extensive API. 3D accelerated vectors.
cons: Depends on OpenGL. C++ alienates some developers. A bit low level.

Another older Vector library. Based on C++. Geared towards scientific applications and mathematical functions.
pros: Seems stable. Very high quality of rendering.
cons: C++ may alienate some developers. Animation is not a clear goal.

Recent canvas library. Seems to complement matchbox. Very good API and integration with several other projects (e.g. gstreamer, cairo). Does not require gtk+ or any other toolkit. Offers real smooth animation via OpenGL.
pros: Well thought API. Fast graphics. Uses GObject.
cons: Not mature enough. Depends on OpenGL. Fixed interfaces.

SVG and librsvg
SVG is the W3c standard for vector graphics. It is based on XML. It is already used by Cairo, Inkscape, Adobe and has even been ported to mobile phones via the svg-small and svg-tiny specifications. The full specification includes animation support attempting to replace Flash in some way. KDE and GNOME can use svg icons/wallpapers for some time now.
pros: W3c standard. widely deployed. Seems to be the future.
cons: Several partial implementations. Attempts to play too many roles.

Simple DirectMedia Layer. A cross platform library giving you low level access to graphics and sound of a machine. Very thin and compact. Widely deployed even by commercial games.
pros: Seems mature. Also supports OpenGL for extra speed.
cons: Main target are games and not applications. Needs a toolkit on top.


A dream come true. A unique library with Java like syntax that allows non-programmers to create impressive animations and interactive media. Anyone who wants to explore animation/interaction in an easy and friendly way should start from here.
pros: Cross plaform. Familiar syntax. Can be used by non-programmers. Very mature.
cons: Limited for complex applications. Java is memory hungry.

Open Frameworks
Shares the same idea with Processing. It is written in C++ so that it can integrate easily with other libraries for image recognition, physics or video.
pros: Cross platform. Very flexible. Very fast. Integrated video player
cons: Requires programming experience. Not as mature as Processing.

Cinder Library
Another library for creative coding in C++. While openframes is cross-platform, cinder has zero support for Linux. You must also work in Xcode and Visual Studio for Mac and Windows platforms respectively. On the other hand its taps into the full capabilities of each platform by utilizing native libraries of the OS, unlike openframeworks that bundles its own libraries for everything. Also cinder is not for beginners who should better look at if they just start.
pros: Native support for its target platforms. Supports also Ipad/Iphone
cons: No Linux support. Advanced programming skills required.

Polycode Library
The newest library for creative coding also in C++. Works similar to openframeworks and cinder. It can be scripted howevever in Lua which is a major advantage for those who find C++ hard.
pros: Can also by used by Lua instead of C++.
cons: No Linux support. No stable release. Geared towards games.

Box 2D
The well-known Physics engine. Professional solution that powers a lot of high profile games. Written in C++.
pros: Very mature. Extensive application base. Cross platform. Many language bindings.
cons: Main focus seems to be on games.

Chipmunk Physics
Similar idea with box2d. Written in C this time.
pros: Integrates easily with pure C applications.
cons: Not as mature as box2d.

Window Managers

A window manager for embedded systems. Only maximized windows.Full netwm support. Can be used on the desktop too by children or Aunt Tielly.
pros: Low footprint. Perfect for embedded systems.
cons: Limited for power users. Cannot be used by programmers.

One of the first non-overlapping window managers. Highly scriptable using Lua scripts. Really fast and lean. Supports also tabs on individual frames.
pros: Low footprint. Good for power users. Keyboard-driven.
cons: Too many keyboard shortcuts. Lua is not very popular.

One of the most influential non-overlapping window managers. Latest versions support columns similar to acme from Plan9. Very fast. Keyboard and mouse driven. Scriptable. Supports the 9p protocol.
pros: Layout combinations. Intuitive keyboard shortcuts. Tags on windows.
cons: No clear roadmap. Not as dynamic as its the previous version.

Awesome WM
The latest offering on non-overlapping window managers. Attempts to integrate the best ideas from existing tiling window managers. More flexible and user oriented. Offers modern features such as integration with Gnome, systray and Xinerama. Very configurable status bar. Really fast.
pros: User requests are honoured. Modern features. Based on XCB instead of Xlib.
cons: May eventually suffer from feature creep.


The experimental interface attempting to follow Jef Raskins thoughts on usability. Works on many platforms. Radical thinking. At the moment only editing text.
pros: Nice and clean UI. Interesting future.
cons: Reminds Emacs at several occasions. Project is dead.

Experimental desktop table. Based on direct manipulation of files and folder in 3D. Cool ideas regarding grouping and searching. Uses mouse/pointer gestures.
pros: UI similar to real life. Nice graphics.
cons: Unknown roadmap. A prototype only. Not sure if it moves away from desktop.

A generic framework that allows building vizualizations from "lego" blocks of basic modules. Contains data sources, APIS, operators and several visualization types that need no programming code at all. Very friendly interface that runs directly from the web browser. Cool ideas regarding grouping and searching. Uses mouse/pointer gestures.
pros: Connecting basic blocks is a very intuitive UI. Can be used by business analysts as well.
cons: Flash based. No open-source. Limited by modules available.

The desktop viewer from the future. Impressive graphics. Direct manipulation. Zooming and panning on photos. Uses Open Gl
pros: Very intuitive. Next generation look and feel.
cons: No stable release. Unknown roadmap. Uncertain future.

Web browser based on the Unix philosophy. Uses Webkit. Very flexible and configurable. Works like vimperator
pros: Perfect for keyboard users. Extended via scripts.
cons: A little spartan UI. Not suitable for novice users.

Virtual words for users. Collaborative environment. The Internet as seen in the movies. Keeps backwards compatibility with current applications. Uses a virtual machine and is based on OpenGL. Freedom to design the interface in 3D.
pros: User centered. Open source. 3D world collaboration.
cons: Academic prototype. Limited networking. Not many people know smalltalk/squeak.

Move into the galaxy of your filesystem. Navigate in 3D inside your folder and files.
pros: Interesting idea. Really fast.
cons: Not very intuitive. Development seems stalled.

A text editor, Unix plumber, mail client, filemanager. The universal application for command line lovers. Another great idea by Plan9 . Endless abilities with the number of scripts and console application available on Unix systems.
pros: Power users will love it. Really fast and slick.
cons: Casual users would not even understand what is going on.

Semantic Storage for GNU/Linux. Filesystem on top of database. Dynamic directories by tagging. Backwards compatibility via FUSE module for POSIX applications. Graphical frontend prototype.
pros: Well thought idea. Even better implementation. Desktop agnostic.
cons: Heavy on resources. Requires external database. Stalled development.

Operating Systems related

The user interface from the Symphony OS. User centered. Tries to lock down and simplify the desktop. Interesting concepts behind the graphics. Separate engine for widgets.
pros: Well thought graphics. Live CD available.
cons: Not complete yet. Uncertain future.

One of the most interesting Operating Systems around. Unix done right from the original creators of Unix itself. Built for the network. Can share folder/application/devices across the network. Universal mounting of everything. Several ideas like the 9p protocol have even reached the Linux kernel. New GUI doing away with X-windows. Sadly it seems it has failed to amass the critical user base.
pros: Unix at its best. Would be the next generation OS.
cons: It has failed. Limited hardware support. Development is slow/stopped.

The POSIX OS built by Tannenbaum himself. Version 3.0 is a micro-kernel. Goal is to make a computer as reliable as a washing machine/car. Kernel is less than 4000 lines of code. Light footprint. Not only an academic prototype.
pros: Open source micro-kernel (QNX is closed). POSIX compatible. Supports X-windows.
cons: Limited hardware support. Overshadowed by Linux.

One laptop per child
The project that has reached even the non-technical press. Several developing countries have ordered it. Powered by Fedora Linux. Since it has a small screen and is destined to be used by children has implemented several interesting ideas regarding usability.
pros: Sugar interface breaks the desktop metaphor. Simple and minimalistic UI
cons: Not directly available to consumers. A bit underpowered.