KDAB's Berlin office hosted the first Mobile Sprint for KDE contributors between the 18th and the 21st of November. The objective of the Sprint was to connect various KDE teams whose work in some way involves mobile platforms, so they could share experiences and work on improvements for all mobile projects.
Most of the participants came straight from the MeeGo Conference to the Mobile Sprint with lots of ideas and subjects for discussion. The first day was focused on how to get KDE software into openSUSE Build Service (OBS) to provide easy creation and distribution of packages of KDE software to the MeeGo community. From this came the idea of having a "KDE community space" in OBS. This would make it easier to package KDE software and allow everyone to work together - today, each user has his or her own space. Discussions were started with MeeGo's OBS administrators to provide this.
Creating packages using OBS made it easy to deploy KDE software to tablets that were distributed during the MeeGo Conference. Soon we started to see our KDE applications running on MeeGo. The results were recorded, and videos posted: Kontact Touch, Plasma Mobile, Plasma Tablet and KDE Games.
Using Qt Quick
The other days consisted of coding and discussions about different subjects, all regarding KDE software on mobile devices. One of the topics was the use of QtQuick and its declarative language, QML, in KDE projects. There was agreement that QtQuick will make mobile application development easier, and that most of the applications would use this new framework when they come to the mobile world.
After these discussions, two things were clear to the team: first, we will need to provide some KDE conveniences to all applications that want to use QML, and second, we want to provide QML components to ease the development of these applications.
Keeping KDE Platform Benefits
Technically speaking, the first conclusion means providing conveniences like KConfig and KIcon as well as bringing more localization and internationalization to QML through our KLocale and internationalization functions. Some of this work has already been tried for Plasma's integration with QML; we decided that this would be a great topic for an upcoming KDE Platform Sprint.
To address the second conclusion, Plasma was selected as the best place to start with providing QML components. Plasma widgets will be migrated to QML, working with the QtComponents project. After that is complete, we will see what went well and what could be improved. We will then propose something that will benefit other applications. Meanwhile applications would be able to use libplasma if they want those QML widgets or anything else that Plasma could provide.
Parallel to these discussions, work has been started on KDE Games towards a framework that chooses at runtime the kind of widgets it should use: QtWidgets, Plasma widgets or QML elements.
A list of future tasks was created in order to help in future technical aspects of the project. This list can be found in the community wiki and shows that KDE software on mobile devices can go far. However, to reach its full potential, it will need help of the entire community.