The Tokamak4 Files: Solid
This is the first article in a series of articles that wrap up achievements, work in progress and some background of what happened during Tokamak4, the Oxygen, KWin and Plasma sprint. Tokamak4 took place from 19th to 26th February 2010 in Nürnberg, Germany in the openSUSE premises and was kindly made possible by Novell and KDE e.V. During the sprint, 26 hackers gathered to work on various aspects of the KDE user experience. The combined sprint of the workspace and window manager teams and the Oxygen artwork team made cross-collaboration possible across these KDE software components.
In this article, we actually start off with a side-track of Tokamak4 which was hardware integration. It turned out that many people working on this were actually participating in Tokamak4, so the team took the opportunity to sit together and hack some on different aspects of hardware integration in KDE SC and specifically Plasma.
Solid Plans for the Future
During Tokamak 4 in Nürnberg, several developers of Solid, the KDE Platform component that offers integration of hardware and networking functionality to KDE applications in a platform-independent way, sat together and discussed their plans for the future. One important change is that multiple Solid backends can now be loaded at the same time, providing information from different sources in parallel. A first implementation of this change has been done by Kevin Ottens during Tokamak 4. This change allows for more flexibility within Solid, especially for the support of new middleware such as upower, udisk and the like.
The Solid hackers, or Metalworkers as Kevin "ervin" Ottens started to call the crew, have also decided to expand the scope of Solid a bit to virtual devices and devices on the network. One important addition that is planned, and already in part implemented by Friedrich Kossebau is support for UPnP.
UPnP
More and more devices that support UPnP are popping up in your author's network. The media center and NAS offer their content via UPnP to the network, the phone and mediacenter are able to play those files directly over the network. With KDE targeting a wide device spectrum, UPnP cannot be missed out any longer. Friedrich Kossebau has now landed the first bits of UPnP support into Solid, based on the work by Bart Cerneels. The code uses the Coherence server as underlying middleware and already allows detecting UPnP media servers on the local network.
Solid's hardware browser showing UPnP devices
For interested students, there are proposals for possible projects taking part in the Summer of Code to bring this work to further fruition.
Network Management
The Network Management team, Will Stephenson, Alexander Naumov and Sebastian Kügler sat together to work on functionality to easily connect the computer to wired and wireless and mobile broadband networks and to VPNs. The Network Management Plasmoid which has the focus of the developers now uses a service which can "talk to" different underlying network management systems. Currently, there is a backend for NetworkManager and another one for WICD is in the works. This allows the developers to build a UI suitable for a given device rather than having to duplicate work for the underlying layers as well.
Some distributions already ship KDE 4 network management in the form of KNetworkmanager, a small application that sits in your notification area and offers network connections using a context menu. During the meeting, several UI improvements have been worked out which combined will create a natural workflow in a simple but very powerful user interface. Many of the changes that were discussed have already been implemented. The Network Management team has also gained some fresh blood, in the form of Kubuntu-hacker Aurelien Gateau, who has already committed an impressive number of bugfixes and UI improvments and with Shantanu Tushar Jha, who has improved the visual feedback for unplugged network cables. You can find more information on Sebastian Kügler's blog, here and here.
The new Network Management Plasma Widget
In the meantime, many of the design choices the team has made are already implemented in the network management plasmoid. Many interaction bugs have been fixed, VPN support for the plasmoid has been implemented and the first test results of this new piece of hardware interaction UI are promising.
Setting up network connections
Bluetooth
Independently from Tokamak, but closely related to all the work that is going into Solid these days. Alex Fiestas, Rafael Fernandez Lopez and Eduardo Robles Elvira have decided to give lots of love to the bluetooth functionality in KDE SC. The system the Spanish developers are working on is called BlueDevil and aims to provide bluetooth service discovery, pairing, file browsing and transfer. The system will be built of a kded module which receives and multiplexes bluetooth events via DBus and a KIO virtual file system slave for file management. The bluetooth System Settings module will make it easy to manage your bluetooth devices. Alex Fiestas regularly updates us on his blog at afiestas.org about the current state of things