Plasma Mobile sprint in Berlin
During the week of 4 to 10 February, the KDE Plasma Mobile team held the first ever Plasma Mobile sprint in Berlin.
On the first day, we collected important tasks, planned our work and discussed future releases of the project.
In the following days, we worked on the following tasks:
{: .blog-post-image-right}
User interface
Ilya Bizyaev visually refreshed the Plasma Mobile shell and brought it nearer to the mockups. Meanwhile, Marco Martin refactored and simplified the codebase of the top sliding panel, making the UI code simpler and more maintainable.
Documentation
Dimitris Kardarakos improved the documentation to make the development environment setup and the application development easier for everyone. Thanks to his work, we now have a Kirigami tutorial. Moreover, the instructions to build QEMU and Virgil 3D from the source code have been substituted with the installation of just a single snap package. He also explored new ways we could leverage Flatpak and update the website with the Debian based images.
Ilya Bizyaev helped make the new documentation resources more discoverable by cleaning up old wiki pages and setting redirects where appropriate.
Infrastructure
During the sanity checks of the Plasma Mobile documentation, we found that building Flatpak for the phone was failing in KDE Neon User Edition. Since the root cause lies in the qemu-user-static and binfmt configuration in bionic, Harald Sitter provided a workaround until the issue gets solved upstream.
{: .blog-post-image-right}
Applications
Simon Schmeisser worked on our mobile Angelfish web browser which now makes more use of Kirigami, displays favicons, and provides autocompletion of search queries. We are planning to give Angelfish a more Kirigami-streamlined look once Marco Martin's patch for resizing windows on keyboard input is accepted. Related to this, Jonah Brüchert added settings for configuring a search engine and a homepage.
Linus worked on Kaidan, an XMPP Messaging client for Plasma Mobile and many other platforms. Kaidan now provides a download manager to download and cache files instead of downloading them again each time it starts. Jonah's merge request to add an emoji picker to Kaidan was also accepted. You can expect more features and a rewritten database backend soon.
Marco Matrin fixed and improved many areas of Kirigami, enabling some of our changes in Angelfish we mentioned above. One of the improvements makes it possible to leave Kirigami layers on a mobile device without requiring the app developer to add a close button, another is that Kirigami also got a new API to customize the application top bar headers. A lot of work has been done to refactor its signature column-based navigation UI which will allow for many new features.
Nicolas Fella worked on improving KDE Connect on Plasma Mobile. Most of the work went into integrating the settings from the desktop side in the mobile app. We also verified that the SMS and telephony stack of the Nexus 5X is functional and discussed ideas for an appropriate UI.
Camilo Higuita has been working on the MauiKit framework and the Maui set of apps for almost a year now, and some of those apps are going to be shipped with Plasma Mobile by default. His work mostly consisted of bringing those apps up to date, adding missing features and fixing bugs along the way. He also worked on getting acquainted with the Plasma Mobile shell, its plasmoids, their architecture and structure since he plans on eventually hacking on the shell. All the Maui apps (Index, Vvave, Buho and Nota) are now using a better modeling system that allows for better control over the content, give users a cleaner interface and has gained some features along the way, like content sorting, file searching, better editor control and more.
{: .blog-post-image-right}
Packaging and Software management
Jonah Brüchert created a patch for Discover that fixes icons being incorrectly displayed on the update page and made all of our improvements and new applications available in the Debian repository. Continuing with Discover, Aleix Pol also fixed the issue of non-mobile-friendly applications being recommended in Discover on Plasma Mobile. Aleix also made many new mobile-friendly applications available in the KDE Flatpak repository.
Bhushan Shah worked on further improving our KDE Neon-based images. They should now be up to date with the latest changes including patches for better scaling of the Plasma Shell and applications under hwcomposer backend from David Edmundson. Meanwhile, Bart Ribbers made more Plasma Mobile apps and updates available in postmarketOS, so you can now, for example, install and use Kaidan and Angelfish on it.
Devices and Hardware
In addition to software work, the Plasma Mobile team also worked on various hardware projects. Before the sprint, the KDE Community attended FOSDEM, where we demonstrated Plasma Mobile running on the RISC-V hardware, thanks to the work carried out by Alistair Francis from Western Digital.
{: .blog-post-image-centered}
During the sprint, we were joined by Dorota Czaplejewicz from Purism who works for the Librem 5 project. Purism has provided Librem 5 developer kits to Plasma Mobile developers, and with help from Dorota, we were able to bring Plasma Mobile up on the kits.
{: .blog-post-image-centered}
Talking of which, during FOSDEM and the sprint, Bart Ribbers also worked on bringing up Plasma Mobile on the Pinephone devkit, Project Anakin.
{: .blog-post-image-centered}
We are excited about open hardware projects and would like to thank the companies working on these devices.
Community feedback
We actively collaborated with community members during the sprint. To make sure everyone's opinions were considered, we carried out an AMA (Ask Me Anything) session on Reddit. Bhushan also live-tooted about our work.
{: .blog-post-image-centered}
Our first sprint was a great experience, and we are happy about growing so significantly as a project since Akademy. Marco invited us to a united Plasma Sprint and we are looking forward to continuing our work there! If you want to join and help us with this project then our todo board is a good place to get started.
{: .blog-post-image-centered}
And, who knows? Maybe we will get a chance to welcome you as a new developer at our next sprint :)