Version 4.1
Events
Saturday 09:30
Opening
Saturday 09:40
Keynote: Towards Qt 6
Qt has been the basis for KDE since its inception more than 20 years ago. After 7 years with Qt 5, work has now started towards a new major version of the frameworks. The talk will go through the main ideas and goals for Qt 6, focusing on high lev...
Qt is an integral part of the KDE frameworks, and major version updates of Qt have so far always also triggered larger changes in the KDE frameworks. The talk will focus on some of the larger changes planned for Qt 6, but also go into some details where those are relevant. Many of the planned changes are still subject to discussion within the Qt project and at the Qt Contributor Summit, where KDE is also invited to contribute. While we will try to maintain source compatibility between Qt 5 and Qt 6 to the largest degree, the new major version will certainly trigger changes in KDE as well.
Saturday 10:10
Coffee break
Saturday 10:30
Everything to hide: helping protect the privacy of our users
In this session several people working on parts of the privacy goal will give an overview of their work to see the progress we've made so far.
Saturday 11:05
Konquering the World: Are We There Yet?
Last year, Nate presented a blueprint for how KDE can Konquer the World. Our Usability & Productivity Initiative in support of it is almost two years old. How are we doing, and what's left to do? Find out here!
Saturday 11:40
All on board! Are we there yet?
The KDE mother ship has been sailing towards the "Streamlined Onboarding" land for almost 2 years now. I often ask myself if this goal will ever be reached. Will it ever be concluded? This talk is an attempt to answer this question. It should be i...
Over the course of this goal, it was not unusual for me to feel in despair as I believed I was personally not doing enough as a coordinator or that our community was under achieving. But when I sat down to summarize all the work we have done a year after, I was awestruck! We have moved forward as a community so much in terms of onboarding newcomers. Is there still work to be done? Yes! Are we moving towards the right direction? Definitely yes! Join me to learn more! =)
Saturday 12:15
KDE's Goals
Let's take a look at how far we've come with our first set of goals and unveil the next ones.
This will be an interactive panel.
Saturday 12:45
Lunch
Saturday 14:00
Run your meetings with QuatBot
libqmatrixclient -- now renamed Quotient -- is a Qt5 based framework for writing Matrix clients. One thing you can use it for is writing Matrix bots. QuatBot is an old-fashioned bot that responds to ~commands and can help run a meeting in a crowde...
Saturday 14:05
There's a Framework for that!
KCoreAddons has a bunch of unrelated parts to it; some of them are pretty cool. Here we'll spend five minutes with KMacroExpander and cousins, and look at some generic code to use any QObject as a source for expansions in text.
Saturday 14:15
Bringing new contributors to userbase from reddit
In this small presentation, I will explain my current experience onboarding new contributors to the userbase wiki.
This presentation is interesting for those interested in the current community goal: Streamlined Onboarding of New Contributors.
Saturday 14:20
Organising a KDE Sprint
Meeting in person and interacting is an opportunity and a privilege we have thanks to our sponsors and donors. I'd like to explain how the process usually works to make sure the community is aware and feels empowered to organise them.
Saturday 14:35
Plasma for embedded devices
Plasma is not only Desktop, as shown by our effort in Plasma Mobile project, but we can go even further than that. The talk will make the case that Plasma and other KDE technologies are ready for embedded development on single-purpose ARM devic...
Plasma is developed with multiple form-factors in mind, be it Plasma Media Center or Plasma Mobile or Smart Speakers. However most of these devices are not made with Linux distribution in mind, and lot of work goes in building a Linux distribution tailored for devices like this, and making sure KDE technology is compatible with these devices. Bhushan will talk about hardware enablement, challenges including but not limited to graphics stacks, kernel and/or hardware limitations. He will also talk about various solutions offered by KDE community to build and deploy Linux distribution with KDE technologies to such device. Marco will present 2 brand new Plasma shells: the one developed for the Mycroft Mark-II voice assistant, and one written for tablet devices where voice interaction is a first-class citizen, again using Mycroft for voice interaction (think about the big Alexa Echo Show). The talk will go on describing concepts like: * Plasma Shell Package * Plasma Look and Feel package * Containment * Plasmoid * QtQuickcontrols2 and styling * Devices with "apps" and devices without It will be described how all of those concepts play together and how to replicate...
Testing your code for security issues with automated fuzzing
Writing secure code that deals with potentially untrusted data (parsers, importers, etc) is always hard since there are many potential cases to take into account. One of the techniques used to improve the security of such code is fuzzing. Fu...
Saturday 15:10
Accelerating Plasma
We will explain how we got to a faster starting Plasma session. How we analysed the problems we were facing, how they were understood and finally what changes happened to get to where we are today.
This will be useful both as a celebration to achieving a better experience, but also to to see what kind of problems do we face to get to deliver better software.
Secure HTTP usage
For protecting the privacy of our users and the security and integrity of their systems, usage of transport encryption and authentication is crucial for any network communication. HTTP over TLS (HTTPS) is probably the most widespread set of protoc...
In this talk we will look at how to implement secure network communication in libraries or applications, using the methods available in Qt (QNetworkAccessManager, QSslSocket) and KDE Frameworks (KIO, KTcpSocket). Unfortunately, both have their own set of pitfalls and limitations one needs to be aware of. Besides successfully establishing secure connections, we will cover handling and testing of TLS error scenarios, as well as how to apply additional security mechanisms like HTTP Strict Transport Security (HSTS). Knowing how to implement and use this correctly however only solves part of the problem, we will therefore also look at ways to identify insecure network operations in our existing code base.
Saturday 15:45
Why Your Community Needs a Developer Portal
How can a community like KDE benefit from a developer portal...and what is a developer portal, anyway? This talk aims to answer those questions, and offers practical advice for building a developer portal. The insights from this session can serve ...
As creators of Free and open source software, we put our users first. We do our best to deliver products they will enjoy using, and we support them in a number of ways - from packaging and troubleshooting to localization and documentation. But what about the developers? Developers are our users, too - they just use our software in a different way. While it's true they are usually self-reliant and perfectly capable of figuring out how stuff works, they do appreciate not having to waste time hunting down information. This is where developer portals step in as an invaluable tool for any community that cares about its developers - old or new; experienced or beginners; volunteers or paid. Offering a developer portal as a centralized point for knowledge management and sharing sends a powerful message about a community, which is why more FOSS communities should embrace the idea of building one. Of course, despite the name, it's not only the developers who benefit from a developer portal. It can provide significant leverage in terms of onboarding, marketing, and collaboration with other communities or even businesses. How does one build a developer portal, though? In this ...
Mycroft on Plasma Automobile Demo
Open source voice assistants aren't meant for homes and desktop's, More modern vehicles are being equipped with voice assistants to help drivers with vehicle-centric tasks, This presentation showcases a car demo with Mycroft AI powered by Plasma a...
The future of open source voice assistants isn't just for home and desktops but it’s in cars and automotives, once confined to smart speakers and smartphones, proprietary voice assistants are increasingly sprouting up in cars, Mycroft AI an open source voice assistant alternative that puts the end-user in control of their privacy and in combination with Plasma and Kirigami technology can provide the right mix of open source software for future of connected cars. This presentation will showcase a car demo developed using Plasma, Kirigami and Mycroft AI technologies. The presentation will also demonstrate various Mycroft GUI based skills that can enhance the automobile experience.
Saturday 16:00
How do I know if I'm making a difference in building an Open Source Community?
There are plenty of metrics that are available to measure the health of open source communities. When assessing your contribution to the community, it's important to go beyond quantifiable metrics and also look at areas such as building a sense of...
Anyone interested in fostering & sustaining an open source community will be interested in this session. Beyond community managers, everyone including developers, translators, users, writers, etc. needs to have an interest in community health.
Next Generation Notifications
Plasma's got a new notification center! I will tell you all about it and what you as an app developer can and should do to make the user experience even greater.
This talk gives a brief rundown of the new notification center introduced in Plasma 5.16 and some of its new features and how it's architecture is designed. More importantly, however, it explains how you as an application developer can make use of the improved notification display for a greater user experience and what to keep in mind when using them. Finally, an outlook is given on what's to come in future versions of Plasma.
Saturday 16:15
Coffee break
Saturday 16:35
KDE student showcase
Every year a number of students join us through our students programs Google Summer of Code and Season of KDE. In this session some of them will show you what they've been working on and talk about their experience working with the KDE community.
Saturday 17:10
KDE e.V. Board report
The Board of KDE e.V. will give an overview of the activities of the past year.
Saturday 17:45
KDE e.V. Working Group reports
The Working Groups of KDE e.V. will give an overview of their activities of the past year.
Sunday 09:30
Keynote: Developers Italia and the New Guidelines: Let the Open Source Revolution Start!
The recently published guidelines on the acquisition and reuse of software for public administration open up a new page in the digital transformation of Italy. In fact, all the software developed or commissioned by Italian government entities must...
Sunday 10:05
NGI0: Come work for the internet
The Next Generation Internet initiative is the first real opportunity to put significant public funding to work to really fix the post-Snowden internet. NGI was bootstrapped in 2016 at the initiative of the European Commission. The ambition of NGI...
NGI Zero is focused on projects between 5k euro and 50k euro - with the potential to scale up to 200k if successful. What is unique to NGI is that the program not just makes money available, but also delivers deep support to independent innovators and the community. Even the best researchers and developers are after all mere humans. The demands on technology that should actually run at scale on the modern internet today are huge, and continuously changing. Having a brilliant idea that might just work, does not automatically mean that you know how to make your solution accessible to blind people, how to set up continuous integration and reproducible builds, how to orchestrate a responsible disclosure procedure, how to make sure that your application can be used with different languages and be properly localised to be compatible with different cultures, how to engineer secure software and what state of the art attack vectors you would better deal with, how to engage with standards setting organisations, how to nurture and grow a developer community, how to write end user documentation, which software license best fits the goals of the project, how to deal with software patent tro...
Sunday 10:35
Coffee break
Sunday 10:55
The Maui Project
Introduction to the Maui project: its goals, components and roadmap. What’s MauiKit, its relationship with Kirigami and its place in KDE. An overview of the Maui HIG and the suite of apps, services, and libraries for a convergent and multiplat...
The Maui Project is a group of apps, services, libraries and a UI/UX (User Interface) framework that works together with KDE libraries to create a convergent-multiplatform experience that follows the Maui HIG (Human Interface Guidelines) for cohesive user experiences. Some of the Maui apps include: - Index (file manager) - VVAVE (music manager) - Pix (image viewer and gallery manager) Those are applications that make use of the Maui UI components and work under Plasma Mobile, Android, and GNU/Linux Desktops.
Moving KDE to another Reality
AR and VR did not only introduce a new class of output devices, but with tracked controllers and hands also the requirement for a new set of user interactions. This talk investigates solutions in existing implementations and points out how the cla...
Sunday 11:30
Taking KDE to the skies: Making the drone ground control Kirogi
Started in 2019, the Kirogi project is KDE's application to operate Unmanned Aerial Vehicles - drones. Kirogi is breaking new ground: It exists in an entirely new application category for the KDE community, is the first open source UAV ground cont...
AI Face Recognition with OpenCV DNN module and application in digiKam photo management software
Currently, we are observing an incredible development in technologies, especially in Artificial Intelligence field. Indeed, by learning from massive data, AI is particularly good at some tasks that normal algorithms cannot achieve as good level of...
For users, facial recognition is one of the most interesting features in digiKam. However, it was not robust enough and computationally expensive, so users usually did not totally trust and handle digiKam to automatically recognize faces in their photos. Inheriting from previous work on facial recognition in digiKam, new approach implementing neural-network-based solution with OpenCV DNN module, exploiting forward operation on the network, is expected to deliver better computational performance, while keeping the outstanding accuracy of face engine. Hence, this presentation is intended to discuss in details current neural network models being studied for facial recognition, the advantages and disadvantages of most popular models. In addition, implementation details with OpenCV DNN module, as well as evaluation metrics and final benchmark scores will be also presented at the end to evaluate the work and the performance of that approach.
Sunday 12:05
group photo
Sunday 12:15
Lunch
Sunday 13:25
Look! It's LibreOffice on KDE Plasma
This talk introduces LibreOffice's new Qt5-based KDE frontend because at the end of the day, the best free and open-source office suite deservers to be well-integrated into the best free and open-source desktop environment :)
Integrating something as complex as an office suite into a desktop environment is certainly a daunting task. When it comes to LibreOffice, its integration into KDE has been a thing since KDE 3 but being based on legacy technologies, it was no longer a viable solution for KF5. So we started over from scratch and implemented a new integration layer featuring Qt5 native widget styles, native Qt5 menus, integrated Plasma 5 file picker, clipboard and drag'n'drop support and as a bonus, Qt5-based a11y. It was featured in LibreOffice 6.2 (released in February 2019) for the first time, with Haiku being the first OS to adopt it. Majority of Linux distributions soon followed. Ultimately, it was less about Qt5, xcb, Wayland, cairo or any other technology or programming language but more about people who use, test, develop and collaborate across the project boundaries to get things they are passionate about done.
GCompris in Kerala, part 2
In the state of India called Kerala, all public schools have been using Free-Software for more than 10 years, and GCompris is part of the curriculum. We have been working recently to complete the translation of the new version of GCompris in Malay...
In this talk we will give some background about Free-Software history in Kerala and how GCompris is used in schools. We will present the work done to localize the application, and future plans to add more ways to adapt activities for different cultures using localized datasets. We will also talk about the recent news of the project, and the works in progress.
Sunday 14:00
KPublicTransport
Last year KDE Itinerary was presented at Akademy for the first time, striving to build a privacy-protecting alternative to digital travel assistance features. Teaming up with the Open Transport community since then has paved the way for real-time ...
While KDE Itinerary had access to personal booking information (via its own extraction engine) and static information (via Wikidata), access to real-time or transient information such as delays, gate or platform changes, or service disruptions was still missing a year ago. Today, such information are available via the KPublicTransport framework. In this talk we will look at the system KPublicTransport is based up-on, the Free Software and Open Data service Navitia which aggregates public transport data provided by hundreds of operators around the world, as well as how KPublicTransport makes this information available to application developers. Besides the already listed kinds of information, KPublicTransport also provides journey query capabilities. That is, determining how to get from A to B using public transport services. And while we of course will see how this is used by KDE Itinerary for more assistance features, this is equally interesting for applications targeting a commuter use-case for example (such as a possible resurrection or successor of the KDE4-era public transport Plasmoid). While several brave test subjects managed to do quite a few tests^Wtrips with ...
Software Distribution: lightning talks
Getting software to end users has always been an issue those who create the software have been worried about. A great many solutions have been proposed and attempted for this problem. In this lightning talk round you will hear about the different ...
Sunday 14:35
Build Expressive APIs with Modern C++
Qt has its own way of doing things, and we've been following that in our code and APIs since forever. However, since C++11 and on, the language itself started introducing more and more features to make the code safer and easier to understand. In t...
Software Distribution: discussion
Getting software to end users has always been an issue those who create the software have been worried about. A great many solutions have been proposed and attempted for this problem. In this panel the different approaches will be discussion and q...
Sunday 15:10
What we do in the Promos
Promo explains why it does what it does, who our target audience is, how we try to reach them and what degree of success we have had.
Promo explains why it does what it does, who our target audience is, how we try to reach them and what degree of success we have had.
KDE Frameworks on Android
Targeting Android as a platform is attractive for our applications, both as a intermediate proving ground for Plasma Mobile, and due to the large market share. For new Kirigami-based applications that is a fairly straightforward process thanks to ...
In this talk we will look at some of the peculiarities of the Android platform, and how they align with assumptions made throughout KDE Frameworks. For each of those we are going to explore ways to address them or work around them based on the current state of Android support in KDE Frameworks. One such area are restrictions of the Android platforms, such as the limitation on service processes, inter-process communication or the different permission model. Those are particular challenging for frameworks like KIO or KAuth. Another practical issue is the Android native APIs typically being accessible only via Java, while our code is primarily written in C++. Similarly, file I/O works quite differently to other platforms. We will look at how those technologies can be integrated, and how this can be made as transparent as possible to KDE Framework users. The third area to look at is the deployment of Android applications. While self-contained bundles are also becoming popular on Linux, the technology mix and tools involved there require some additional considerations. This talk will be interesting both for application developers targeting Android as well as KDE Framework...
Sunday 15:45
Strengthen Code Review Culture: rm -rf ‘Toxic Behaviors’.
Code reviews are not just about catching bugs. Modern code reviews are about socialization, learning, and teaching. How can you get the most out of a peer code review and how can you review code without being seen as overly critical? Reviewing cod...
Code reviews are one of the best ways to improve softwares by placing the human-written code in front of human eyes. Developers gain the best help, learn better design patterns and coding practices with peer reviewers. Moreover, this certainly helps to identify uncaught bugs in automated testing pipelines and functional testing. However, it is important to highlight those toxic behaviors during code reviews because it can be more unproductive than no code reviews at all. These behaviors stifle the most needed qualities of a developer like creativity and innovativeness. In regards of the current community goal for KDE to have a streamlined onboarding of new contributors, code reviews are one of the ways to interact with the new contributors, help them gain much more confidence and make them actively involved in the community as well. Moreover, with the application of better code review practices, people could smartly use their time for the benefit of the community. Thus, providing a better and an active environment that would support people. Further, addressing higher authorities, Maintainers need to learn about peer reviews and their impact on the organization so they can...
Get Hot New Stuff Quick(ly)
Get an introduction to the Qt Quick based KNewStuff components, the context of why they exist, and find out how you can use them in your own applications.
We have come to expect the ability to download new shinies with little or no trouble in the software KDE produces, all thanks to the Attica and KNewStuff frameworks. These have served us well, and still do. But, while the functionality is solid, the user interface, and indeed experience, have started to feel decidedly dated. Over the last few years, work has been undertaken to first split the dependency by the user interface on Qt's widgets, and now to implement a new, more modern user interface using Qt Quick and Kirigami. In this presentation you will first get a short rundown of some of the history. The majority will be an introduction to the new KNewStuff Qt Quick Components, some new abilities they add to the framework, and you will learn a variety of ways in which you can use them in your own software.
Sunday 16:20
kpmcore implementations and goals for the future
In the last two years, kpmcore library has received a lot of new patches and updates that improved the functionalities of the library. This library is mainly focused on providing partitioning processes and disk operations. As a Season of KDE stude...
Sunday 16:35
Coffee break
Sunday 16:55
Sunday 17:25
Akademy Awards
The winners of lat year's Akademy Awards will present the new winners to recognize them for their contributions to KDE.