Last week, a group of Plasma Active hackers and designers met in basysKom's office in Darmstadt. The officially dubbed "Plasma Active Three Sprint" had as its goals to plan the next release of KDE's device-spectrum user experience, define work needed to accomplish this release, design user interfaces for new features and enhancements, and of course get cracking. Another point of focus was to work on a few things that need to be done before the launch of the SPARK, the first consumer device featuring a fully free and openly developed software stack, running KDE software.
Since its inception less than a year ago, a lot has happened to get Plasma Active into a state suitable for end-users. In the first year, the team finished the first usable version of Plasma Active, suitable for tablet computers, reaching a milestone by bringing KDE software and a fully Free stack to a new class of devices. Moreover, just before the end of last year, the team released Plasma Active Two, bringing considerable performance and usability improvements with support for a wider range of devices. The cycle towards Plasma Active Three will be considerably longer: The team plans to release Plasma Active Three in late August 2012, after the KDE 4.9.0 releases. Platform-wise, the goal is to make it possible to run Plasma Active on an unmodified KDE stack. (The first two releases needed some patches to the vanilla KDE Platform to make it more suitable for the special needs of the new class of supported devices.)
Integrated Social Networking & Accounts
Social networking is one of the primary use-cases of mobile devices. While many bits and pieces already exist, for example the microblogging Plasma widget and Share Like Connect, there is not system-wide, integrated solution. Accounts are not shared between apps currently; every app handles data by itself. In addition, there is no integration with other components of the system such as Nepomuk. The team came up with a plan to overcome all these shortcomings by centralizing access to data, and having apps become consumers the data. In this way, apps can concentrate on the user experience, rather than on protocols, data retrieval and mangling. The overall architecture will employ Akonadi as access layer, allowing unified access and caching. Nepomuk, KDE's semantic system, provides the means to structure the data in user-meaningful terms, for example making it possible to access different kinds of data by associating with person (as opposed to data associated with "users of a specific service"). Additional value is created from the unification of contacts which has been a long ongoing topic of research and development in the PIM and Telepathy communities.
Centralized management of accounts will be one of the underpinnings of integration, allowing for secure handling of account credentials, and a more user friendly setup of various web services used. Work on this part will commence in the coming weeks, spearheaded by KDE's Martin Klapetek. Lend him a hand if you're interested in making this topic a success story.
While Plasma Active is more than just an app launcher, it still features apps. During the sprint, developers demoed and presented Active versions of applications many already know from the Plasma Desktop and Netbook Workspaces. Alex Fiestas and Aleix Pol showed a QML-ified version of the webcam app Kamoso which raised many eyebrows thanks to its cool and fun graphical effects. Aleix Pol has also been working on a Plasma Active port of KAlgebra, an educational application that helps do the math. Laszlo Papp has thrown in a good amount of packaging expertise, and also worked on an Active port of Kanagram. Sebastian Kügler showed preliminary work on a tablet version of a microblogging app supporting Twitter and Identi.ca. Marco Martin presented a preliminary version of an app store client, which will provide the primary interface to download and install new apps (and content), and a touch-friendly file manager which gives the user access to digital assets through the Nepomuk semantic system.
Experience gained during the creation of these apps is being used to improve the Developer Story for Plasma Active. The third Plasma Active sprint revealed a blooming ecosystem, and a growing team of people dedicated to taking truly Free and open systems beyond the desktop.
The Developer Story
In order to make it easy for developers to bring their apps to users of devices, a strong 'developer story' is needed. There should be a clear route from "I have this idea" to an app available in the Plasma Active appstore and onto users' devices. The Plasma Active team came up with three groups of developers.
- Relatively simple apps. Technically speaking, this can include any app that can be implemented without the need of any compiled code -- think of Plasma widgets or Plasma Quick apps that use existing frameworks features to do their jobs.
- More complex apps such as Kontact Touch, Calligra Active or other existing, or newly planned apps
- contributions to Plasma Active or Mer systems
App development is not necessarily different from the development of the workspace and the core system. Still, the level of complexity for new developers should be kept to a minimum, so we can reach a wide audience. Developers will have access to existing kdelibs frameworks such as libplasma, theming, localization features through KLocale, access to existing functionality using dataengine or other features available on Plasma Active Devices, WebKit, and of course the excellent Qt libraries.
The rough plan is to accommodate simple apps development with the Plasmate IDE, which provides a workflow-based tool that guides developers through the steps of creating, editing, packaging and publishing of apps. Complex app and system developers will be advised to use a specialized version of the Mer SDK (a virtual machine image-based SDK) which provides all the tools readily set up to get apps cross-built and running on a specific device.
The Plasma Active team was happy to welcome new members from outside of the core KDE community: Martin Brook, who has been doing a lot of great work on device adaptation through the Mer operating system, joined the meeting, sharing his experience, insights, thoughts and expertise, and working on improvements to the deployed images on top of Mer. Another special guest (and couch-surfing host) was GNOME and Zeitgeist hacker Seif Lotfy, contributing an open mind and and additional points of view.
Credit where credit is due
The whole Plasma Active project could not have been incepted without the great work done on the KDE platform and the desktop components. Conversely, much of the work done on Plasma Active directly benefits the Desktop and Netbook Workspaces. Special thanks go to basysKom for kindly hosting this meeting, and to the KDE e.V. and its supporters for making this meeting possible with organizational and financial support. Your author thanks his employer, open-slx for supporting his work on Plasma Active.