Graphics
EFL
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.
Cairo
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.
Amanith
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.
Antigrain
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.
Clutter
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.
SDL
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.
Interaction
Processing
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 processing.org 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
Matchbox
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.
Ion
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.
Wmii
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.
Applications
Archy
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.
Bumptop
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.
Impure
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.
Lowfat
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.
Uzbl
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.
Croquet
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.
xcruiser
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.
wily/acme
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.
Glscube
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
Mezzo
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.
Plan9
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.
Minix
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.