This is very much a work in progress and the ideas are still forming and congealing. It is tricky to try and come up with something Brand New when you have a lot of prior art everywhere you look.
While designing Plasma I'm starting not with visual descriptions but functional ones. Working with artists, people whose forté is visual expression, these elements will take shape in the form of story boards and mockups. Then the graphics developers and the application developers will breath life into the dreams.
And so we begin ...
A Word on Correctness
Part of the Plasma vision is obviously stunning looks. However, all the graphics effects will be done "properly", which is to say no ugly hacks but using the newer X11 capabilities such as COMPOSITE. This means that those with older and less capable X servers will not be able to see every possible bit of eye candy, but those who do will appreciate the usage of these technologies. This also means that no aspect of eye candy must become critical to the operation of Plasma.
Low color, accessibility and networked sessions much also all figure into the equation. Instead of trying to accommodate all possibilities equally well with the same settings and capabilities, Plasma may well ship with ability to run in several separate modes: full metal jacket, low colour, accessibility, network optimized, etc. This flexibility must be maintained as a central precept during development.
The Desktop
Since the introduction of the Mac in 1984, mainstream environments have treated the desktop as a file manager view. The user is allowed to put icons there but it's pretty much a world of its own separate from the rest of the desktop, and is often obscured by windows. Superkaramba, the show desktop action and the trend away from desktop icons are all natural reactions to this limiting approach.
In Plasma, the desktop is not a file manager view. Icons will still be able to be placed there, just as you can put application launchers and links to files and locations you are working with, but that will not be the grand purpose of Plasma's desktop. Instead, the desktop layer will be a place to interact with your system and a place for the system to interact with you. This means providing an exensible user interface. It shouldn't be busy, but it should be useful.
In Plasma, the desktop is not condemned to obscurity by nailing it underneath the other windows. The desktop will be able to rise above and fall below on command.
In Plasma, the desktop is not a single static sheet. One may flip between any number of individual layouts on the desktop, and those changes will be driven by the context of what you are currently doing. If you are working on that new novel, you probably need and want a different set of items and services on the desktop than you do when you are indulging in your hobby of fly fishing lures.
Panels
Just as in current KDE releases, it will remain possible to have multiple desktop panels. They may be arranged along any edge of the screen or they be "torn off" and set to float about where you wish.
Panels are simple containers for other Plasma elements. As such they must accommodate the needs of these elements. This includes providing extenders (see below) and reflecting the contents of any given area of the panel through visual cues. For instance, an area of the panel with system tray icons may look visually distinct from areas with application launchers.
Panels ought to recede into the background and so much not be garish in their default styling. They will remain as simple as possible while offering things such as proper translucency.
Extenders

Early Extender Concept
Extenders are a standard graphic element available to all Plasma elements, including system tray icons. An extender will appear on a mouse click or hover-n-pause (as appropriate) and will animate into view, appearing to come "out of" the element, thereby temporarily extending its usable space to present information and interface.
This may look like a drawer or an actual "growth" out of the panel. The purpose is to provide a generic area for the panel element to populate with custom widgets that don't need to be visible all the time and which would not otherwise fit comfortably in a thin panel. Think of a groupware element popping up a miniature version of your summary TODO page, or the trash applet showing the contents of the trash in a list.
Applets
Applets are the basic unit for Plasma additions. They may be authored in C++, ECMA Script, Python, Ruby or Java and can be placed on panels, the desktop or "floating". The applet toolkit, itself written in C++ but exposed via bindings to multiple programming languages, will make applet development easy and the final product fast and efficient.
For applet creators, an applet creation studio is being designed. For users, the ability to install new applets over the network will be made easy through integration with Get Hot New Stuff. Applets must be easy to create and even easier to install, and so that is a prime objective for Plasma.
We are currently working out details as to the graphics and compositing capabilities that will be offered to applets via the Plasma framework as well as the actual toolkit API. Details will be added here and elsewhere on the website as design progresses.
Topics Yet To Come
These are initial elements. The building blocks, if you will. As we flesh out more ideas, this page will grow with further entries including:
- icons and buttons
- task management
- the clock
- the system tray
- the virtual desktop pager
- application launch interface
- default menus
- .. probably lots more
