 Actually, since we are a little bit behind schedule, let's move on directly to the subject of our talk. Yes, we're going to talk about convergence. It is true that as a term, convergence is, let's say, a buzzword in the Linux mobile and desktop world. There is a lot of hype around that term. But in reality, it's a quite simple term that consists just of two requirements. There is the hardware part that suggests that you should be able to plug into your smartphone, a mouse, a monitor and a keyboard and use it as a traditional, let's say, desktop workstation. And there is the second requirement where the applications should adapt their user interface and their user experience, according to, let's say, the device that the application runs on. Well, before delving into the technical details about convergence, well, I've just realized that I haven't shared my webcam, so now you should be able to see it as well, right? Well, before delving into the technical details about convergence, let's try to see convergence from a non-technical point of view. Well, unfortunately, currently the most, let's say, popular software repository in the mobile world is the Google Play, the application store of Google's Android, which, in my opinion, contains many applications that do not respect the rights of the users. Well, there are many applications that spy on the users or use the application as an advertising board. And on top of that, the Android developers are locked in in decentralized and proprietary Google Play services API. Well, on the other side, there is the word of Linux free software applications that, in most cases, there are applications that are free software and respect the user rights and provide real functionality to the user without spying on them or throwing advertisers to their face. But in my opinion, this set of applications has a major deficiency, which is that these applications are not touch friendly. And in most cases, they have not been implemented on frameworks that provide touch friendly capabilities. To address this deficiency, the KDE community has introduced the Kirigami framework, which is a UI toolkit for desktop, for convergent desktop and mobile based on the touch friendly set of Qtweek controls, which is also a set of controls that is customizable in terms of their styling. It also applies the KDE human interface guidelines, in short, KDE Hick. We are going to expand on this topic in the next slide. It is also a tier one framework that means that it only depends on Qtweek. And as a Qt framework, it is a multi-platform. It is true that the KDE developers work primarily on Linux, but there is nothing to prevent Kirigami from running on any other platform. And of course, as a KDE project, it is a piece of free software. Well, we have said before that Kirigami is based on the KDE Hicks. It applies the KDE human interface guidelines. Well, the KDE Hick is a set of design patterns for mobile and desktop convergent applications. It has been created and it is maintained by the KDE Visual Design Group. And, well, they have as a target to offer an optimal user experience for each kind of device. To achieve this goal, the KDE designers try to enable developers to create consistent and easy-to-learn user interface. And, well, these terms are, let's say, tightly coupled, because, well, for example, when you are in Plasma Mobile and you run an application that Plasma Mobile offers, well, in general, the applications of Plasma Mobile are based, have been implemented on Kirigami. Well, having interacted with an application, let's say, K3 in Plasma Mobile, as soon as you jump to another application of the same application set, then the knowledge that you have obtained, having interacted with the previous application, will be, let's say, applied. And as a result, you think that the user interface is more intuitive and, in general, you find your way more easy. Well, as a showcase application for, in order to, let's say, present the capabilities, the convergence capabilities of Kirigami, I'm going to use a calendar. By the way, I'm the maintainer of the calendar, which is the calendar of Plasma Mobile, and it offers the basic functionalities that a calendar user should expect, like date navigation, events management, scheduling of alarms and stuff like that. And I think that is, that calendar is a perfect candidate for, as a showcase application, because when we started working on a calendar, we had only Plasma Mobile in mind, but we leveraged the capabilities, the convergence capabilities of Kirigami, and just, well, we did not spend much time in the convergence bit, so I think that we can use it for, well, in order to present the default convergence capabilities of Kirigami. Well, it is also important to mention that from a developer point of view, I just maintained a single version of code without, let's say, creating different branches for each device type. That's very convenient for me. And that's how you can, that's how Calendari is executed on mobile, and that's Calendari on a desktop workstation. And let's try to identify the convergence bits of Kirigami. Well, here we can see in action one of the pillars of Kirigami, which is the column-based navigation. The content in Kirigami, in general, is organized in a stack of pages, and it is displayed in a hierarchical way. Here we see that when we are on mobile, just a single page of the page stack is displayed, whereas on desktop, you can see many pages, that depends on the width of the screen of your desktop. And of course, you don't have to write any kind of extra code to achieve this. Well, apart from the two pages on desktop, we can see another, let's say, part in the screen. Well, that's the global drawer that is supposed to contain the global actions. And action is something that has a label and an icon probably, and in general, you click on it and you trigger something. Let's say you push a page on the page stack. The global drawer is supposed to contain the global actions. The global actions are the actions that are applicable in every single context. So it's a perfect candidate to put there your system settings or stuff like that. And in Calidory, we have opted to present the global drawer as a side panel, like, let's say, the discovered way. And that has been accomplished by just setting three properties of the global drawer component, the curigamic global drawer component. We say that the drawer should open when the screen is wide enough. We say that the handle should be visible on your small screen, and that applies also for the model property. While on mobile, instead of a side panel, the global drawer is displayed by default closed. And what we can see on mobile is a large, let's say, control. In general, on mobile, the controls are larger because we use our hands as, let's say, the input devices. And the precision of our fingers is lower than, let's say, a mouse. So the controls are larger, and in general, are located at the bottom of the screen. Because in many cases, you just, let's say, hold your smartphone just by one hand and you execute many workflows just by your thumb, just using your thumb. So the global drawer is by default closed. You click on the hamburger menu, you can open it, and they interact it like a traditional drawer. And that's not the default functionality of a global drawer. What Kirigami offers is, instead of displaying a large button at the bottom of the screen, you can see another kind of hamburger menu, which is displayed at the top left corner of the screen. And it offers, let's say, a traditional kind of desktop menu. You can also see that the control is smaller because of the high input precision of the mouse. There is a third also alternative for the global drawer. You can just set the isMenu property to true for the global drawer Kirigami component and display the menu only on desktop as, let's say, a set of hierarchically organized dialogues. Well, here we see another pillar of the mobile design partners of Kirigami, the primary action buttons. When we are on mobile, when we execute our application on mobile, the actions that you are going as a user to trigger more often are located at the bottom of the screen, and you can interact with them just by one hand. For example, in Calendari, you can go up and down in the set of months and use, let's say, the big blue button to navigate back to the current day. While on desktop, these three primary action buttons are displayed at the global toolbar, which is located at the top of the screen. We mentioned earlier the case of a global drawer that is supposed to contain the global actions. There is another kind of action, the contextual actions that are applicable only in specific contexts. For example, in Calendari, as soon as the user selects a specific date, then the user may check the schedule on that day to manage the tasks and events that are scheduled on that day. So the user can trigger the contextual drawer by just clicking on this control that is displayed at the right bottom corner of the screen. The sliding drawer is presented, and you can interact with it, close and open it again. In general, on mobile, since the space available is limited, you have to focus on the content. As a result, you have to hide, let's say, secondary actions, and the drawers, global and the contextual drawer, are two nice places to hide your secondary actions. On desktop, these contextual actions are displayed in the global toolbar at the top of the screen. Here, we can see another design pattern that is applicable only on mobile, which is the style of the global toolbar as a background. Well, I have forgotten to mention that in most cases, the label that you see at the bottom of the slide, no hexagord, just means that you are going to leverage the out-of-the-box capabilities of a Kirigami. You do not have to create any kind of extra coding in order to achieve the convergence bit. So the global toolbar style offers the breadcrumbs design pattern. Well, when you are on mobile, the user may, let's say, get lost because just a single page is displayed. So the breadcrumbs act as a navigational as well as an orientation aid. The user can check the exact place on the hierarchy of content that currently is active and also click on the title and navigate back and forth in the hierarchy. Let's move on to another pattern, which is the on-demand actions. Well, on-demand actions as a pattern is a set of actions that are available on a list view, for example. And you don't have to, let's say, always display them on the screen. And when you are on desktop, since the mouse can be used as the input device, you can hover on an item and as soon as you are on this item, you can display the actions and the user can trigger it. Well, since hovering because mouse is not available on mobile, you can offer this pattern by displaying a small, let's say, control in each item. You click on it and you apply the slide and reveal pattern. You can then see the actions and they will trigger them and then they click again to the control and close the drawer. Apart from the default Kirigami features about convergence that the calendar leverages, we have added some specific convergent bits, like the one you see in this slide, where, well, here we see the events scheduled on a specific day. When you execute calendars on mobile, here we present the events scheduled in column, while since on desktop the space available in the screen is more, then we can display the events that are scheduled on a specific hour in a row. And that is being accomplished by, let's say, hacking a little bit the grid layout, setting the columns and the rows of this component. According to the widescreen property of, well, here is the application window. In general, if you'd like to have a full picture of what Kirigami has to offer, I would suggest you check the Kirigami Gallery application. It's a showcase application for every single component that Kirigami offers. In order to check how Kirigami components are displayed on mobile and desktop, you have to set these two environmental variables and have, let's say, and check the UI and the UX of each device. Before closing, let me express some personal thoughts on converges. Well, I think that nowadays that free software platforms do exist, like the PinePhone and the LibreFine, for example. I think that convergence is very relevant. Nevertheless, I don't think that absolute convergence is going to happen since, well, there are applications that are, let's say, focused on content creation. Well, I don't think that KDevelop, for example, is never going to be a convergent application, but I don't know who knows. But what I do believe is that there are many applications in the world of free software that are perfect convergence candidates. And, well, these applications, because the, let's say, focus on content consumption and offer a limited set of content creation capabilities, I think that they're perfect candidates for, let's say, convergent framework like Kirigami. So, in summary, since we have reached the end of the talk, let's say sum up with a kind of quiz. Let's say that you are a developer, let's say that you are an application developer and you are wondering if Kirigami is the right framework for your application. Well, you may ask yourself a set of questions. For example, do you think that free software on mobile matters? Are you going to create an application for mobile and desktop? Are you interested in maintaining a single base of code instead of creating different branches for its device type? Would you like to base your UI and UX on a specific set of guidelines instead of creating your own guidelines? Or do you want to base your application on a framework that is constantly evolving like Kirigami, which is as part of the KD framework released its month? Well, if you have answered yes to any of these questions, probably Kirigami is the right framework to base your application on. Well, that's all for me. Unfortunately, we have no time for questions, but feel free to ping me either by email or on matrix. You can also find me in the matrix chat of Plasma Mobile, the matrix of Plasma Mobile. Thank you. Yeah, actually, we have a couple of minutes for questions if you'd like to. Oh, that's nice. You got there really quick. So, perfect. Thanks. On the shared notes, we have one question. On the first examples of Calendori, there's a lot of white space for the desktop app. Also, the buttons tend to be far away from the content. Are there approaches to make that experience on desktop better in that regard? Well, probably there is a room for, not probably, it's true that there is a room for improvement. My intent here is to present you the default capabilities of the default features that Kirigami offers for convergence. But if you feel free to create a mock-up and join the KD Visual Design Group and provide your feedback for any kind of improvement.