Randa Meetings 2017 will be all about accessibility.
At KDE, we understand that using an application - be it an email client, a video editor, or even educational games aimed at children - is not always easy. Different conditions and abilities require different ways of interacting with apps. The same app design will not work equally well for somebody with 20/20 vision and for somebody visually impaired. You cannot expect somebody with reduced mobility to be able to nimbly click around your dialogue boxes.
This year we want to focus on things that have had a tendency to fall by the wayside; on solving the problems that are annoying, even deal-breaking for some, but not for everyone.
To that end, KDE developers will be gathering in the quietness of the Swiss mountains and will push several different projects in that direction. David Edmundson, for example, plans to spend his time improving navigation on Plasma for those who prefer, or, indeed, need to use a keyboard over a mouse. This will help users with reduced mobility that find moving a mouse around cumbersome. And Adriaan de Groot will be working on Calamares, an application that helps install operating systems. Adriaan will make Calamares more accessible to visually impaired users by improving integration with the Orca screenreader. Sanjiban Bairagya will be working on text-to-speech on Marble, KDE's mapping application. He wants to make the app's turn-by-turn navigation experience more intuitive by integrating Qt's Speech module.
Apart from the projects mentioned above, we will also have developers from Kdenlive, Kubuntu, KMyMoney, Kontact, Kube, Atelier, KDEEdu, digiKam, WikiToLearn and Krita, all working together, intent on solving the most pressing accessibility issues.
The 2017 edition of Akademy was held in Almería, Spain. Starting officially on the 22nd of July and ending on the 27th, the weekend was dedicated to talks, as is customary. The rest of the following week, from Monday to Thursday, was dedicated to workshops and BoFs — Birds of a Feather — sessions in which community members interested in the same things meet and work together.
This year's event attracted over 110 attendees. Attendees traveled mainly from Europe, but also from North and South America, and Asia. Over the weekend, visitors were able to attend over 40 different talks on all kinds of topics, ranging from developing applications for mobile phones to best ways for collaboration between communities.
From Monday to Thursday, Akademy was dedicated to BoFs and workshops where a specific topic or area is focused on. For most participants, this part is a primary motivation for attending Akademy, since it gives them the chance to sit down with their colleagues in the flesh. They can discuss and code together without having to relay messages over email or IRC. Each day attendees met, discussed, and worked side by side, pushing KDE forward.
One of the hottest topics was Plasma. Plasma is KDE's graphical desktop and mobile environment. Dedicating a large chunk of the meetings to Plasma makes perfect sense. Although most KDE apps work on a wide range of platforms (including Windows, MacOS and Android), the first platform KDE developers would want to target is their own. With as much time dedicated to mobile frameworks, such as Kirigami and Halium, as to Plasma on desktop computers, it is clear the developers are very seriously committed to the effort of taking over smartphones and breaking the Android/iOS duopoly.
KDE developers know very well that a rich software catalogue is essential to attract end users, hence many of the talks and BoFs where dedicated to app development. There were slots on how to port applications to the upcoming Wayland display server protocol which, like winter, is definitely coming someday. Aleix Pol dedicated time to explaining how developers could package apps for Flatpak, a universal packaging system for all GNU/Linux distributions. Scattered throughout the week were also several sessions and talks about QML, Qt 3D, and other KDE-related technologies.
As for the steps the applications should actually go through — from concept to working utility on the desktop or your phone's screen — during Akademy 2017 the community reached an agreement on the new Applications Lifecycle Policy. The overhaul of this policy had already been discussed at some length on KDE's Community mailing list, but the conversation hadn't reached a satisfactory conclusion. However, a few hours of face-to-face negotiation led to an acceptable solution which Jonathan Riddell announced on Wednesday in the half-day wrap-up session.
According to Jonathan, the new policy...
"[D]efines how projects enter KDE, which is either through Incubator for projects which started outside KDE, or just starting it in Playground. It defines the sort of things that get reviewed in KDEReview and it explains how to choose where to put the application, (Frameworks, self released, Applications, Plasma) which in turn defines how and when it gets released. Finally, it defines options when a project is no longer useful: either ask the Gardening team to update it or move it to unmaintained."
On the non-technical front, there were all-important discussion on how to make KDE technologies more accessible to end users, and how to make the community more open to potential contributors. Improving communication aimed at non-technical users, reaching out and cooperating with other communities, and implementing policies that promote inclusiveness were some of the areas participants pledged to work on.
This was another solid Akademy. Knowledge was shared, agreements reached, and code got written. Even though the KDE community discussed a wide variety of topics, there was clearly a common underlying theme of how members of KDE want to shape the world of tech to their vision — the vision of a world in which everyone has control over their digital life and enjoys freedom and privacy.
After this year's hot Andalusian sun, Akademy will be moving next year to the heart of Europe: Vienna. See you there in 2018!
For most of the year, KDE — one of the largest free and open software communities in the world—works on-line by email, IRC, forums and mailing lists. Akademy provides all KDE contributors the opportunity to meet in person to foster social bonds, work on concrete technology issues, consider new ideas, and reinforce the innovative, dynamic culture of KDE. Akademy brings together artists, designers, developers, translators, users, writers, sponsors and many other types of KDE contributors to celebrate the achievements of the past year and help determine the direction for the next year. Hands-on sessions offer the opportunity for intense work bringing those plans to reality. The KDE Community welcomes companies building on KDE technology, and those that are looking for opportunities.
KDE's yearly world conference - Akademy - was held last week in Almería, Spain. Lots of interesting things happened in the Plasma-verse during Akademy 2017.
State of the Union
Right after the first day's keynote (slides), Marco Martin and Sebastian Kügler caught the general audience up in their presentation "Plasma: State of the Union". Sebas talked about how the architecture around Frameworks 5 and Plasma 5 worked out very well, and how the 5.8 LTS release was received positively, especially by the users who value stability and predictability.
Marco then presented a number of new features that have been added to Plasma since last year's Akademy and that are planned for the upcoming 5.11 release. There is the improved integration for web browsers, better support for touchscreens, enhancements in the taskbar, return of the App Menu (Global Menu), encrypted volumes through Plasma Vault, more elegant artwork, a redesign of the System Settings user interface, and many more.
The KDE Store has gained a lot of traction since its relaunch at Akademy 2016, and now even allows its contributors to receive donations directly from happy users. (Full disclosure: Your editor was able to buy a pizza last week from donations coming through this new feature in the KDE Store).
Plans for the future of Plasma include getting the Wayland port ready for end-users, and thereby delivering on the promise of smoother graphics, a leaner graphics stack, better protocol semantics, improved high-DPI support and more features for touchscreens and convertible devices (such as edge-swipe support).
Another talking point which deserves a special mention is Plasma's vision statement. The statement had been discussed on Plasma's mailing list and on KDE's Phabricator collaboration tool over the last couple of months, and it is now finalized. Plasma's vision statement reads:
"Plasma is a cross-device work environment by the KDE Community where trust is put on the user's capacity to best define her own workflow and preferences.
Plasma is simple by default, a clean work area for real-world usage which intends to stay out of your way. Plasma is powerful when needed, enabling the user to create the workflow that makes her more effective to complete her tasks.
Plasma never dictates the user's needs, it only strives to solve them. Plasma never defines what the user is allowed to do, it only ensures that she can.
Our motivation is to enable actual work to happen, across devices, across different platforms, using any application needed.
We build to be durable, we create to be usable, we design to be elegant."
Its cornerstones are stability, usability (which includes features to make the users' lives easier) and elegance, meaning that the team aims to create stable software that helps users get their job done elegantly, but swiftly and with pleasure. For a more detailed explanation of Plasma's vision, head over to sebas' weblog.
Halium Unifies Mobile Linux
Bhushan Shah, maintainer of Plasma's user interface for mobile devices, talked in detail (slides) about the latest endeavour - Project Halium. Halium is a collaboration that aims to share the development effort among several groups. By creating a common base, Project Halium wants to make it easier to bring Plasma Mobile to a wider range of devices. In just a few months, Halium has not only allowed Plasma Mobile to run on its new reference device (the Google Nexus 5X), but has also provided the basis for ports to the Fairphone 2 and a few other handsets.
With other Free software mobile stacks (such as Ubuntu Touch and Firefox OS) being discontinued, Plasma Mobile positions itself as the best option to create truly Free and community-developed mobile devices. While its development is not very fast-paced, its continued improvements begin to bear fruit. This makes Plasma Mobile an increasingly attractive platform for people and companies that want to escape the Duopoly of today's smartphone market and bring something entirely new to the table.
Kirigami Makes Convergence
Most of today's applications are written using QWidgets, which is still the most powerful tool for certain kinds of applications. QWidgets does have some graphical limitations, which may sound bad, but this limitation leads to more consistent UIs across applications. Using QWidgets makes it difficult to deviate from the human interface guidelines (HIG) too much, thus enforcing visual consistency.
This is about to change. Qt is investing heavily into QML, which has fewer graphical limitations, putting more power into developers' hands. A side-effect, however, is that it makes it (too) easy to create applications visually and interactively inconsistent with each other.
Kirigami was born both as a human interface guideline (HIG) and a framework implementing it. Kirigami has been stabilized over the past year and will be released together with KDE Frameworks 5 starting August 2017.
Kirigami provides the skeleton for applications, allowing developers to write visually and interactively consistent applications with little effort. While it seems that Kirigami limits the endless flexibility that QtQuick-based UIs offer, it solves common problems of in-app navigation. Moreover, it solves the lack of consistency across applications, providing uniformity and reducing the need to 'learn' a new application. In order to think outside of the box, you need a box in the first place, and Kirigami provides that box.
One example of a Kirigami app is Koko, a simple QML-based image viewer. Although Koko never received any real designer input, it has been resurrected as a Google Summer of Code project by Atul Sharma, and has been redesigned to be a textbook case for Kirigami. Other Kirigami-based applications are Discover (Plasma's software center), the new System Settings user interface (to be released with Plasma 5.11), and of course, Kirigami's first adopter: Subsurface Mobile, an application for logging scuba dives. Kirigami provides a morphing UI, which allows creating applications that work equally well on desktop and mobile. With Kirigami, creating a convergent application is a breeze.
The main target platforms for Kirigami are Plasma Desktop and Plasma Mobile, with the convenient side-effect of working nicely on Android. While we care a lot about following the look of Material on Android, we're not interested so much in the feel. With Plasma Mobile, we want to innovate without the legacy that Android and iOS have on their top-heavy UIs. Such interfaces are very hard to use with a single hand on big screen phones, and this is something we want to avoid.
Kai Uwe Broulik wins Akademy Award for Plasma
Kai Uwe Broulik, a Plasma Hacker extraordinaire, was lauded an Akademy Award this year for his work on Plasma. As the developer behind features like the App Menu, web-browser integration, and many other cool features big and small, Kai is a tireless and positive force that many of his teammates follow as a role model. The award, which also reflects positively on the rest of the Plasma team, is well-deserved and received gratefully.
Swapnil Bhartiya interviewed Kai shortly after the Akademy Awards ceremony. In this interview, Kai reveals his ideas and thoughts on Plasma and the desktop in general. It's well worth watching.
On Monday, the Plasma team held a day-long birds-of-a-feather (BoF) session. BoFs are collaborative meetings where everyone with the same interest is welcome to participate. The sessions are focused on making plans and finding solutions for problems that need face-to-face interaction. Naturally, they are also a great opportunity to look into the developers' kitchen. Let's take a peek!
The Plasma team plans to improve support for convertible devices (laptops with touchscreens and detachable keyboards). In order to do that, some improvements to the virtual keyboards are planned.
Other aspects that need improvement include screen rotation, sensors support, and the appearance of the UI when used with one's finger. Furthermore, the team talked at length about structuring the (somewhat dynamically grown) battery of QtQuick imports in a more logical way.
Finally, a BoF session on Wayland resolved a number of problems in applications using Wayland, leading to direct results. For example, KMail will support the Wayland display server natively in an upcoming releases.
Changes planned for Plasma Mobile include a more efficient and clean implementation of the top panel, better backend-sharing between desktop components and mobile UIs, and better support for third-party applications, especially those left in the rain by the demise of Ubuntu Touch.
Akademy provided a great opportunity to prepare for the next big leaps in different areas of Plasma. As always, it was also a wonderful opportunity for the Plasma team to get together, socialize, and keep working as a team of friends.
Do you use KMail or Kontact? The KDE PIM developers want to get more knowledge about how KMail is used so they can better know where they should focus and how they should evolve Kmail and Kontact. They want to make the best user experience possible and you can help by filling out a short survey.
The survey won't take more than 5 minutes and it will be a big help.
Please share the survey with your family members, friends and colleagues who use KMail too!
The second day of Akademy BoFs, group sessions and hacking has just finished. There is a wrapup session at the end so that what happened in the different rooms can be shared with everyone including those not present.
Antonio Larrosa kicked off Sunday with his talk on The KDE Community and its Ecosystem. He expressed concern about what he perceived as an increase in the isolation of certain communities and laid out the advantages of working on intra-community relationships.
Later on in the day, Kevin Ottens gave his audience a taste of what Qt's 3D API can do in his talk Advances in Qt 3D. There are more and more applications that rely on 3D everyday, especially with the increase in popularity of virtual reality. Ottens introduced the tools Qt developers looking to include 3D into their programs and even treated attendees to a preview of a feature that is still in the works and that helps manage shader code.
Dan Leinir Turthra Jensen gave a very entertaining talk on Supporting Content Creators or Satisfying Your Inner Capitalist. Leinir laid out ways app developers could make enough money to be able to sometimes eat, while at the same time still feed their craving for developing cool stuff under free licenses.
Jonathan Riddell gave a demonstration of what Neonception would be like by running Neon inside Neon using Docker images. The point being that, apart from looking cool, as Neon comes in various experimental flavours, developers can run unstable versions in a container without endangering their main set up.
Jonathan gives a good explanation himself in the following video:
Ivan Čukić rounded off the day, invoking the Cthulhu of programming languages. In his talk C++17 and 20, he reviewed some of the more interesting features included into C++17, as well as those planned for C++20. Although some attendees would probably prefer C++ lay dreaming a few aeons more, new things like ranges, concepts, and coroutines may just convert some developers over.
For most of the year, KDE—one of the largest free and open software communities in the world—works on-line by email, IRC, forums and mailing lists. Akademy provides all KDE contributors the opportunity to meet in person to foster social bonds, work on concrete technology issues, consider new ideas, and reinforce the innovative, dynamic culture of KDE. Akademy brings together artists, designers, developers, translators, users, writers, sponsors and many other types of KDE contributors to celebrate the achievements of the past year and help determine the direction for the next year. Hands-on sessions offer the opportunity for intense work bringing those plans to reality. The KDE Community welcomes companies building on KDE technology, and those that are looking for opportunities. Join us by registering for the 2017 edition of Akademy today.
Akademy has had its first full day of BoFs, group sessions discussing our plans for the next year. The wrapup session has just finished so watch the video to find out about what Plasma devs are working on, what tutorials happened and how we avoided a fist fight to the finish.