<h1>Third Plasma Summit Lifts KDE Desktop to Higher Grounds</h1>
Last week, the fourth Plasma developers meeting was held in Randa, Switzerland. 15 developers from 3 continents came to Randa, Canton Wallis in Switzerland to work on Plasma's code, design new ideas and concepts and to strengthen their bonds as a sub-community within KDE. Topics of this third Plasma sprint, which is named after a plasma fusion reactor included, but were not limited to Plasma on mobile devices, network-enabled Plasma widgets, a richer user interface thanks to a new animation framework, deeper integration of web services in to the Plasma shell, semantic awareness of Plasma components, secure privilege elevation, polishing of the existing functionality, and many others. The results of Tokamak III are, with all due modesty, nothing short of mind-blowing and display the health and swift pace of development of the whole KDE community. Plasma lead developer Aaron Seigo wraps up "<em>It's been one of the longest KDE sprints ever, and after a week, we're all quite exhausted. Looking back at the results, however, we've shown impressive progress all over the KDE desktop shell. We're reaching out to new use case, new developers, new devices. Meanwhile the social aspects within the Plasma team continue to impress me. The Plasma team has grown into a small community, a group of friends that have set out to revoluionize the desktop. With the previous KDE releases, we've mainly focused on providing and improving existing technology, now we're pushing the boundaries of the Free Desktop. Looking at the results that have materialized over the past week, this is the Plasma promise coming true. And we've only just begun...</em>"
<h2>Remote Controlling KDE</h2>
Dutch Plasma hacker Rob Scheepmakers presented the results of his work on sharinng and controlling Plasma applets and KDE applications over the network. He presented how the user can easily share locally installed widgets over the network. As an example, he showed how to share the "Now Playing" Plasmoid with other machines and users on the local network. The "Now Playing" Plasmoid can now be used to control the media player running on another computer, all using KDE's Plasma technology. Under the hood, a number of technologies for communicating, concerting and announcing local services is used. For announcing the availability of an applet on the network, the ZeroConf protocol is used. The concertation and transferring of applets, data and control commands happens using the JOLIE and QtJolie technology. The remote widget support is another long-planned feature planned for Plasma finally which will become available in the 4.4 release, as Scheepmakers worked hard to ready the API and polish the user interfaces to meet KDE's standards for inclusion in a main module. <em>The remote control of a media player on another computer is only the tip of the iceberg of what we make available across the network. Prepare for some completely new and truly innovative collaboration and interaction features coming up using this unique new technology</em>", Rob lets us know.
<h2>Plasmate Development Update</h2>
Plasmate, the working name for a new Plasma developer tool that provide a workflow-oriented tool to make it easy create Plasma components such as widgets. By providing this kind of tool on top of scripting languages that can be used to create Plasma components, we open development of Plasma add-ons to a much wider audience. Plasmate specifically targets programmers and designers that are curre ntly focusing on webtechnologies. This way, JavaScript (or rather its ISO-standardized version ECMA script) becomes a first-class citizen to develop Plasma components that can be shared across the network, for example using the new remote widget support or web services such as Get Hot New Stuff, the application-store functionality integrated into many KDE applications and frameworks.
<h2>KAuth Provides Secure Privilege Elevation</h2>
KDE developer Dario Freddi presented the work of his GSoC student Nicola Gigante during Tokamak III. The project's aim was to provide fine-grained user privilege elevation using the FreeDesktop.org PolicyKit technology. PolicyKit provide a D-Bus interface offering control for actions that can be run in a different user context, for example by running certain commands as root. Freddi readied the KAuth library for inclusion into kdelibs and integrated it with various elements of the user interface, such as the Date and Time configuration module in KDE's System Settings. He also added a specialized version of a KPushButton that can be attached to a certain action to be run with elevated privileges. This makes it almost trivial to provide direct manipulation of system administration tasks in a secure way, well integrated in the user interface and the set of policies the underlying operating system provides. "<em>KAuth currently works on Linux and Mac systems, support for the Windows platform will be added soon</em>", Freddi explains. More work on integrating KAuth into System Settings and other parts of KDE is needed, but the work up until now surely paves the way to a more secure and at the same time more user-friendly integration of KDE's desktop and applications with the underlying OS.
<h2>New Widgets Exporer</h2>
Plasma designer Ana Cecília Martins Barbosa presented the work she did within this year's Summer of Code to her fellow Plasma developers. The new widget explorer has been developed using a design-driven development approach. Based on the research results AnnieC gained within the first part of her SoC project, she subsequently implemented a completely new way of adding widgets to the Plasma shell. During Tokamak III, she implemented additional feedback from fellow developers and was able to merge her work into KDE's trunk development tree, meaning that it will be available as part of KDE 4.4 in January. The new widget explorer provides a more beautiful and usable interface for adding Plasma widgets to the desktop or netbook shell and integrates better with other Plasma components such as the Panel controller which is used to manipulate visual and layout aspects of panels in Plasma. While some more polishing is still needed, the whole team is happy to see yet another Summer of Code project come to fruition.
<h2>Plasma Netbook Shell to be Released in January</h2>
Plasma developers Marco Martin and Artur Souza demonstrated the new Plasma Netbook project, a user interface specialized to be used on netbook devices. The Plasma netbook shell has moved to the kdebase module, making it part of KDE 4.4. The netbook shell is built around constrains on these kinds of devices, in terms of screen space but also optimized for use-cases around the web. The Newspaper page of the Plasma netbook shell provides direct access to information from the web that is important to the user, such news on interesting websites and weather information. These are only the first step of deep integration of the web into KDE applications and Plasma, more steps towards this direction will become apparent in the next months.<p />
Plasma netbook's application launcher page leverages KRunner plugins to provide all kinds of functionality in a full-screen view. Application switching, access to the file index, Wikipedia search, a quick calculator -- you name it, the new application laucher provides it in an appealing way, optimized for this kind of devices.
<h2>New Anchorlayouts Enhance Canvas-Based Interfaces</h2>
INdT and Plasma developer Artur Souza presented a project, his team and the Qt developers in Oslo have been working on over the last months. The new Anchorlayouts provide a way to position user interface elements relative to each other filling a gap Plasma developers have been experiencing when experimenting with new ways of layouting UI elements on the Plasma canvas.
<h2>KDE and Plasma on ARM</h2>
The Plasma developers worked on running KDE on a so-called "mystery device", a working name for a class of low-performance class of devices based on the ARM architecture. As a reference device, the developers used a 800 Mhz ARM CPU and 512MB of RAM. During the sprint, KDE 4.2's Plasma was presented running on the device. The overall performance was quite good, although it showed room for improvement. Even without having an accelerated graphics driver available at this point, the developers were quite happy with the performance so far Souza a.k.a Morpheuz <a href="http://blog.morpheuz.cc/04/09/2009/white-as-snow/">reports on his weblog</a>. Using Qt 4.6 on the device gave another boost in performance. <em>"Even with the short time available to make Plasma run on the device, and without having a proper graphics driver available, we can now be sure that running Plasma on this class of devices is absolutely feasible. I'm sure that, with a bit more integration work, Plasma will offer a premium choice for UI technology on this new class of devices."</em> concludes Souza.
<h2>Plasma Team Provides Input and Feedback to Qt Developers</h2>
Alexis Menard from the Qt team presented the innovations in the new version of the Qt framework. KDE, and especially Plasma will be able to benefit from vast performance improvements in the QGraphicsView canvas. The addition of Qt Kinetic enables Plasma to easily animate various parts of the UI, using this standard framework. The addition of Qt Kinetic marks a milestone is what can only be described as a successful collaboration between Qt Development Frameworks and Nokia. During the first <a href="TODO:link tokamak I">Tokamak</a> meeting in Milan, Italy, Qt engineer Andreas Aardal Hanssen had presented the plans for a standardized and shared animation framework in Qt, oriented, amongst others towards the need of rich, canvas-based user interfaces. Subsequently, the Plasma developers have provided use-cases, feedback and API reviews to make sure that Kinetic meets its users' needs and provides the tools necessary to enhance UIs built on top of Qt with smooth and natural animations while being easy to program. During the second Tokamak meeting in February 2009, Qt and Plasma developers Menard presented an example of the Plasma picture frame using kinetic to animate transitions between images in a slidehow. Qt Kinetic will be part of Qt 4.6 which has recently entered feature freeze and will be released in late 2009. The Plasma developers have taken the first steps to be able to use Kinetic in KDE's upcoming release, 4.4 which will be released in January 2010. In the course of the week, a Google Summer of Code project to integrate Kinetic into libplasma has entered review stage, and wil probably be merged into KDE's upcoming release branch in the next weeks.<p />
Menard also talked about vast performance improvements in QGraphicsView and how these were achieved. For selected use-cases, the performance in handling items on the GraphicsView canvas has been improved by orders of magnitude. Those changes will automatically become available to KDE by using Qt 4.6.<p />
Another new piece of technology the Qt team is working on is QML, the Qt markup language. Menard gave an update of the progress in this field, after Plasma developers had provided an initial round of feedback earlier this year. QML is an implementation of the declarative UI technology that wil make it easier for designers to build rich user interfaces on top of Qt. The Plasma developers are looking forward to use QML in order to make it easy to build Plasma components in a visual way, much like Qt designer does for traditional widgets.
<h2>Community and Team-building efforts</h2>
An important aspect of this kind of developer sprints is the team building and -bonding aspect. Getting away from their keyboards once a day, the team did a daily nature walk. With the terrific surrounding of the Oberwallis, the scenery provided a unique opportunity to re-charge the batteries and talk about various things off-line for a while. Experience with this kind of focused developer meetings has shown that personal interaction is an essential ingredient for good collaboration online. Activities off the keyboards included hiking in the surrounding swiss Alps, building a dam in a mountain creek and going up onto the "Kleines Matterhorn", one of the mountains surrounding the valley at a height of approximately 3800 meters. The atmosphere in Chalet Nachtigall, (the "<em>Plasmaniac Mansion</em>") was very family-like with the daily lunches and dinners, where everybody sat around a table. In terms of productivity, the results of this meeting are nothing short of impressive.<p />
Over the course of the week, the team welcomed a number of visitor, both local and regional. The local newspaper "Walliser Bote" had published an article and interview with Mario Fux, the organizer and host of Tokamak III, which drew attention of people from Randa who dropped by to take a peak at how the new breed of technology enthusiasts collaborates. The team also welcomed Mark "Markey" Kretschmann and Myrian "Mamarok" Schweingruber during the sprint, and a number of
<h2>Other Achievements</h2>
The performance of the job viewer in the new Plasma system tray has seen some major performance optimizations. Davide Bettio has overhauled the structure of Plasma's configuration dialogs in an effort to reflect the mental model of the user closer, rather than the technological structure of these components. Sebastian Kügler presented his work on a new, netbook-friendly Plasma network management applet and a work on integrating information from the Akonadi PIM storage framework into Plasma. Chani Armitage has further polished the work on mouse plugins for Plasma she conducted as part of her Summer of Code project. Artur Souza has separated back- and front-end of the Plasma pastebin widget. This widget now consists of a Plasma applet and a dataengine, making it easier to share this web service between applets. Ivan Cukic has worked on Plasma's context, a service using the Nepomuk semantical framework as provider of context information. In the future, this will be used to adapt applications and the Plasma shell what the user is doing, where he is and other environmental constrains. Cukic, who is the main developer of Lancelot, and innovative application launcher for Plasma and an alternative to the KDE "start menu" Kickoff, integrated KRunner plugins into KDE's default application launcher. While Kickoff is in theory a competitor, or rather a replacement for Kickoff, Cukic showed great team spirit by implementing this substantial improvement into KDE's default setup. KRunner plugins are used to provide matches for the search bar which can be found in Plasma's application launcher, making this technology more accessible to everyday users. <p />
Martin Grässlin, developer of KWin (pronounced: "<em>Quinn</em>"), KDE's window and compositing manager joined the Plasma sprint to provide feedback about deeper integration between KWin and
Plasma, and to implement new border snapping features of KWin, much like the new mechanism Windows 7 provides. This, and the support for tiling and tabbing, which Grässlin told us will be included in KDE 4.4, and which complements nicely the leaps Plasma is making in this release cycle.
<p />
With all the work on new features, Plasma developers surely did not forget to further stabilize the current set of features. During the sprint, every day saw annoying bugs being squashed and the less intrusive fixes among them being backported to the 4.3 branch. A more stable set of features will be made available to the users with the upcoming monthly bugfix and translation updates the KDE team provides -- a number of the improvments made, such as the performance optimizations for the job viewer, are scheduled to become available as soon as KDE 4.3.2 comes out next month.
<h2>Tokamak III Concludes</h2>
The Plasma team thanks the KDE e.V. for providing funding to the team, which only made it possible to bring people from all over the world together in one place to collaborate on KDE's primary user interface. Special thanks go out to host Mario Fux, who not only provided the unique premises of Chalet Nachtigall in Randa, but also took care of all the needs of the developers. The meeting was certainly a very unique experience and enabled the developers to fully concentrate on work while gaining new inspiration and ideas. Without the KDE e.V.'s financial support and the friendly support of Mario Fux, this would not have been possible.