Karma is a project to create an universal GUI for patcher-based languages like pd, jmax, etc.
It uses the QT Toolkit from Trolltech, allowing for a rich but still fast interface. The first implementation of Karma includes its own simple dataflow possibilities and uses QT 3.x. Current development concentrates on a complete rewrite, using the new QT 4.2 branch. Doing so brings a lot of advantages on the programming side, since most of the needed functionality is already available. This icludes stuff like canvas zooming, big parts of the event handling on behalf of objects on the canvas (wich are different from the normal QT widgets), as well as more advanced stuff like auto-completeion in different styles.
While Karma itself will provide only the gui, external libraries can be plugged in as dataflow cores. Currently Tim Blechmann is developing pnpd (name subject to change), which will become Karma's default dataflow core. As of now, cores are used in the form of libraries, but there will support to access cores over the network as well. Karma will be able to handle multiple cores at the same time, and, if the cores in question allow, even data exchange between different cores.
Some stuff that is planned for the new Karma release: Karma will implement a lot of paradigms that are used in different types of software usually. For example, grouping of object will be implemented. Imagine a virtual mixer desk. You can group faders together, groups can even overlap, and then you can move or handle all sliders in that group at once. Also for patch layout this is an advantage, since you can move functional blocks at once on the patch, regardless of the current object selection. Objects can be scaled independently on the canvas, while the canvas can still be scaled at once.
More info about the older Karma can be found on http://karma.mamalala.net

