Linux App Summit 2023
from
Friday, 21 April 2023 (10:00)
to
Sunday, 23 April 2023 (20:00)
Monday, 17 April 2023
Tuesday, 18 April 2023
Wednesday, 19 April 2023
Thursday, 20 April 2023
Friday, 21 April 2023
19:00
Welcome Party at: Poštovksá 68/3, Brno More info: https://harry.beer
Welcome Party at: Poštovksá 68/3, Brno More info: https://harry.beer
19:00 - 20:00
Saturday, 22 April 2023
10:00
Opening Remarks
Opening Remarks
10:00 - 10:10
10:10
Regulatory state of play of Open Source in the EU
Regulatory state of play of Open Source in the EU
10:10 - 11:10
11:10
Coffee Break
Coffee Break
11:10 - 11:20
11:20
UnifiedPush - Push notifications for Linux
UnifiedPush - Push notifications for Linux
(Main Track)
11:20 - 12:00
Push notifications are a relevant platform feature of the proprietary mobile ecosystems, and while sometimes abused they are essential for realtime communication or public alert applications for example. How can we bring this to FOSS platforms as well? Push notifications avoid that applications waiting for important information have to be continuously running and keep their own network connections alive, which is particularly inefficient on battery powered or otherwise resource constrained devices. This is achieved by a platform service maintaining a single network connection and activating the responsible application when receiving a corresponding message. In this talk we are going to look at efforts to build FOSS push notification infrastructure. Based on the [UnifiedPush](https://unifiedpush.org/) specification there are a number of client- and server-side components available, but there's still work to be done, for Linux clients in particular. Based on the lessons learnt from [KDE's work on client-side UnifiedPush integration](https://invent.kde.org/libraries/kunifiedpush) we will discuss possible approaches for giving users full transparency and control over push notification usage also across different Linux environments. Finally we are going to look at some of the potential challenges of providing the necessary server-side infrastructure for our users, something that is necessary for enabling applications to rely on push notifications.
11:30
Flathub Focus Group
Flathub Focus Group
(Main Track)
11:30 - 12:10
Are you an app developer? We want to hear about your Flathub experience! We're running a survey to collect information about how app developers use Flathub and how Flathub could work better for them. During this focus group, we'll walk attendees through our survey questions and have time for discussion and feedback. This workshop is open to all, but survey questions and discussion will be geared toward app developers with some Flathub knowledge.
12:05
Using XDG Desktop Portals for Qt apps
Using XDG Desktop Portals for Qt apps
(Main Track)
12:05 - 12:45
In this presentation, we will walk through how to leverage XDG Desktop Portals from a Qt app. We'll identify the features abstracted out by Qt and those that require manual implementation for full resource accessibility. We'll discuss practical use cases and highlight the benefits of XDG Desktop Portals for Linux app development.
12:45
Canonical Office Hours
Canonical Office Hours
12:45 - 13:45
Lunch Time
Lunch Time
12:45 - 14:15
14:15
Linux apps and artificial intellegence with disability in opensource communities
Linux apps and artificial intellegence with disability in opensource communities
(Main Track)
14:15 - 14:55
As the world is more into diversity and inclusion in the present day world with special emphasis on gender diversity and other forms of diversity such as disability inclusiveness is almost forgot (or more often used like a fad most times than not), as a born disabled person with cerebral palsy to the extent of 75 percent, I would like to present my wonderful journey in the opensource community from the past 16 years using various linux apps and artificial intelligence based techniques such as automatic speech recognition for instance. From an Ubuntu member to an Ubuntu developer to being on the council and app review board to being in the outreach (now emeritus), in ubuntu and being a contributor to debian too formerly, I want to talk about how opemsource has influenced my daily life which has enabled me to get 4 civilian awards in India to being a private entrepreneur now in Budapest and a book author being a single handed contributor as my left hand side refuses to work :-) So would love to give an introduction to beginners in the world of open source from a diversity point of view of opensource communities and how various linux apps and automatic speech recognition in linux have made me overcome my disability to lead a normal life.
Snap performance optimization - The Firefox case study
Snap performance optimization - The Firefox case study
(Main Track)
14:15 - 14:55
The battle between security and convenience has been fought across the digital plains since the early of days of computing. Usually, one comes at the expense of the other. But does it have to be that way? The introduction of the Firefox snap in Ubuntu 21.10, and subsequently, the 22.04 LTS release generated a great deal of buzz in the Linux ecosystem, focused on the tradeoff between startup speed and the benefits of the security sandboxing. We saw the engagement, for better or worse, as a great opportunity to hone down the Firefox snap performance, and create a top-notch experience for the end user. This session is a deep dive into all of the fine technical elements that went into making the Firefox snap snappy [sic], including Squashfs compression optimization, content snaps, pre-caching, Raspberry Pi improvements, native messaging, kernel compilation parameters, security confinement tweaks, GPU rendering, and then some. If you like Linux, data and a good Sherlock Holmes mystery, you will love this!
15:00
What's next for the Linux App Ecosystem? Panel Discussion
What's next for the Linux App Ecosystem? Panel Discussion
(Main Track)
15:00 - 15:40
The LinuxAppSummit is on its eighth year of existence. In that time frame, we've forged relationships between desktop projects, focused on application development and distribution. Where do we go next? This is a panel discussion to cover a range of topics discussing where desktops can share a set of standards and where diversification is our strength. How will we tackle upcoming technologies like chatGPT/AI and Machine Learning that have started to become ascendant? Are they an opportunity or are they a threat? What have been our successes in the past eight years, and what should we be focusing on and planning for in the next 2 to 5 years? This panel discussion will include desktop projects, toolkits, 3rd party developers, and distro partners. Panel members: Jason Evangelho (Thunderbird) Lubos Kocman (SUSE) Aleix Pol (KDE) Heather Ellsworth (Ubuntu/Canonical) Robert McQueen (GNOME) Felipe Borges (Fedora) Moderator: Sri Ramkrishna
15:40
Break
Break
15:40 - 15:50
15:50
Bringing Windows applications to Linux app stores with Wine snaps
-
Merlijn Sebrechts
(
Ubuntu - Ghent University - imec
)
Lucy Llewellyn
(
Snapcrafters & Ubuntu
)
Bringing Windows applications to Linux app stores with Wine snaps
(Main Track)
Merlijn Sebrechts
(
Ubuntu - Ghent University - imec
)
Lucy Llewellyn
(
Snapcrafters & Ubuntu
)
15:50 - 16:30
This is an introduction to the [sommelier-core][1] project, which tries to make it as easy as possible to package a Windows application for Linux. It uses Wine and Snapcraft to create a universal Linux package containing a Windows app. The project is currently used by about 40 snaps for open and closed source software such as [Notepad++](https://snapcraft.io/notepad-plus-plus), [foobar2000](https://snapcraft.io/foobar2000), [Cryptool 1](https://snapcraft.io/cryptool), and [TrackMania Nations Forever](https://snapcraft.io/tmnationsforever). I explain the long and complicated history of the project, how it works, the future roadmap, and end with a small demo showing how to get started packaging your first Windows app for Linux. [1]: https://github.com/snapcrafters/sommelier-core
Hierarchical Freezing in Desktop Applications
Hierarchical Freezing in Desktop Applications
(Main Track)
15:50 - 16:30
In traditional Linux operating systems, the life cycle of an application process is mainly controlled directly by the application itself. However, system resources are limited, and when we run a large number of I/O-intensive or CPU-intensive applications, the system will become laggy, which greatly affects the user's operating experience. For this reason, we have designed a "hierarchical freeze" mechanism in openKylin OS to control the application lifecycle, and "hierarchically" handle applications in different states in the OS. This help frees up system resources and improves the user experience.
16:35
Accessibility Testing Workshop
Accessibility Testing Workshop
(Main Track)
16:35 - 17:15
In this participatory workshop, we will test apps for usability with the keyboard and without sight using GNOME's Orca screen reader.
The New Printing GUIs: GNOME Control Center and Common Print Dialog Backends
The New Printing GUIs: GNOME Control Center and Common Print Dialog Backends
(Main Track)
16:35 - 17:15
With the background of all modern printers being driverless IPP (Internet Printing Protocol) printers we are switching to an [all-IPP printing architecture](https://openprinting.github.io/current/#the-new-architecture-for-printing-and-scanning) without classic printer drivers. This changes also the needs of the GUI for setting up printers and for printing itself and therefore at OpenPrinting we have mentored several Google-Summer-of-Code projects during the last years to do the required changes, both on the "Printers" module of the GNOME Control Center ([2020](https://github.com/lbandlish/Administrate-MF-Devices-GUI), [2021](https://github.com/divyashk/GSOC21_summary), [2022 (1)](https://github.com/7shivamx/Google-Summer-of-Code-2022-The-Linux-Foundation), [2022 (2)](https://github.com/vermamohit13/GSOC_2022_Summary)) as printer setup tool and on the print dialogs of GTK and Qt ([2017](https://nilanjanalodh.github.io/common-print-dialog-gsoc17/), [2022](https://github.com/TinyTrebuchet/gsoc22/)). In [further projects](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2023-openprinting-projects#cpdb_support_for_application_s_print_dialogsfirefox_chromium_libreoffice) we will also treat the print dialogs of applications, like Firefox, Chromium, LibreOffice, ... The GNOME Control Center will be able to list IPP services as available printers and not only CUPS queues and in the "Add Printer" part for setting up non-driverless printers it will also search for Printer Applications, which replace the classic CUPS drivers. The print dialogs will not talk directly with CUPS (and other print technologies, like cloud print services) any more, but they will use the [Common Print Dialog Backends](https://openprinting.github.io/achievements/#common-print-dialog-backends) concept.Here the developers of the print technologies (OpenPrinting in case of CUPS) provide their GUI-toolkit-independent print dialog backend and all print dialogs connect to these backends by D-Bus, so on changes in the print technologies the backends get updated and the GUIs and apps automatically support the changes. In this talk we want to show the state of the art of the development of the GUIs and also demo them. We also want to keep the last ~15 min for an AMA (Ask Me Anything) for the audience to ask questions and discuss our GUI work. The discussion can be continued in an OpenPrinting BoF session.
17:15
Release party
Release party
17:15 - 19:00
Sunday, 23 April 2023
10:00
Bootstrappable Freedesktop SDK
Bootstrappable Freedesktop SDK
(Main Track)
10:00 - 10:40
The talk will present recent work to make the Freedesktop SDK project bootstrappable "from scratch", allowing it to be built using nothing but source code and a minimal set of pre-existing binary tools. The Freedesktop SDK project aims to provide an independent runtime platform and SDK for building and running other projects. Notable uses of Freedesktop SDK include Flatpak apps and GNOME OS. Having a "from scratch" bootstrap process brings the benefits of a clear dependency graph of fully auditable code and a build process independent from any specific distribution or pre-existing runtime platform. These benefits apply not only to Freedesktop SDK, but also to any project that builds upon it.
Free & Open Source Software: Software Design For The Environment
Free & Open Source Software: Software Design For The Environment
(Main Track)
10:00 - 10:40
Information & Communications Technology currently accounts for 3% of global CO2 emissions. If nothing changes, it will rise to over 30% by 2050. Often overlooked is the crucial role that software design plays: software determines the energy consumption of hardware, and for how long devices remain in use. Nevertheless, environmental harm driven by software design is largely unknown to most people … let alone that users can already do something about it with Free Software. Energy efficiency AND energy conservation are critical, and both can be achieved now by adopting software meeting the Blue Angel criteria. Developed by the German Environment Agency, the ecolabel recognizes user autonomy and transparency, two pillars of Free Software, as critical for sustainability goals. In fact, Free Software is already fulfilling most, if not all, of the award criteria's user autonomy requirements. In this talk I will provide an overview of the environmental harm driven by software. I will link the inherent values that come with a Free & Open Source Software license to sustainable software design. Finally, I will provide an overview of the work of the KDE Eco project and the sustainability goals of KDE.
10:40
Break
Break
10:40 - 10:50
10:50
(Keynote speaker) The Open Source Symbiosis
-
Muhd Syazwan Md Khusaini
(Keynote speaker) The Open Source Symbiosis
Muhd Syazwan Md Khusaini
10:50 - 11:50
Symbiosis in open source refers to the mutualistic relationship between the community of contributors and users that drive the development of open source software. It involves a give-and-take relationship, where users benefit from the contributions of developers, while developers benefit from the feedback and support of users. This interdependence is what fuels the success of open source projects, and enables them to create high-quality, innovative software that meets the needs of users around the world.
11:50
BoF: Diversity and Inclusion from an Educator's point of view
-
Aarti Ramkrishna
BoF: Diversity and Inclusion from an Educator's point of view
Aarti Ramkrishna
11:50 - 12:30
This is a talk discussing diversity, equity, and inclusion from the point of view of an educator. Aarti Ramkrishna is an award-winning educator who is building equitable classroom curricula for a school district at the elementary (Kindergarten-5th grade)level. Aarti has been doing equity work with 5-year olds and elementary-aged students. She will discuss her observations of children and adults and how racism permeates education. She is an aspiring administrator who envisions a school district that not only talks the talk but truly walks the walk when it comes to DEI
Integrate Flatpak to your favorite IDE
Integrate Flatpak to your favorite IDE
11:50 - 12:30
In the last few years, Flatpak has revolutionized graphical application development on Linux. Sadly, so far, only GNOME Builder has been the go to IDE if you want a tight integration with containers technologies such as Flatpak. In this presentation, we will go through the needed steps to integrate Flatpak with your favorite IDE, for example Visual Studio Code, as well as looking at [fenv][1] for a CLI friendly tool. [1]: https://gitlab.gnome.org/ZanderBrown/fenv/
12:30
Fedora Office Hour
Fedora Office Hour
12:30 - 13:30
Lunch Time
Lunch Time
12:30 - 14:00
14:00
Flathub in 2023: Revolutionizing the Linux App Ecosystem
Flathub in 2023: Revolutionizing the Linux App Ecosystem
(Main Track)
14:00 - 14:40
It's been a year since our last report to the application community. This year Flathub has seen enormous improvements in infrastructure, usage, and consumption by users. Flathub is a popular app store for Linux operating systems that provides a centralized location for users to download and install applications. Flatpak is a packaging format for Linux that allows developers to create and distribute software that can run on multiple Linux distributions. They provide updated applications for users while offering a sandbox environment and providing all the dependencies an application needs to function properly. This talk will summarize and explain the details of the progress that Flathub has made over the past 12 months. - Improved Website: Flathub's website received an overhaul in 2022, making it more user-friendly and accessible and adding support for payments and verified publishers - Increased Number of Applications: Application developers continue to add many new applications to the store - Integration with Linux Distributions: Flathub continued to work with Linux distributions to integrate Flatpak into their package managers, making it easier for users to install Flatpak applications. - More portals have been implemented, allowing for applications to have hooks into the host OS to provide the integration that users expect from modern desktops and applications. Additionally there has been extensive work being done in the Flathub runtimes, allowing for dramatically improved gaming support, hardware enablement, and the ability to ship multiple builds of MESA to give users the flexibility they need. Join us as we cover 2022 and talk about the improvements we're looking forward to showing you in 2023.
GNOME Mobile Show & Tell
GNOME Mobile Show & Tell
(Main Track)
14:00 - 14:40
Over the past few years the GNOME ecosystem has made huge strides on mobile. Toolkit support is now quite mature thanks to years of work on the developer platform by the GTK and Libadwaita teams (largely driven by Purism's Librem 5), and the ecosystem has now grown to dozens of great apps that work on mobile, with new ones being released at an accelerating rate. Since last year there's also a push spearheaded by Jonas Dreßler to bring GNOME Shell itself to mobile. This allows all the great recent work on things like gestures and the customizable app grid to be usable on phones as well. There are also more devices than ever to use this software on, as projects like postmarketOS are working to make some Android devices usable with mainline Linux. Robert Mader and others have been working on finally enabling cameras using a high-level stack (libcamera, Gstreamer, Pipewire), which is making modern camera apps like Snapshot possible. This session is intended to be a loosely structured show & tell where a few of the core developers and designers involved with these efforts demo some devices and apps, talk about what's next in GNOME mobile, and take questions from the audience.
14:40
Flathub, how does it even work?
Flathub, how does it even work?
(Main Track)
14:40 - 15:20
Flathub is an application store with Flatpaks, featuring almost 2000 apps, serving few thousands of requests per second and terabytes of data daily. Let's have a closer look at how it works.
Testing Flutter Desktop Applications
Testing Flutter Desktop Applications
14:40 - 15:20
This workshop will introduce methods for testing Flutter desktop applications. We will create a small example application and test its UI and functionality in different ways: - Unit tests for the business logic components - Widget tests for the UI components - Integration tests for the entire application. Some basic knowledge about Flutter and a working development environment are desirable.
15:20
Break
Break
15:20 - 15:30
15:30
Building and distributing Flatpak apps
Building and distributing Flatpak apps
(Main Track)
15:30 - 16:10
In this presentation we will provide an introduction to the Flatpak ecosystem, covering the process of creating a Flatpak manifest, building, and distributing a Flatpak app. We also will discuss how you can use Flatpak in your CI and what are the challenges which complex apps face when running in the Flatpak sandbox environment.
Cross-platform app development in Rust
Cross-platform app development in Rust
(Main Track)
15:30 - 16:10
You don't have years to spend to make a high quality yet unmaintainable app in C++? You don't want a bulky, slow, glitchy and dependency-ridden app in Java, JS or Python? As we've all heard, there's one programming language that lets you productively write clear and maintainable code that compiles to dependency-free high-performance native code for every platform. This presentation summarizes the findings from making an experimental next-generation GUI framework in Rust. - **The architecture of a zero-weight framework** – No framework feature can cost more than implementing an app-specific feature without a framework - **Universal and timeless UI design** – Taking ideas from the history of design instead of chasing trends - **Functional GUI programming** – A full departure from the old object-oriented GUI, entirely eliminating the stateful object graph, unlike previous reactive approaches that still keep it as a middle layer - **Generating apps from a specification** – A universal non-plain text language for creating domain-specific languages, allowing apps to be described in high-level functionality and have documentation, implementation and tests all generated from one specification - **Safe high-performance extensibility** – A compact machine-independent format for distributing programs, allowing untrusted programs to be compiled to optimized machine code and safely executed, using type safety instead of containers or runtime checks, thereby allowing zero-copy communication between modules
16:10
Using Appium to test Linux apps
Using Appium to test Linux apps
(Main Track)
16:10 - 16:20
We'll talk about the KDE effort to adopt this popular test automation framework to test its own apps. After many years frustrated with other alternatives we found we have started deploying this new approach. We'll go through it's main advantages, why we think it will help our developer story and how you can adopt it to your project. Hint: it's very easy, if you support Linux's standard accessibilty infrastructure. https://invent.kde.org/sdk/selenium-webdriver-at-spi/
16:20
Game development on Linux
Game development on Linux
(Main Track)
16:20 - 16:30
With the rise of Gaming on Linux it is natural to improve the tools for the creation of these. Game engines are no exception, and with the release of Godot 4.0 a lot of new functionality and improvements are arriving to the engine. The snap version of it couldn’t be missing in the snap store so we are distributing both the regular and the mono version. Now, creating games starts with a single command or pushing an install button!
16:30
We can’t spell BUGs without U
We can’t spell BUGs without U
(Main Track)
16:30 - 16:40
Every software user has encountered bugs in their daily life but many go unreported for a variety of reasons (lack of time to file the issue, under-confidence in the issue being seen/resolved, etc). This talk will encourage everyone to file issues and cover how to file a high quality bug in 15 min or less. The more valuable bugs that are filed, the better the software can be so learn how you can improve the ecosystem without costing yourself a ton of time!
16:40
What's new in GNOME Boxes
What's new in GNOME Boxes
(Main Track)
16:40 - 16:50
This talk will show the newest changes in GNOME Boxes and how they can help users and developers perform various workflows using virtual machines.
16:50
Open-source fitness: wger, Feeel, and making an exercise wiki
Open-source fitness: wger, Feeel, and making an exercise wiki
(Main Track)
16:50 - 17:00
Fitness has been a generally neglected topic when it comes to free software. We're bucking the trend and building two FOSS fitness apps — wger and Feeel — as well as a community-driven exercise wiki for those apps. With an open API and a CC BY-SA license for all content, anyone will be able to source exercise data from this wiki. This talk will serve as a short intro to this effort as well as give a primer on how you can contribute.
17:10
17:10 - 17:30
Contributions
17:10
Nemomobile