Akademy 2021

UTC
Akademy Team
    • 7:00 AM 10:30 AM
      Introduction to QML 3h 30m

      This training is happening in https://meet.kde.org/b/akademy-trainings-3.

      This training is an introduction to Qt Quick. On the one hand, it will teach you how to compose fluid user interfaces using the QML language. On the other hand, it will teach you how you hook the QML side up to your business logic in C++.

      Course contents:

      How to do [basic] QML interfaces

      Connecting a QML UX with C++ business logic

      Complex list views including data provided from C++ models

      Speaker: Albert Astals Cid
    • 9:00 AM 12:00 PM
      How to Contribute to Qt 3h

      This training is happening in https://meet.kde.org/b/akademy-trainings-1.

      An introduction to contributing to Qt

      We'll run through:

      • An overview of contributing to the Qt project

      • How to get set up with a Qt account

      • How to report a bug

      • How to review a proposed change (such as a fix to your bug)

      • How to submit a change and get it through review

      We'll mix talking about it with showing how it's done and we'll take questions after each section, and breaks between topics to give an opportunity for discussion and AFK escapes.

      Speakers: Cristián Maureira-Fredes (Qt), Edward Welbourne (Qt)
    • 12:00 PM 4:00 PM
      Break 4h
    • 4:00 PM 5:30 PM
      Implicit Bias w/ Dr. Hawkins 1h 30m

      This training is happening in https://meet.kde.org/b/akademy-trainings-3.

      Carlee Beth Hawkins, Ph.D., is an educator and researcher of implicit bias and social change. In her research, Dr. Hawkins investigates motivations and strategies for overcoming bias in social and political judgement and behavior. She has published in Psychological Science, Journal of Basic and Applied Social Psychology, and Personality and Social Psychology Bulletin. Her work has also been featured in media outlets such as National Public Radio, The Huffington Post, and Psychology Today.

      In addition to presenting workshops and training sessions on implicit bias to diverse groups including HR professionals, senior executives, and physicians, Dr. Hawkins led a multi-team project to create an e-course titled "Understanding Implicit Bias" to educate individuals about what implicit bias is, how it influences decision-making and behavior and what we can do about it. As an educator, Dr. Hawkins believes that we all benefit from becoming more aware of our biases.

      Dr. Hawkins is currently an Assistant Professor of Psychology at Southern Illinois University, Edwardsville. She earned a Ph.D. from the University of Virginia in 2013 and completed a post doctoral fellowship in the Center for Decision Research in the Booth School of Business at the University of Chicago.

      Speaker: Dr Carlee Beth Hawkins
    • 4:00 PM 8:00 PM
      KDE Stack Overview 4h

      This training is happening in https://meet.kde.org/b/akademy-trainings-2.

      In this training we will get a solid look at the "KDE Stack" and how the
      different pieces fit together. There will be a strong focus on the KDE
      Frameworks offerings and also on how Plasma leverages them.

      To better understand the context of the KDE technologies, we will also
      have a biased tour of their history and we will explain some known and
      lesser known bits in Qt with a different light.

      Depending on the explored topics, we will provide either high level
      diagrams of the interacting pieces or code snippets.

      If you are a KDE contributor whose first name is David or you've been
      contributing deeply to KDE Frameworks and Plasma the past few years,
      this training is probably not for you.

      That said, if you are a KDE contributor, or an aspiring KDE contributor
      this training is definitely for you. If you're working on a Qt application
      and wondering what KDE can bring to the table for you, it might be of
      interest as well.

      Speaker: Kevin Ottens (enioka Haute Couture)
    • 4:00 PM 8:00 PM
      Modern C++ - STL Containers and Allocators 4h

      This training is restricted to KDE developers, the room link & password is available at: https://invent.kde.org/teams/kde-developers/training/-/wikis/Akademy-2021

      This training is a subset of KDAB's regular Modern C++ training, focusing on containers and allocators. After teaching what's new in the STL containers since C++98, Marc will take a deep dive into allocators

      and how to use them efficiently. At the end of the training, participants will have a firm grasp of STL containers and allocators, and see the Qt containers for what they are: code-churning 90s designs with lots of baggage no-one needs.

      As a bonus for the community to which Marc owes his job, he will also include a special section on the Non-Owning Interface Idiom (NOI v2.0), which has never been presented before in public.

      Speaker: Marc Mutz (KDAB)
    • 8:00 AM 8:05 AM
      Welcome & Opening Remarks 5m
    • 8:05 AM 9:00 AM
      I Can't Work Like This 55m

      Making software products can be fraught with conflicts, where people in different roles may feel sabotaged by others. In this talk I present a model for thinking about the problems we solve and how we solve them, and using that I hope to convince you that team excellence comes from our differences, rather than in spite of them. Hopefully you'll walk away with a deeper understanding of that colleague that never writes tests, or the one that constantly complains that all you do is "make bugs".

      Speaker: Ms Patricia Aas (TurtleSec)
    • 9:00 AM 9:40 AM
      KDE is All About the Apps 40m

      Our Goal is to get more apps onto more app stores by empowering the app developers and integrating the release process into the stores and into the apps. Changing the culture of KDE to deploy our own apps. This talk will look at progress and barriers to the goal.

      Speaker: Aleix Pol Gonzalez (KDE)
    • 9:40 AM 10:20 AM
      Consistency: What's up? 40m

      A yearly update on your favorite KDE goa.

      Speaker: Niccolò Venerandi (KDE)
    • 10:20 AM 11:00 AM
      Wayland Goal 2021 Update 40m

      The Wayland Goal has been steadily making progress, we will look at what has been done since last akademy, how it has been done and by who and have a look at the road ahead.

      Speakers: Méven Car, Vlad Zahorodnii
    • 11:00 AM 11:40 AM
      KDE Goals roundtable 40m

      The Champions of the KDE goals, along with Lydia and Adam sit down to discuss the goals initiative, and answer community questions.

      Speakers: Adam Szopa (KDE), Lydia Pintscher, Méven Car, Jonathan Riddell (KDE neon), Niccolò Venerandi (KDE)
    • 11:40 AM 11:50 AM
      Qt for Python 10m

      Qt for Python is the project that provides the official set of Python bindings for developing Cross platform Desktop Applications with Qt Framework using Python 3.

      This talk will serve as an entry point to the planned workshop on the same topic.

      The workshop will cover the basics of developing cross platform desktop applications with Python using Qt and QML

      Speaker: Anupam Basak (Freelance Software Developer)
    • 11:50 AM 12:00 PM
      Health Analysis of the KDE Community 10m

      This short talk will be focused on an analysis of various projects inside KDE using their git histories. It is some sort of continuation of this blog post: https://carlschwan.eu/2021/04/29/health-of-the-kde-community/, but with more plots and data. More importantly, I want to take a step back and look at the lessons we learned along the way and how we can help our community to grow more in the future.

      Speaker: Carl Schwan (KDE)
    • 12:00 PM 12:10 PM
      SPDX License Markers in KDE - Progress Update 10m

      SPDX is standard to add license information to source code files in a machine readable way. This is important because:

      • it allows automatic checking
      • it enables super cool new features that were not possible before
      • it prevents ourselves from accidentally providing software that has an unusable/conflicting license

      In KDE Frameworks all non-deprecated parts already contain these markers, Plasma also did major work in this direction and similar efforts happened at further places in KDE. This talk will highlight what was achieved, where we are and it gives some ideas what people now can do with having license markers available.

      Speaker: Andreas Cord-Landwehr
    • 12:10 PM 12:20 PM
      Power Profiles in Plasma 10m

      In this talk I will briefly outline what platform_profiles are, what power-profile-daemon does and how it is used in Plasma, allowing you to control the performance of your machine.

      Speaker: David Redondo
    • 12:20 PM 5:00 PM
      Break 4h 40m
    • 12:30 PM 1:30 PM
      Collabora Office Hour 1h
      Speaker: Alvaro Soliverez (Collabora)
    • 5:00 PM 5:40 PM
      Sponsors' Talks 40m
    • 5:40 PM 6:20 PM
      Staying Indoors - OSM indoor maps for KDE Itinerary 40m

      Outdoor maps as found on any mobile phone nowadays aren't really useful for finding your way in large buildings such as major train stations or airports, as those maps don't represent vertical layers very well. How do we get indoor maps for those cases onto Plasma Mobile and into our apps?

      Finding your way through a complex multi-floor building you are not familiar with can be challenging, even more so when you have heavy luggage or a stroller with you, or are relying on a wheelchair, which can turn even a few stairs into a hard to overcome obstacle. Naturally you'd want your mobile phone to help you navigate, in the same way it does outdoors.

      In this talk we'll look at the OpenStreetMap (OSM) based indoor mapping library which has been developed for KDE's digital travel assistant Itinerary. While having a special focus on train stations and airports, it works equally well for any other building with the necessary indoor mapping data available in OSM, such as for example university buildings[*], museums or shopping malls.

      We will see how its use of a declarative client-side renderer based on MapCSS allows to customize the map display to app-specific use cases and deal with the increasing level of detail in OSM. The use of Marble's vector tile server on the other side allows efficient access to current OSM data.

      Besides showing a static OSM map, live data from other sources can be integrated as well. A particular important example are the realtime status information of elevators and escalators. Knowing beforehand whether one of those is out of order is convenient in any case, but for wheelchair users can be absolutely crucial.

      Finally, we will look at the challenges around indoor localization and routing. Outdoors we can often rely on multiple GNSS systems, indoors reception of those is typically very poor if available at all, while we at the same time have a higher demands on correct vertical positioning.

      [*] Not the Akademy 2019 one though, this is all limited to Euclidean space.

      Speaker: Volker Krause (KDE)
    • 5:40 PM 6:20 PM
      What's cooking for KDE Frameworks 6 40m

      With Qt6 released there is a new major version of the KDE Frameworks on the horizon. Even though the final transition is still a bit in the future the work towards it is already ongoing since Akademy 2019.

      This talk presents the work that happened and is going to happen for KF6. It highlights the core design decisions, goals, and areas where more work is needed.

      Learn what you as an application developer need to know about upcoming changes and how you can help shaping the foundation of all KDE software.

      Speaker: Nicolas Fella
    • 6:20 PM 7:00 PM
      C++ Coroutines and Qt 40m

      Coroutines are one of the brand new features in C++20. In this talk I will introduce how coroutines in C++ work and I will present QCoro, my experimental library that makes it possible to use C++ coroutines with certain Qt operations, like DBus calls, network replies etc.

      Speaker: Daniel Vrátil
    • 6:20 PM 7:00 PM
      The History of Software Distribution - A Personal Journey 40m

      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, and in this talk you will see an overview of the history of these attempts, and a discussion of some of the advantages and flaws each of them presents.

      Recently, a lot of attention has been paid to three attempts at getting software to users, in the form of Flatpak, Snapcraft and AppImage. These, however, have not been the only attempts at making it easier for both software developers, and your humble speaker has been involved in one way or another with a number of attempts for several years now, both as a volunteer contributor and as part of employment.

      In this talk we will explore the many ways this has been done, both high profile and more quiet attempts, some very interesting approaches, and some which have turned out to be less than successful. We will see what we can learn from those attempts, and we will see where we go from here.

      Speaker: Dan Leinir Turthra Jensen
    • 7:00 PM 7:40 PM
      KF6 the Architecture Overview - Time to Slice Things Up Yet Again 40m

      A new Qt major version has been released. As usual this is when we really get into preparing the next incarnation of our development platform. The last time we went full steam into cutting kdelibs into pieces. What are we going to do this time? Beware, this talk might include references from slasher movies.


      The move from kdelibs4 to KF5 was kind of our own Copernician Revolution. We used the opportunity to split our single platform package into dozens of components. This served us well but the model proposed to structure them is showing some limitations. With KF6 this is our opportunity to address those issues.

      In this talk, we will revisit how the KF5 offer has been structured. From that scheme we will highlight what worked well and not so well.

      Then we will proceed with an idea which was discussed during the latest KDE Frameworks Sprint and see how it could improve things. This is an interesting cocktail which is one part technical, one part community and one part marketing. Indeed, it might end up redefining in parts the nature of both KDE Frameworks and Plasma.

      Finally, we will explore the current state of our frameworks to see how far we are from the new envisioned structure and how feasible this rethinking of our platform is.

      Speaker: Dr Kevin Ottens (enioka Haute Couture)
    • 7:00 PM 7:40 PM
      Kdenlive 40m

      Presentation of the latest version of the Kdenlive application

      Speaker: Massimo Stella (Kdenlive)
    • 7:40 PM 8:20 PM
      Promo as a Service 40m

      In this talk, attendees will learn about the services the Promo team offers projects and how they can benefit from them.

      Speakers: Paul Brown (KDE), Aniqa Khokhar (KDE)
    • 7:40 PM 8:20 PM
      Wayland for Qt application developers 40m

      When talking about Wayland a lot of focus is put on the compositor and the shell.

      For 40 minutes we will completely ban uttering the terms Kwin or Plasma and focus purely on the application side.

      This talk explores what wayland means for Qt application developers. Why should developer need to care? what do they need to care about?

      This talk explores some common traps and pitfalls we've seen in client applications, and how to debug and fix remaining issues and how to address any porting that may be needed.

      We also look into KDE's existing contributions to QtWayland's client QPA and how you can get involved.

      Speaker: David Edmundson (KDE)
    • 8:20 PM 9:00 PM
      ARM Memory Tagging Extension - Fighting Memory Unsafety with Hardware 40m

      Qt and by extension C++ is the technical pillar of the KDE community that has served us well since our inception. However, there is no such thing as a free lunch; the performance and expressive power of C++ comes at a hefty price - it is memory unsafe. In turn, users experience crashes, odd behaviour and often ample opportunity for attackers to turn memory unsafety into powerful exploits.

      A variety of tools and techniques have been introduced to eliminate (but mostly to prevent and mitigate) the drawbacks of memory unsafe languages, but a lot of these tools are difficult to use and often have prohibitive overheads. The ARM Memory Tagging Extension (MTE) is a new hardware feature expected in ARMv8.5+ processors that allows metadata (i.e. tags) to be attributed to both memory and pointers. As will be seen in the talk, this can be used to prevent a wide variety of common memory related bugs with overheads low enough that one can use it as a security mitigation in production as well as a debugging tool.

      In addition, this feature opens up the possibility of other non-conventional use cases, such as being able to set infinite watchpoints, which in addition can be enhanced to create a race detector. These will be briefly discussed as well and hopefully will inspire future interesting use cases for this new versatile extension.

      Speaker: Mr Alexander Saoutkin
    • 8:20 PM 9:00 PM
      Towards sustainable computing 40m

      The way how we use computers has an impact on our environment. It has ecological, societal, and economic consequences. These consequences can be destructive, be it climate change or undermining people's autonomy. How can we move towards a sustainable way of using computers? How can we keep our planet and our society in a shape which provides healthy and desirable living conditions for us and future generations? We have answers. In this presentation we will discuss how KDE can contribute, and give an overview about two projects in this area, the FOSS Energy Efficiency Project, and the Blue Angel ecolabel.

      The goal of the FOSS Energy Efficient Project (FEEP) is to make measuring energy consumption an integral part of our development process. Collecting data is the base for understanding and optimizing energy efficiency. We will discuss how measurements can be done, including the scientific research behind it and how it's done in practice, and have a look at measurements for Okular, KMail and Krita.

      Energy efficiency measurements are one part of the criteria for the Blue Angel ecolabel. The Blue Angel is a successful label with a long tradition in many different product areas, issued by the German government. It recently has been extended to cover software as well, using criteria for energy efficiency as well as for user autonomy. We will discuss the current effort to get KDE applications certified with the label, and how we can scale that within our community and beyond.

      The topic of sustainable computing becomes more and more important. Free and Open Source Software is uniquely positioned to make a siginificant contribution here. We have a strong background in KDE through our values and our technolofy. We have a great chance to make tangible achievements. Let's do this together in the KDE way.

      Speaker: Cornelius Schumacher
    • 8:00 AM 8:10 AM
      Plasma: Work From Home Edition 10m

      This presentation will show you how to make working remotely more productive and more fun with the latest Plasma release.

      Speaker: Kai Uwe Broulik
    • 8:15 AM 8:25 AM
      Growing a KDE Video Community 10m

      At the beginning of 2021 I started up an experiment to create a video community around KDE, specifically using Youtube. I will cover how that went, the benefits for KDE, and you can do the same. Let's grow this community :)

      Speaker: Niccolò Venerandi (KDE)
    • 8:30 AM 8:40 AM
      KIO FUSE - A Summary 10m

      KIO FUSE provides a FUSE compatibility layer to KIO, allowing all applications - not just one linked to the KIO library - to benefit from the network transparent access to files and data that KIO offers.

      In this quick talk I'll clear misconceptions on how KIO FUSE works, give an overview of what work has been done and what work is planned in the future.

      Speaker: Alexander Saoutkin
    • 8:45 AM 8:55 AM
      Kalk - My first OSC project 10m

      Kalk is a cross-platform calculator application with a focus on ease of use and simplicity. It is built over the Kirigami Framework. I have implemented a new binary calculator feature as well as ported to an infinite precision number system.

      This talk briefs about the work I had done during the Season of KDE on Kalk.

      Speaker: Mr Rohan Asokan
    • 9:00 AM 9:40 AM
      KDE e.V. board report 40m

      KDE e.V. does a lot of work behind the scenes to support the KDE Community. In this talk the board of KDE e.V. will give an overview of the activities of the last year and provide an outlook to the next.

      Speakers: Lydia Pintscher, Dr Adriaan de Groot (KDE), Mr Eike Hein (KDE), Aleix Pol Gonzalez (KDE), Neofytos Kolokotronis (KDE)
    • 9:40 AM 10:20 AM
      KDE e.V. working group reports 40m

      The working groups of KDE e.V. are groups of KDE e.V.working on supporting KDE e.V. and the KDE Community at large around specific topics. In this session the working groups will report on their work of the last year.

      Speakers: Lydia Pintscher, Neofytos Kolokotronis (KDE), Aleix Pol Gonzalez (KDE), Eike Hein (KDE), Adriaan de Groot (KDE)
    • 10:20 AM 11:00 AM
      Building a discourse community for Krita 40m

      With its continuously growing user base, Krita needed an independent community space to bring together users and developers under one roof. In this talk I share our experience in building a dedicated discourse community for our users and how it is helping us to connect with our users and also get them involved in betterment of Krita.

      Speaker: Mr Raghavendra Kamath
    • 10:20 AM 11:00 AM
      Porting user applications to Qt 6 40m

      Qt 6 is the next major release of the Qt series. As a major release, it contains some significant changes, both in the module structure and in the external API.

      In this talk I will give practical advise on how to port applications from Qt 5 to Qt 6. Based on experience on porting Qt Creator, I will explain the most common API pitfalls, as well as useful processes and tools to help in the porting work.

      Speaker: Kai Köhne (The Qt Company)
    • 11:00 AM 11:40 AM
      Developing products that break out of our bubble(s) 40m

      KDE develops software products used daily by millions of people. Some are expected to be used by a generic pool of users, others are intended for specific groups. Yet, all of them certainly have the potential to reach even more users.

      In this talk I will present the various levels of bubbles that our products need to break out from, in order to grow their userbase. I am going to explore KDE applications that are already doing amazingly well, take a look at those that can be considered as great candidates to travel outside our orbit, and provide some tips on how we can enable more of our apps to achieve greatness.

      Speaker: Neofytos Kolokotronis (KDE)
    • 11:00 AM 11:40 AM
      Kinoite, a new Fedora variant with the KDE Plasma desktop 40m

      Fedora Kinoite is an immutable desktop operating system featuring the KDE Plasma desktop. It is based on rpm-ostree, Flatpak and podman to create a great user experience with atomic and safe updates for the system (rpm-ostree), the applications (Flatpak) and development tools or containers (podman). Fedora Kinoite is entirely built from Fedora RPM packages which tend to be very close to what upstream KDE is providing.

      This talk will explain the goals and advantages with Fedora Kinoite and what is coming next to help KDE developers develop and test upcoming desktop changes more easily.

      Speaker: Timothée Ravier (Red Hat)
    • 11:40 AM 12:20 PM
      Closing the distance between CPU and GPU with Signed Distance Fields 40m

      Traditional 2D rendering methods make use of the CPU. However, modern systems feature an increasingly powerful GPU. Unfortunately the traditional methods are not very suitable for running on the GPU. This means we need to reconsider how to render 2D elements. In this talk I will talk about one technique called Signed Distance Fields, which is used by the KQuickCharts framework as well as the ShadowedRectangle in Kirigami. Signed Distance Fields require some changes in how we deal with 2D elements, but once we have overcome those, they become a very powerful tool for advanced 2D rendering.

      Speaker: Arjen Hiemstra (Blue Systems)
    • 11:40 AM 12:20 PM
      Make a living in KDE 40m

      Last year, KDE e.V. Board announced as a goal last Akademy to put together an initiative with the intent of helping people make a living with KDE products.

      In this presentation I'd like to explain how we worked out what we wanted to do and how we expect it to evolve in the future.

      Speakers: Lydia Pintscher, Neofytos Kolokotronis (KDE)
    • 12:20 PM 5:00 PM
      Break 4h 40m
    • 5:00 PM 5:40 PM
      Sponsors' Talks 40m
    • 5:40 PM 6:20 PM
      Plasma internals the next few years 40m

      Work is starting on Kde Frameworks 6 and the Qt6 transition.
      The architecture of the Plasma Shell was born in the early Qt4 era, built on top of different technologies.
      The Qt4 to Qt5 transition brought for us an important technology change: Qt Quick: Plasma was redesigned to use that as its first class citizen for the GUI.
      While this new port to Qt6 doesn't pose a technology change as big as the Qt4 to Qt5 port, gives us the opportunity to exploit the lessons learned in the Plasma 5 lifetime, and the possibility to refactor and simplify things in order to offer a leaner and more robust experience for users and developers alike.
      The talk will briefly cover the development history of the Plasma shell in the past and will cover the current plans of architectural and API changes that will happen in Plasma 6.

      Speaker: Marco Martin (KDE)
    • 5:40 PM 6:20 PM
      The Art of Logging 40m

      Proper logging is essential for every software developer. When doing this in a sane way you will be rewarded with easy to understand warnings and errors that allow you to track down many bugs without even having to start a debugger.
      But this is not everything! Doing logging right allows sysadmins to analyze why certain features of a system are not working. And also for the embedded world, they are the probably most important way to understand, what is going on on your smartphone when it is not doing what you want.

      In this talk I want to cover the following topics:

      • How does the Qt logging framework work? How to reasonable create logging categories and choose the right severity? And how to change log levels of your applications?
      • How do modern logging backends work? Specifically, I want to look into systemd's journald backend and explain how to use it to analyze full system logs and filter them for your application.
      • At the last section, I will explain how one can access and analyze logs via remote access. In particular this can be done with embedded devices like Plasma Mobile smartphones.
      Speaker: Andreas Cord-Landwehr
    • 6:20 PM 7:00 PM
      Addressing wayland robustness 40m

      Plasma hasn't been one of the first desktops to transition to wayland, which still gives us the opportunity to make the best transition.

      One of the biggest issues that face wayland adoption is stability, if a client crashes, you just reopen it. If kwin wayland crashes, we lose everything. This is true across all desktops.

      This talk showcases work across multiple libraries and toolkits to tackle this at the root with a method of "compositor handoffs" allowing clients to safely securely and seamlessly reconnect to a relaunched wayland compositor. This not only tackles the issue of robustness but also opens up a whole avenue of new opportunities that were previously impossible.

      We will look at the work done and the upcoming steps remaining for this to reach all end users.

      Speaker: David Edmundson (KDE)
    • 6:20 PM 7:00 PM
      Qt Quick 3D in Qt 6.2 40m

      Title:

      Qt Quick 3D in Qt 6.2

      Abstract:

      A look at features of Qt Quick 3D in Qt 6.2

      Description:

      Qt Quick 3D is a modern and approachable 3D engine for Qt Quick.
      This talk will start by giving a short introduction to Qt Quick 3D before taking a closer look at some of the features available in Qt 6.2 and how they can be used.

      Examples of topics are:
      1. Smooth integration with 2D Qt Quick UIs
      2. Animation support
      3. Instanced rendering
      4. Particle effects.

      Speaker: Christian Strømme (The Qt Company)
    • 7:00 PM 7:40 PM
      Dev Trek The Next Generation 40m

      Snaps, the final frontier. These are the voyages of the OSS Snapcraft. Its mission: to help developers create applications easily, to simplify distribution and packaging, to improve security and updates, to boldly run where no one has run before.

      Self-container applications, with reliable updates and behavior across a wide range of distributions, a friendly store, tons of users. We'd like to invite you to a presentation about snaps, the new software packaging mechanism, designed to make life easier, both for developers and users. In this session, we will show you the nuts and bolts of snaps, the snapcraft command-line tool, the surrounding ecosystem, and take you on a journey of discovery and productivity.

      Engage.

      Speaker: Igor Ljubuncic (Canonical)
    • 7:00 PM 7:40 PM
      How we can solve the personal data problem. 40m

      Data collaboratives, trusts, cooperatives and many more have for long been discussed as a cure for the current problems with personal data. None of them so far succeeded in practice. I think, we can change this.

      In my talk, I will provide a vision for a system, that is trustworthy, democratic, transparent and that guarantees digital privacy for each and everyone, while providing fair access to personal data for those interested. I will show that a 'global digital personal data cooperative' can be realized and what we in KDE can do for it right now.

      Compared to a traditional cooperative, this is facing some special challenges, such as:

      • Personal data is immaterial
      • The data is extremely sensible
      • The problem to be solved is global
      • There is an existing market, where we can individually trade our data for 'free' services
      • How we want to handle personal data differs per person and will change over time

      I will show how we as KDE, free software communities and civil society can deal with these challenges and just start hacking the system right away.

      We can actually change the world. We can make it securely private again, without loosing the comfort of big data.

      This is a big vision and this is my first step into general public. Thanks for joining despite.

      Speaker: Björn Balazs
    • 7:40 PM 8:20 PM
      KDE NETWORK 40m

      KDE NETWORK aims to grow and diversify our community by outreaching to more countries and create Brand awareness about KDE.

      This talk will try to enlighten on:

      1. The KDE Network team and the methods for reaching out contributors/developers and end users
      2. Traverse through the achievements in our Pilot Projects in India-Kerala and Brazil.
      3. Explore our upcoming projects.
      Speakers: Bhavisha Dhruve, Aniqa Khokhar (KDE), Aiswarya Kaitheri Kandoth, Tomaz Canabrava
    • 8:20 PM 9:20 PM
      Journey from Farm Girl to Holograms 1h

      Jeri Ellsworth will share her journey as lifelong inventor, entrepreneur and maker. The journey from farm girl to holograms is not without its ups and downs. She will share how obstacles were overcome through courage, persistence, and a inquisitiveness about how the world works. Some stories feature Jeri's mentors who were critical to achieving success, whether it was to design the best toy that could delight millions of kids or how to become lead avionics engineer for a low earth orbit rocket. Jeri's current startup is the culmination of an 8-year quest – including a nearly $2million Kickstarter campaign – to bring holograms affordably into every home, called Tilt Five.

      Speaker: Jeri Ellsworth (Tilt Five)
    • 7:00 AM 8:00 AM
      Game Time! 1h
    • 9:00 AM 12:00 PM
      BoFs - See the Wiki 3h
    • 11:00 AM 1:00 PM
      AGM 2h
    • 12:00 PM 4:00 PM
      Break 4h
    • 4:00 PM 8:00 PM
      BoFs - See the Wiki 4h
    • 9:00 PM 10:00 PM
      Game Time! 1h
    • 7:00 AM 8:00 AM
      Game Time! 1h
    • 9:00 AM 12:00 PM
      BoFs - See the Wiki 3h
    • 12:00 PM 4:00 PM
      Qt Contributors' Summit 4h
    • 4:00 PM 8:00 PM
      BoFs - See the Wiki 4h
    • 9:00 PM 10:00 PM
      Game Time! 1h
    • 7:00 AM 7:30 AM
      Origami with Tomaz 30m

      Did you always want to learn Origami, but never had the opportunity? You're in
      luck! Sensei Tomaz Canabrava will show you what the art of folding paper is
      all about. To join in the fun, be sure to prepare three (3) pieces of paper beforehand.
      If you want, set up your webcam so that it points at your hands and show
      everyone how you're progressing!

      Speaker: Tomaz Canabrava
    • 9:00 AM 12:00 PM
      BoFs - See the Wiki 3h
    • 12:00 PM 4:00 PM
      Qt Contributors' Summit 4h
    • 4:00 PM 8:00 PM
      BoFs - See the Wiki 4h
    • 9:00 PM 9:30 PM
      Origami with Tomaz 30m

      Did you always want to learn Origami, but never had the opportunity? You're in
      luck! Sensei Tomaz Canabrava will show you what the art of folding paper is
      all about. To join in the fun, be sure to prepare three (3) pieces of paper beforehand.
      If you want, set up your webcam so that it points at your hands and show
      everyone how you're progressing!

      Speaker: Tomaz Canabrava
    • 7:00 AM 8:00 AM
      Game Time! 1h
    • 9:00 AM 12:00 PM
      BoFs - See the Wiki 3h
    • 12:00 PM 4:00 PM
      Break 4h
    • 12:00 PM 1:00 PM
      Fedora Office Hours 1h
      Speakers: Marie Nordin (Fedora Project), Neal Gompa (Fedora Project)
    • 1:00 PM 2:00 PM
      MBition Office Hour 1h
      Speakers: Eike Hein (KDE), Johna Thelin (Mbition), Kai Uwe Broulik
    • 2:00 PM 3:00 PM
      GitLab Office Hour 1h
      Speaker: Nuritzi Sanchez (GitLab)
    • 4:00 PM 8:00 PM
      BoFs - See the Wiki 4h
    • 9:00 PM 10:00 PM
      Pub Quiz 1h
      Speakers: Adam Szopa (KDE), David Edmundson (KDE)
    • 7:00 AM 8:00 AM
      Game Time! 1h
    • 9:00 AM 12:00 PM
      BoFs - See the Wiki 3h
    • 12:00 PM 5:00 PM
      Break 5h
    • 5:00 PM 5:40 PM
      Community's Adventures in Analyticsland - Or the State of the Community Through New Analytics 40m

      Things got a bit quiet and slow again regarding the community data analytics. The universe has a weird sense of humor, admittedly it went out of control this time. But behind the scene, things have still been happening in the community at large and with our community data analytics tooling in particular. This talk will explain what's new in that department and produce a new report on the community adventures. No line will be stolen from Lewis Carroll for this talk... until we decide otherwise.


      In this talk we will pick up where we left in 2018. We focused quite a bit on the history of the tools we use for community data analytics. Because of this we showed only a few phenomena which could but didn't do a large study of the community.

      Since then, more features have been added to our tooling which allow to leverage more data for GitLab based projects. Since KDE now switched to GitLab for a little while, it is time to take a closer look at the interactions happening there. This is especially interesting since even quite a bit of traffic from mailing lists moved on that platform.

      We will revisit several older topics under that new light. In particular, we should have a much more precise reading of the contributor networks than ever before. Also, we will see how KDE did under the on-going pandemic.

      Speakers: Christelle Zouein (enioka Conseil), Dr Kevin Ottens (enioka Haute Couture)
    • 5:00 PM 5:40 PM
      Releasing Android Apps - Building, optimizing and deploying release APKs 40m

      We create more and more mobile-friendly applications, many of which also work on Android. But having to cover the distributor role there as well, how do we actually go about releasing our apps there?

      Targeting Android with our applications is interesting both for reaching a like-minded community on its FOSS variants such as LinageOS as well as for the vast user base of its proprietary variants, and is in line with KDE's goal of improving our application delivery. However, it is also up to us to wear the distributor hat and take care of packaging and delivery to the respective app stores there.

      While we have the infrastructure to build nightly debug packages targeting Android for about 25 apps, and distribute those via a dedicated F-Droid repository, only very few applications have proper releases for Android. All of those use custom solutions to build their release packages, unlike on other platforms we have no common infrastructure for this.

      In this talk we are going to look at ongoing efforts to expand the existing setup of Craft and Binary Factory to also cover Android release packages. Craft and Binary Factory are already used to build Windows, macOS and AppImage packages, covering Android as well promises less dependency, package and infrastructure maintenance work.

      Building release packages isn't as easy as changing a few build flags though. Particularly for mobile apps it is useful to optimize the package size by ensuring we only include what is absolutely necessary, both for code and data. At the same time it's crucial the package is complete, especially regarding translation catalogs. We'll therefore look at ways to inspect, analyze and optimize the release packages.

      Finally, a package itself isn't enough for an app store presence, we also need the associated metadata describing the application, e.g. with texts, tags/categories or screenshots. Most of this usually exists in form of AppStream metadata already, and we'll see how that can be used for Android app stores as well.

      Speaker: Volker Krause (KDE)
    • 5:40 PM 6:20 PM
      Kockatoo: Social Media Made Easy 40m

      Although still in early stages of development, Kockatoo intends to help communities, projects, companies and individuals to post to a wide variety of social media platforms with minimum hassle.

      In this talk we will look what problems Kockatoo intends to solve, where we are at, and what comes next.

      Speakers: Paul Brown (KDE), Manav Sethi
    • 5:40 PM 6:20 PM
      Qt 6: New Features and Roadmap 40m

      The talk will give an overview over the largest changes that came with Qt 6, where we are right now with Qt 6.1 and the roadmap towards Qt 6.2.

      Speaker: Lars Knoll (Qt)
    • 6:20 PM 7:00 PM
      Interactive UIs in Qt Quick 3D 40m

      Over the last decade, Qt Quick has become one of the best technologies for
      developing hardware-accelerated 2D "fluid" user interfaces, and is on track to
      eventually replace conventional desktop-style widget-based GUIs in many
      applications. In Qt 6 another possibility is approaching adolescence: you can
      use the same declarative QML language to create 3D applications too. In this
      talk we'll explore some of the possibilities: 2D applications for working with
      3D content (like CAD, 3D design and 3D printing applications), 3D applications
      which also contain 2D user interfaces mapped onto the surfaces of the objects
      (games and simulations), and fully immersive 3D user interfaces. We hope that
      with all this power available via such an easy language as QML, the community
      can begin to develop entirely new categories of applications.

      Speaker: Shawn Rutledge
    • 6:20 PM 7:00 PM
      The KDE Qt 5.15 patch collection 40m

      In April, KDE announced a patch collection for Qt 5.15 https://dot.kde.org/2021/04/06/announcing-kdes-qt-5-patch-collection

      This talk will explain why this patch collection was created, what it exactly is and how it is maintained.

      Speaker: Albert Astals Cid
    • 7:00 PM 7:40 PM
      O² a WIP 40m

      The process of creating design in an Opensource Universe.
      A short intro to Oxygen², what moves it forward, and were I would like it to go.
      The struggles of design for yourself and everybody else.

      Speaker: Nuno Pinheiro
    • 7:00 PM 7:40 PM
      Qt Design Studio an Introduction 40m

      QML, a user interface markup language, is part of the Qt framework. QML is a declarative language (like CSS and JSON). Qt Quick is the name of the QML based framework for defining modern user interfaces.
      To break the cycle of painstaking feedback loops between designers and developers the Qt Company is also developing Qt Design Studio a graphical editor for Qt Quick and QML. Qt Design Studio comes also as a free community version for non-commercial users and is available for Linux.
      This talk is showing how Qt Design Studio with Qt and QtQuick can be used to create applications with a modern user interface and how to involve UX designers in the development process.

      The free community version is freely available for non-commercial users and can be utilized to improve and speed up the development of Qt/QML Open Source applications.
      Release blog post: https://www.qt.io/blog/qt-design-studio-2.1-released
      The download of the free community version: https://download.qt.io/official_releases/qtdesignstudio/2.1.0/

      Speaker: Thomas Hartmann (Qt)
    • 7:40 PM 8:40 PM
      Working professionally with KDE 1h

      In this presentation I'd like to share my experiences with working with the KDE Community both as a Blue Systems employee who has to work as a developer on KDE products.

      I would like also to reflect on the experience of having hired several contractors to work with the KDE community and how we aspire it to work for further positions.

      Speaker: Aleix Pol Gonzalez (KDE)
    • 8:40 PM 9:00 PM
      Final BoF Wrap Up, Akademy Awards, & Closing Remarks 20m