Tokamak, the first International meeting of Plasma was held in Milano in northern Italy over the last weekend. 14 people joined the fun and spent some days hacking on the KDE 4 desktop shell. For the most part, it was like meeting friends, only that some had never met each other in person before. The meeting was filled with small sessions, such as discussing target users for Plasma to optimise the Plasma interface for. Topics were target users, underlying technology, scripting, integration with other parts, webservice integration, visual presentation, porting of Plasma to new technology in Qt, Italian profanity and how everybody loves pizza.
Reaching out to new levels. More photos in the gallery.
Part of the meeting was dedicated to large changes under the hood in Plasma. In Qt 4.3, which KDE 4.0 is based on, it was not possible to use QWidgets on the QGraphicsView canvas. Trolltech has addressed this problem in Qt 4.4, so we're now able to use QWidgets in Plasmoids. This deprecated quite a lot of code in libplasma, so the Plasma developers were able to remove that, reducing maintainance burden, size of the codebase, memory footprint, but at the same time Plasma becomes more powerful and easier to use for those that already know Qt. Moving over to QWigets involved tearing large parts of Plasma into pieces and putting them back together. Alexis spearheaded this effort and had other people jump in from both, Tokamak hacking place, but also via IRC directly. The worst breakage happened during Sunday, by Monday night, quite a lot of Plasmoids were functional again, some with reduced featureset, others with issues fixed. In any case, the Widgets-on-Canvas port will be well worth the effort and pain of porting and will allow for much more powerful Plasmoids.
Richard Moore led the scripting effort that should result in a dual API that provides both easy and powerful ways to script Plasma. The developer base
In the KDE 4.2 timeframe, the Plasma developers plan to have libplasma moved into kdelibs. Kevin and Richard started going through the whole visible Plasma API shared thoughts about how to improve it, noted them on the whiteboard and provided detailed suggestions how to improve the API. Transscripts of the whiteboard are up on Techbase. Porting the API to this will start soon.
Nuno Pinheiro presented his vision about Plasma. He made other developers aware of how artwork works, and how that relates to writing Plasmoids and theming capabilities. Nuno provided entropy to the developers by broadening the scope of the meeting and providing additional input from a non-developer's point of view.
Containments and KRunner
Chani has done some work on Containment switching. When zooming out, the Plasma toolbox now shows an "Add Activity" button that can be used to add a containment to the desktop. Those containments are 'customized' desktops that carry their own set of Plasmoids. This makes it possible to have, for example, a "fun" containment with twitter applet, a game plasmoids, comic and the like for freetime usage, and use another containment with RSS Feeds from commits and a folderview Plasmoid for coding work. This also lifts a bit of the curtain what this "Zoom out" button in the toolbox actually is about. How this feature is related to KWin's virtual desktop remains to be sorted, however.
Riccardo and Davide have been working on the new user interface for KRunner. While there is nothing visible yet (and the authors prefer to keep mockups for it private for now), there is not much to see yet. Some polishing of the artwork and text input has already been done, however.
Andreas Aardal Hanssen dropped by for one-and-a-half days to tell us about plans in Qt for the next months, and solve some problems with us we have with QGraphicsView. Performance improvements in Plasmoids are the direct result of this session, but it was also interesting to see how well Trolltech listens to the Plasma community by planning for implementation of features Plasma will greatly benefit from.
Another visit to the Tokamak people was paid by two Italian researchers who are currently working on a service oriented architecture that could be used in Plasma to decouple services, such as DataEngines from local machines and make them available on the network. Some Plasma developers agreed to work with the JOLIE researchers on a paper that will be presented to the research community later this year.
Target User Profile
After Celeste started the target user research project only a couple of weeks ago, the first results were presented to the Plasma developer to seed them into the community and reflect those changes in Plasma's user interfaces.
The First Meeting...
And most definitely not the last. The Plasma community, being quite young is already flourishing. The humongous amount of work done proves that this kind of sprint is an excellent means to jump ahead on technology. It is surely not the last Plasma meeting, and yours truly is already looking forward to "Tokamak II" (although there are no plans for it yet, and some weeks without pizza will be appreciated). Also, Tokamak would not have been possible without the support of the KDE e.V. and our friendly host Riccardo Iaconelli and his family for their great display of support for the Free Software desktop.