 Good morning Academy. Are you ready for the second day of talks? I didn't hear you Are you still sleeping? Okay, I'm excited to Present the first talk of today, which is by Jean-Papiste Virgin Eugen Eugen and Massimo will tell us about how Canadian life became the great and awesome video editor it is today Okay, thanks for your welcome I am Jean-Papiste Mardel. I've been the Canadian life maintainer for the past 18 years And I'm happy to be here with you at Academy Some of you might already know me as I have been on stage a few times already But it's the first time I'm not alone on stage. So I have Some team members with me. So it makes me really happy because Canadian life is really a community and a team project So it's great to not be alone on the stage So I'm just going to quickly introduce you With the team. So we have been mostly having Online meetings in the last years. We hope to be able to make a sprint soon In the team who couldn't make it today Julius Remy and Kami So I just want to say hi to them today So this is the whole team with Massimo again here today So I will now let the other members of the team introduce themselves Good morning, everyone. My name is Eugene Moore. I'm joining the canine life core team in 2018 I may mainly behind the scene the coder is Jean-Papiste Mardel I'm more about documentation and A buck buck tracking and the home home page and all what is behind the scene needed That we can keep canine life alive Hello everybody. I'm Massimo. I'm a video editor a filmmaker and a Consultant of the project is Tania that I'm on the project and I know to say I'm very happy to be here because I'm very fond of this project and of the guy that work with the with us to create what we are doing and As we are video application to me the best way to introduce ourself is by showing you a video Katie and live is a community project Which aims to deliver a free and open video editing software application To allow everybody to produce quality content in order to increase the democratization of the media The application is a graphic interface written in C++ with Qt and KDE libraries for the MLT framework written by Dandenity which relies on FF and peg to decode and encode almost all the video and audio formats that are out today and Which hosts effects libraries like freighter and move it for video and lab spot and socks for audio By following the official documents that we can find on the internet the project was launched by Jason Wood Who released version 0.2.3 in October 2003? Katie and live 0.2.4 followed but the community did not yet exist and the group was very small the project stopped for two years Before the end of 2005 John Baptiste Mardell who heard that the project would be reactivated offered his help and in 2006 he signed the post of the new release 0.3 of the program from this moment on he became the main reference point for the project Version 0.4 and 0.5 are soon distributed, but there is an issue a refactoring of the code is needed to go forward The program has to be moved from KDE 3 which is not compatible with MLT to KDE 4 The rewriting ends in 2008 followed by several new releases But in 2011 a further migration from KDE 4 to KDE 5 was needed to allow the program to grow in 2012 a crowdfunding campaign is launched to fund the operation and before the end of 2014 the goal is reached then finally in 2015 Katie and live becomes an official KDE application John Baptiste was invited to Academy to present 10 years of activity The new perspective is to make the project even bigger Before the end of the year the first Katie and live cafe is announced with the aim of getting more people involved During this virtual meeting it immediately became clear that in order to grow Katie and live needed to be cross-platform The windows version was announced in 2016 began with a sprint meeting followed by the new logo and the new site But as soon as the development of new features started It was evident that the code for the timeline had to be rewritten because it was too old and no longer fit Everybody knew that the refactoring could take several months or years, but the community did not lose enthusiasm In 2018 a new roadmap was written and in 2019 the refactored code was distributed Although some fine-tuning was still needed Then finally since 2020 and continuing up to now The long-awaited new features along with the plethora of new effect and dozens of important improvements Have been continuously added to create the most powerful free and open video editing application ever We have about 100,000 users using cane live Daily or weekly or frequently if you have saw a lot of users You'll get a lot of feedback as well So if the software is running well, you'll get no feedback if we have a release like 23 or 4 The the bell is ringing after 30 seconds. You have issues a lot of parts not usable So have a lot of user feedback very soon if the software is not really running well So how to communicate with this all these users? we have We tried to keep the communication channel as lean or as simple as possible So we have the communication channel for notification of the software is all our home our home page It's Twitter Sorry, it's Twitter and musto and musta done The communication itself with our user we have these channels. It's It's not it's matrix. It's our forum discuss It's the feedback when something happens or for wishes is buck buck tiller and we have quite a big community on a red edit and give us feet feedbacks and It's sometimes really a challenge to feed and check all these channels to have some other quad feedback to the sub to the subnires well So this one keeps about two up to three people really busy behind the scene just to communicate with the users Downloads you see here a curve over over time these are the downloads of Windows and Mac and app image We have a huge peak on the beginning of covid It looks like users like to have some video editing possibilities And as you can see we can keep the amount of downloads or users over over time as well What you what you do not see on this curve is there's a similar curve then for the unit for the unique visits on our our home home page and we just found out The people going on the home page looking for the download link clicking on that and download the application that leads to us that we Refurbished home homepage to make the user easier to find the download page What's really also what is missing on this curves is Flat flatback downloads and the PPA downloads and we do not really know As the distribution is via mirror mirror server. We do not know the download numbers from the mirror servers Who is using life just make a make an actual poll lost last week and found out About 40% is social media. It's YouTube. It's peer to tick tick tock. I Know schools using our software as well So I get asked years ago that we can prepare a download version Which is possible without additional software. So I download the packed Windows version and repack it in a self extraction find So that the schools do not need additional Software installed and do not need Administration rights to install the Application this 10 this gives about 10 10 percent of our our users and Interestingly, we have about 7% professional users. I think it's wedding editing most probably Some TV, we know some movies. We know as well and then them for the majority only for up to 45% this personal use doing their Vacation holidays at editing like this one. What are the the platforms? used with came life mostly half-half windows Linux and the growing Community on Mac OS we have about five thousand Mac OS down downloads On the Mac OS it works only on the Linux CPU at the at the at the moment With such a community you'll give a lot of feedback and You get interesting feedbacks as well from the user when you're listening to it. Remember the YouTube part we have So the community ask about soup soup titles The community asks about markers That you can mark the video to get the chapters in YouTube So we investigate and found out there is a framework for which can Generate text from speech and can generate automatically Subtitles and even you have the possibility then going in the text field Click and a text and the playhead jumps on the exactly same position Yeah subtitle generation and even we improve that one founding another thing lately is whisper. It's really crazy Yeah This founds the notation of a sentence the punctuation and It's really more accurate and false. I would say Translation and even you can make a translation to in English and it's about 1995% echo accurate in the meantime So people coming and asking How to donate to Caden Cain life? There was a lot of asks from the community. They do not like to Donate in a big pot Katie. They like to Spend their money directly to Caden Cain life so we go to the Katie headers, I don't know and Katie starts a pilot project with Cain Cain life That we can direct that users can Donate directly to Caden life We started this donation on the 20th of September 20 2022 and Reached our goal within a month Meaning we collect 15,000 euros within a month. It's absolutely crazy It just went up. I made I made a forecast by myself and my forecast Say yeah within a month. We should reach the goal in the meantime is about 27,000 yesterday because it runs in the background further on without Some additional needs, let's say This gets us the possibility to implement really bigger features like the nested timeline Which shop artists will talk about we can now work on stability and we will work on on performance as well to make the software even more perform Performance. Yeah documentation first we thought documentation secondary thing It's not so important. It's still just our Our time because it's a huge amount to spend just within documentation And we check the statistics and found out you have three half thousand views per week on the documentation itself And then we can further down analyze the statistics We found out a third. It's only checking out the effect part and another third checks out only out getting started The interesting thing is the people stay one up to one-half minutes on the page itself Which is for internet. Let's say really really long We calculated that roughly 10 up to 15 percent percent of our users users use our new Documentation manual and at the moment we are ongoing with updating the whole effects part that the user has a better overview of effects what they are doing how to implement this effects and With this new possibility here in Sphinx, it's really nice. You can Put in some keywords and have a really a list where these keywords are found in the documentation It's much more easier than with the old system Yeah, I copy copy right. This is a bit of weak part of Kaden life. Let's say Because the more users you have 100,000 maybe even more They start stealing Kaden life meaning Google advertisements links to other software we have such cases or Just take the name and behind is just the money collector something like this one. So we start Protecting Kaden life as good as possible The logo and the name is copyright on the KDE at the moment and We going on and have in the source code each file with a copyright an SPDX copyright and make really sure we Protect our work our 20-year-long work now with with with proper copy copyright, which is really tricky the goal is to keep Kaden life Free without cost for the future. Thank you What makes Kaden life so successful one thing that I That I think is very important for Kaden life success is that we have a vision for the project. This is where Masimo, he will Talk a bit later about it has a very important role because he we have a focused vision of what we want to achieve What we want users to be able to do for Kaden life I think it's an important part to have a vision for the project We also try to listen to our users. So the both the two things are Linked I think it's important to to have an idea of where we want to go But also to listen to user input and to do the best of the two things And also at one point we also realized that doing too much things was not was not good at one point We had a video capture. We had a DVD wizard. We had a stop motion Widget, so we had lots of lots of features, but everything was working Not so good. So we tried at some point a few years ago We really decided to refocus to have less less features, but to try to make them work better. I Think that's one one important thing also in the project evolution Now the things that we don't do so well it was really quite The last really is 23 or 4 was a good demonstration of what we don't do so well So we'll try to improve Automated testing we have some automated testing Since a few years, but we need to improve to increase the testing We also Since a few years really we talk about organizing test days before the release to because we have a large user community To organize test days to gather feedback before the release. It's something that we never really managed to do And another issue that we have is that KD live is a big project with many many dependencies So we depend on MLT as a video engine Which itself depends on ffmpeg open cv fryer and tons of other projects So if one thing changes in our dependency, it can affect the whole application So if for example a default Parameter for an effect changes then when we open KD live this can lead to a change This is something that we cannot detect in our testing So We have plans to improve one thing that we Want to do is continue improving our current test base another thing to prevent this issue with a Dependencies affecting our application is to have a rendering test shoot. That's something that we started to work on It means that we haven't automated the scripts that open a project Render the video file and compare it to a reference rendering And this way we can detect any if anything changes in in our dependencies that affects The rendering this will be detected by this test shoot So this is a project that we want to to definitely implement before the end of the year that will also Bring a better regression testing Because yeah, that's also one thing with Increase of in popularity we have lots of users and also the expectations are a bit higher. So we just can't Keep breaking everything on each release or really trying to go in a more professional way Better testing regression testing another thing that we want to explore is something that is will be talked Academy is a UI testing with selenium. This is something that we don't do at all But I think it's also an interesting approach because this is something that we absolutely don't test on There are some parts of the UI would really Need to be tested too. So now what changed over the years So I already talked about the popularity of the software Another thing is that before 10 years ago? We only had Expersions so packaging was very easy. We just prepared an archive of the file and we let Distributions do and do the work now. We provide packages for many platforms. We have windows mac app image flat pack ppe snaps Few more so it's a huge Huge job to do this this packaging. This is something that really changed over the years I think it has some of course some really nice Advantages it brings our code faster to the users So we can also react faster to the feedback But the problem is that it's it's a lot of work. So we have some We use the KD tools to build these packages with your craft and we have support from KD people and KD infrastructure, but still for a small team like we are it sees a huge work That is not that we can't do As as well as we would like. So this is still an issue But another thing that changed over the year is us as a team and We Decided also a few years ago that we wanted to to to go outside of our bubble Linux users bubbles to grow to have a yeah windows versions macOS versions I think it's important for software if we want to to to grow But the problem is that we are small team life also makes that for example, I'm I have a job now I have a kid or so I have a bit less time So we had to somehow find ways to to make sure that KD live can can keep growing So we launched fundraiser The idea behind the fundraiser was also that I had the opportunity to reduce my my time at my day job Currently I have one day per week that I can spend on KD live so it's not so much to maintain such a huge project and I had the opportunity to lower and the goal is to have two days per week for for KD live. So we launched this fundraiser fantastic fundraiser. It was very successful as Eugene said we collected money and Yes, as it was also mentioned yesterday, we have not yet spent any money. So why why why is this? As I said, I had the opportunity to lower my my day job, but it takes some time So I hope I could just switch like this, but it takes some more time So the idea is really that this money will be used when I have some extra time We also want to to to hire a few people maybe for some dedicated tasks, but that's something also that we're not Very sure how to manage the hiring. All these things take some time and since managing KD live It's also already a big huge thing. So it Things take more time than we planned or than we would like and now it's Demo time so because yeah, I think we talk a lot But I think it's also nice to also demonstrate a few of the other things that we can achieve with KD live So Massimo You can come is going to to demonstrate a few features that were recently implemented So like a nested timeline that caused a lot of regressions, but we are working on it to fix it and it has some nice advantages and also speech to text Thank you for Switching now I can use this one because it will come to release. Okay, so we load here Our video that we just watched before So we can scroll it and we can have and the first time I'm not ready load here in the space So for example, we can decide that we want to Add it in our space. For example this animation. So we start for the first frame. We play it maybe faster. So We go back and we select the in-out point who knows already how to work the program knows what I'm doing So I said what I want to start I want to end my clip I can drag it on the timeline or I can insert straight away with our automatic system So I can select on the point for example could be the conclusion for example of our video Starting from Here and go to the end. Oh Just do it a setting point here and For example, we stop here. So now we have a first timeline With our to clip now I create for example another timeline by in our sequence Folders is is create a new sequence So we can select with the title of the sequence the number of video tracks and number of your tracks Following our needs. We create a new timeline. We can see we have two tabs here We can switch from one to the other week. For example, we load the game our oh, sorry We are the game See we have one and two We load again our clip And no, for example, we can decide and now we need the beginning of the video and so we set the point on the beginning of our image in here, for example up to the The title and then we can for example select I don't know when we speak about academy. Okay, we are academy so I don't speak about the camera So we select the part of first first. I have to insert to the part are selected then I Go here. I Select all the situation about academy Done Now what we have we have to actually to Different time and but I'm not just a different time I also two different clips because if I can load the clip inside our monitor You can see we can scroll and actually trim again in an out point on our new clip And I would just conclude that is as I show you contain exactly the part to we decide to In what can do now we can for example add the sequence one inside the sequence to for example So we now have the ours more the other part or maybe we can even create another third Sequence Where we can of course we decide a title other where we can put For example our sequence all together have another another sequence I don't know why I didn't keep I didn't take the audio to all the sequence one We do it Okay And now we have both the clip of course we can trim it we can sleep for example Can click and Trim that one I can reverse they works exactly. Oh they work exactly like With this keyboard is okay can do I don't know what I did here. Oh Okay, I lost myself anyway, I can Trim and Refine the trimming of the clip and so on So what is need this system this system for example if you have several footage for a project for example that it's the same footage that you can share for different You make to a series of episodes based on the same footage you can load in the same project all the footage You need and then yeah the different version of Episode one episode two and three and then you can export Each timeline differently separately in another video. So and you cannot recycle Edit part from a video another video. For example, you created a timeline with a main title of Something you can reuse the main title in all the series without redoing all the time So by just using the same piece of timeline in the other time another Stuff I want to show you is this a title we speak about before so we create another time free space And we Take a piece of our video for example when we speak about I have no audio here now. Oh, okay, I Go blind so I don't know what we are selecting because we're speaking about some title We should listen a little bit about you but it's okay so Just to make a very Short test we have this clip here So in our point What I'm doing Okay, so we open the subtitle track that is here we Click on our magic wound and stand we can time line zone as you can see There is the boss model or the model we can select here now. We have boss Activated so the selected clip the timeline zone and We can proceed on This subtitle generation. So in this moment Okay We have just this table because is what I selected it will be very short if we have more More time or more the clip bigger clip We have all the synchronized part of this attack that can be moved that can be resized that can be copied and can be also edited in this part also the text could be changes in the Custom text in the font change the position change the color. It depends what you want to do This automatic start up is the same system can work by we use the clip here We have the text editor as though we can say it before and then by using the and for example We have an interview we can extract the text and edit the interview by just using the text and so we can export The edited the final interview based on the day of the section of the text We are lighted and by dumping the rest of the text What we Speak about the vision of the future of the vision of the project the vision of the project comes from the idea that From one side we listen the users because they use as the community that use it maybe have some ideas that Maybe it's very In the idea that we never had in very intelligent So we we collect all the input that come from the community that make the software stronger. I we know I'm sure that Even property software is a spine plus because they saw in some software some features that doesn't exist before that we introduce first so they are watching at us and From the other side we have also the experience that people like me that are working in the field So they are in contact all the time with the software of big corporation software So what editor needs on the field in in in in in in the company that use the software So we try to make like take best practice with the front around to introduce in our software to make it The best possible the best so we this is the idea to have Implement the best practice that we do editing needs is our vision So and for the future we have to finish between the end of the year what we Donate the donators Aim to have the S2 also we are in the in the road to to reach the before the end of the year with a goal with they the the declare we will Will create will do and for the next year. We think that we will go forward with Insert some AI tools and most of the collaborating space online to I finished the cover space to To make a collaborative job between editors around the world. So make it so if you want to to proceed with question Where do you see hidden live and the special video editing in Linux in the future when Most if all major companies that make cameras have proprietary formats that are Not just not supported on Linux. There is just It doesn't work It won't work and there is absolutely no documentation to start building the infrastructure So you can use format such as like Red cinemas digital cameras that take raw footage Sony has in Another format up least famous for the progress There is no support for that and those companies are doing nothing to open source the standard So we can have support. So like where do you see that professionally coming? How can we fix that? There is a problem about that because This company tried to close more possible, but they have also arrangement with other companies that provide software So if you buy sometimes some tools You have to finish to work on some specific platform. This is actually It's not something that professional like to match some some like because I've got more old mentality like you know They don't think about opening most close. So you buy something that works like I buy a fridge Every every is a so yes to work this way But a lot of people doesn't Mostly younger don't think this way anymore So they would like to be open to use what they prefer because it means Well, that means that I change the camera to migrate to another software. No, I want to use my software and It's always Actually a foremost calm because actually at the end of the day The codec are always same. Most are they contain Specificational container that close property stuff But what is inside the content because video file are made by containers so the caps that contain the stream and the stream that is Encoded by the pen and peg or whatever it is or a frame, etc So mostly they use the same way to compress the the stream so that the codec existing codec But maybe they trade to have a different caps with a third container to to close but I See that at the end of the day, for example ffmpeg is able at the end of the day to work around the problem There is some patent Problem of patents of course of copyright around this stuff, but overall so far I was able to manage to use almost every Every stream I found In the words of the option you have to convert but this happened also We have it before in all the software that sometimes you have to make conversion to to match the specific software So nothing is changed for real. So it's a challenge, of course But and we have to be open to new format to change all the time also because new compression new way to broadcast Etc. I asked the man to be so far We are doing pretty well because I'm able to use it on the field with different Devices so is working so far Maybe one thing also that we we should improve and do more is that we have already a small presence in schools But we really should do more Also, we were we had a standard all-american film festival I think this at the beginning of this year So making also students aware of these issues. I think it's something that that will help in this field Thanks, I would also like to point out to the person who asked before there's also the Academy software foundation which depends on the Linux foundation that tries to open source is tries to get industry Companies to open source as much as possible and they are quite successful they've got many formats that are open for video effects and video effects tool chains and For timelines etc. And I think that you are actually implementing the some of these technologies already. Is that correct? We for example incorporate open time is true that There is an attention of open software mostly also in Hollywood for example So they the fact that the company want to customize their needs so they look for and for Pixar or Disney So they BBC so they deliver What they do so because they develop in the open source way they deliver So they create standards this way that Have a return from them because if everybody adopt their standards They they don't control the standard by any way they create an integration that so I hope Personally that direction will be that at the time and also in company like Sony That have all the mentality I quote Sony because of very old mentality in my opinion that try to close or possible They will not stand the for that the impact of this mentality that is becoming the world's more spread around the industry in my opinion There's a question from online Will you use any collected funds to support some of the upstream projects and infrastructure that you depend on? Might you have to be able to get support from video and computer equipment manufacturers? so yes, that's something that we We planned we we had contacts with MLT maintainers or the video framework that we use To propose them to use some of the funds unfortunately, they were not able they didn't have the time or wish Mostly the time of the need for this so but yes, that's something we because yeah some of the core issues in I related to our dependencies. So one of the tasks in the first fundraising was A task that is has to be implemented in MLT is a video framework. So yes, that's something that we will do I think you said that you're working. I think 18 years on Canadian life now. Is it still fun? Can you keep going? Yeah, yes, it's still fun. So that gives me going because yeah, it's Yeah, also the world of video editing really really changed in during this 18 years So there is always new things to try to test. So it's yeah, I really enjoy it Yeah, maybe I can add something most important for him is that he has a team behind who helps him I think years ago. We had almost a burn burn out doing everything by themselves And now he has a team behind who helps him keep him away the Daily tasks like home home page up date stuff like this one so he can really focus on coding We feed him what's needed or what's a buck could be as good as possible that he just can really Hack on the code and always new challenges the face a bunch of inputs This is really important that you have a group behind and not a solo guy Because this doesn't work over over such a long time and just we have thinking about team Of course, we are open. So everybody wants to help us. It's welcome. We never expect with packaging and coding Supporting testing using whatever so so this is an interesting point Without Advertising we have about two or three people's coming from outside and ask Can can I help on this and that and we open them and say yes, you can help because also a good example is the dog The documentation you have a guy now who is heavily reading dog Writing document documentation. We have other guys like Davey on the background on the window side Who checks the forum part? So it's really interesting that you get on on certain stage some help from outside people ask Ask you how can I help and this is something I think keeping Sean shop up this the life No more question, I guess Okay, thank you very much for the great talk Okay, this is next So yeah, good Yeah, I know you're good. I I I wanted to give a speak I talk about something that I've That's been important to me for years So I wanted to present some motivation about why and how you could use speech in your applications If I step on anyone's toes, I'm sorry, but I'm just presenting my my viewpoints. So here we go I'm I'm I'm Jeremy. I've been doing Katie things since 2007. In fact the last time I gave a talk was in 2009 at the Katie 4.0 release event in Google in California. So yeah, don't go look up the video on YouTube It's horrible. I can't stand to watch it, but it's there What I wanted to talk about today was a couple things first Why you should use speech in your application and I mean every application I think we could use it in lots of places and then how and then a couple of caveats For using speech adding speech to your application So first off why should you add speech to your application first? I want to do a little Experiment everyone close your eyes for about 10 seconds. Okay, that's 10 seconds. That's what your application sounds like Without speech So why not speech is what all the collapse do every Every a lot of applications that we use on our phones and in life talk to us Your Alexa talks to you your Google home talks to you your computer talks to you Audio is an often forgotten interface. We have a GUI. That's an interface, right? But we also have our ears that take in information Let me step back a little bit and say one of the reasons that I got in interested in Text-to-speech was when I first started doing Katie things and I was working full-time at a day job And I also wanted to keep track of what was being said on IRC. Yeah, this is back in the IRC days and So I talked to Ike I think who was maintaining conversation and I said hey, how can I make this so I can listen to it? Let's figure this out and he's like, oh, yeah, just use the notification system So I set up notifications from conversation where my headphones while I'm working and listened to Everyone talking in the three channels. I was interested in or whatever and Listen to what they were saying while I was working at the same time. That probably wasn't the best use of my time But it was very Interesting to me and it worked well if someone said something that was interesting to me I could go hop on IRC and respond to them real quick and and Otherwise I could just you know ignore or whatever Anyway, that's that's That's one The other reason to add speech is that you can notify people of things without requiring them to read What you want to notify them about that not just for like key notifications like hey, you've got mail, but like anything you could and and then the other thing is Speech is something that can be used for people who maybe can't read like the obvious example There is educational applications, right small children. They can't read the screen but they can listen to the screen they can listen to your computer speak or Also people who maybe don't know the language that you're presenting in right? So someone who knows German only knows German does not read English you could But they can understand it maybe I don't any just just ideas like that The the let me step back the obvious use case obviously is educational applications, but also Anything where you're getting information I talked with Carl, where are you Carl? Carl and Tobias the other day about hey, why don't we have Can't think of the name Neo chat. Why doesn't Neo chat have Texas speech? Why doesn't token on have Texas speech? These are good use cases You could be listening to what's happening on your feet or listening to what's happening on the chat Other possible uses are anything you can think of one nice thing about Texas speech is that? You don't have to have You don't have to have the audio Figured out in advance what I mean is like there was a big effort spent on Albert what's the the game where you put pieces on a? Yeah, Kate Tuberlin Kate Tuberlin spent a lot of time getting translations of all these audio Translations of all these different parts that you put on the game like pepperoni and whatever on the pizza thing or whatever And that was a huge effort if you use text to speech You don't have to do that huge effort to create all the audio file Audio files audio data. You can just get text from wherever and speak it And the other advantage is you can speak stuff that users enter so from chat or from Tokadon Your feed or whatever Next I want to talk about how so how do you make your application speak? Use the cute speech library. It's a library. It works five minutes. Okay You make a cute text to speech object and then you use it to say things you can say Translations and then using the translation system. It says the translated text, which is really handy And have fun with it do what you want Next I want to quickly talk about some caveats One thing I was going to mention Before I attended Albert's talk yesterday was hey if you're gonna use text to speech You should probably make it an optional dependency because it was missing from qt from qt 6 to 6.0 to 6.3 and then was re-added in 6.4. So maybe some distributions don't ship it yet But you convinced me otherwise I think you should add it as a hard dependency and then have a compile time flag to disable it if you want Other Other caveats. So does it work on the platform? You're interested in it does work on flat packs. It only has the Flight plug-in. It does not have the speech dispatcher plug-in Does it work on snaps? Yes, it does Scarlett told me that yesterday. Does it work on Windows? Yes, it does Does it work on Mac? Yes, it does. Does it work on Android? Yes The next caveat is how can you customize it and also how can you allow your users to customize it for that? I'm about running out of time So I will refer you to the code of ocular because ocular does a good job of saying hey let the user choose which voice which Engine which everything? Except for like pitch and things but you can add that as well It's all very customizable. You can allow your user to change whatever they want Anything to avoid I can't remember why I put that in there Maybe things to avoid would be if if you are if your GUI is Already accessible You need to watch out to not do speech things when someone is using a screen reader Which I'm not sure how you would do that exactly, but that's something to watch out for the other thing is if you You also need to make it you also should make it so that users can stop it or cancel it if You know they accidentally say hey read my email and it starts reading the whole email And that's going to take an hour to read this email from a long mailing list thread You need a way to be able to stop it Or you need to allow your users to stop it So and then I wanted to go over a brief history When I started doing text-to-speech stuff. We had something called case speech Yeah, and I At the time I Looked at some old Academy videos Where Gary Cranblood the old maintainer of case speech said hey, this is what we want to do next year and then he left And what he wanted to do was make it so use speech dispatcher instead of having ten plugins for all the different backends So I took that Montra, I guess from his Academy speech and said okay. Yeah, let's do that and also in At the random conference at that point I said hey look guys. Let's let's rename it Let's give it a name a new name like ocular did did so that it can have some you know More usage or whatnot, so we created Jovi from case speech and then Shortly after cute 5 came out Frederick Gladhorn came up with this cute speech library And I was like, oh, that's awesome. Wait, we don't need Jovi anymore. So we killed Jovi So that's that's the brief history of speech on Linux at least So, that's that's my presentation any questions quickly or nothing On the subject of catch you willing do you know who actually did the German voice over and can you check if the person's okay? Because it's like the most depressing audio ever It's like Fairfax cut off a case. So please make sure that this person's all right. I I Don't know offhand, but guessing I think Anne Marie Reached out to people and said hey will you record stuff for us and someone volunteered? That's my guess Albert may know Good Thank you. Morning everyone. How are you? Good. All right. So how about I was thinking, you know before I say anything about the working group. I wanted to just Give a hand to you all. Okay, so just Thank you Thank you for being part of the community the work that you're doing is amazing and it just think about it that many of you are just doing this and I volunteer basis and That's just so amazing You know, there's a lot a lot that you do That is valuable not just to yourself but to a lot of people and In the community working group We try to make sure that that experience of working with others is kept in great shape And we want you to collaborate. We want you to work with each other to understand each other across many languages, many boundaries And and to have, you know, the best outcome So with that in mind, I just wanted to explain to you a couple of things About this group and Just so you know, I'm gonna explain that what we are The why we're here and how Okay And no, we're not the community police So just so you know I think sometimes we kind of get that stick from people but that's not what we do It's part of it sometimes But not the main thing So just so you know We are A community of community helpers And we provide supporting assistance to all of our members And we try to maintain healthy communications with each other We also address conflicts and issues So as you may know Human interaction is very complex And then on top of that we have layers and layers of you know, other experiences that each of you have So sometimes You know communication channels are not always as healthy as they can be And we try to help maintain those We participate a lot in in community chats We have a mailing list where people can submit concerns And then we have A get lab page where we can we put all of our Complaints at and we try to work them. Of course that spacing get lab is private So all of your information or whatever you are trying to Tell us about is kept secure So we were composed and we were put together in 2008 and of course I was I'm not a founding member of this group. I I came in much later but Now We have three members. So we have neophytos over there. We have david In the back and then myself and We are very committed to keeping our community safe and in a good space for you to do your best work Let me see So I already said this but one of the reasons we're here is because we try to make sure that you know There is no misunderstanding between us. Sometimes, you know, we may have differences of opinion Uh, we talk, you know, again our our common language and on the online is English, but And there's a lot of translation that needs to happen. There's a lot of cultural aspects to our communication that need to be kept safe And uh, not only that there is sometimes intentional You know, there's purpose in some people to actually disrupt our communication and our our our culture So some of those things is what we have to watch out for And not only that but what is sometimes, you know If you think about it, what is the cost of having a bad experience? At the end of the day, we may lose you as a contributor. You may be You know, unhappy about your experience. You may try to know Right So careful, but No, I'm just kidding. They're great But I'm just thinking in general that a bad experience always leaves a bad taste in everyone's mouth And not just for one person but for many others that, you know, may be indirectly affected by a problem and so Our purpose is to try to maintain and work and persuade and it kind of bring people back to to uh, to a healthy contribution level Um, and not only that, I mean just just do whatever you want here and we're happy to help you So How do we do this? This is the part that is a little bit complex and sometimes there's just not a whole lot of What I can say that would satisfy everybody but Over time we have tried to set up some my uh, some procedures in place so that you can actually have A safety net of you know, you can have there's a connection of trust with us So the main thing is we have our mailing list So if there's something that you'd like to tell us about that you're concerned about You're welcome to send us an email there. I'll show you a website at the end of this presentation where you can go And and just tell us what's happening Then after that when you tell us about an issue We try to investigate. We try to give people the benefit of the doubt And we try not to take every complaint of face value. We Believe what you're saying And we also want to you know, put together the rest of the puzzle So we go back to People affected and we try to find out what their take is on a certain situation And tell us more let us let us understand sometimes The issues can be big sometimes Or small in a conversation. It's all we need to just make sure that everybody's back to You know to peace, right? But sometimes there are issues that are just simply too big and we try to Talk about those with the board We try to reason within ourselves and with each other to you know, what is the best to do? and uh The main the main outcome that we have as a group is to Basically talk to the people affected and make sure that they soften Their position and that they can understand each other's position as well and they kind of move forward If if sometimes that doesn't happen It can go all the way unfortunately to removal And that is a situation we want no one to be in Is it's painful for everyone? So As you do your best work, you know, if there's something that is is of concern to you Let us know so that we can catch issues early so that we can correct early so that we can help each other early Uh, the more we wait Is it's just harder for everyone So Now this is not snitching Right what you're actually doing is telling us about something that That is that is of concern to you And that needs to be said Uh, so I encourage you to come over and let us know if there's something that we need to know um And so finally I just wanted to mention we're only three people and our Our group is you know, a kid is huge We don't have all the cycles to be you know in every channel in every conversation And not only that we three people Can may not know everything there is to be done about a situation So if there is any of you who care enough or deeply about keeping the healthier relationships we have At kde you're welcome to join. We don't have stringent Requirements for you to join but definitely we want you to be aware that privacy is a must So we want to keep our our members privacy private And we want to act rationally. So we want to work with each other first before we do anything um But other than that I wanted to thank you again You guys are fantastic. You're doing an amazing work and we want to help you keep that that all healthy. So thank you so much I think that's it right. No Yeah, thank you Andy Thank you and the other members of the community working group for the great work. Thank you Um, now there will be a coffee break half an hour And then you have to decide whether you want to come back to this room or go to room two because we will split in two speech tracks Talk tracks after this coffee break and now enjoy the coffee and the cookies and see you metaphor, uh, literally Um Okay, putting putting kitty and devices fixing bugs Being very persistent. Yeah being translated in all the languages. Yeah. Yeah, any other ideas Reaching outside our bubble. Yeah increasing accessibility aggressively targeting enterprise use cases good These are all these are all great ideas. I'm going to say that there's a another abstraction to all that we need organization Right to achieve all of what we just talked about. We need good organization. This is taking the metaphor of Domination and war which I don't necessarily like to use but I let's let's go with it This is a quote from Sun Tzu from the art of war from you know over 2,000 years ago Where it's written management of many is the same as management of few Right, it is a matter of organization to do all of what we just talked about. We need organization And that's going to be my talk today What is uh, what do we mean by more organization? What does it require? So we need unifying goals. That's one of the ideas behind having goals voted on every couple of years to unify the community To organize them towards certain Objectives need to find processes, right? That's one of the one of the goals. There's a goal of processes In kde right now and clear communication So, yeah, everyone knows that right now Nate is on the path towards world domination with good organization by defining Automated and systematizing internal processes My talk today is going to be on the step just before maybe you get to that point Which is how do you bring people from the external into the internal so that then they're part of these internal processes Right and the focus as you might know from the title is about the infrastructure Um, kde is maybe an unusual community. We're relatively non hierarchical Um, there are sort of mini hierarchies, but it's a very distributed group of people And that makes in my opinion infrastructure particularly important Right, those are the things that then enable communication and enable people to to organize Um, and i'm going to use this Um, uh, visualization This idea of of the process for on ramping for making people go from that external into the internal This is from the art of community Um, and there are four stages that are that are identified here identifying the on ramp That participants or users know where Or that they can contribute developing knowledge that they learn the the the skill set to contribute Figuring out where they can contribute determining contributions and growing kudos. So giving them praise Now unsurprisingly, Nate has already already addressed some of these things This is again from the 2018 talk about improving the new user contribution process where, uh, Nate identifies the problem of not enough resources and Presents the ideas of uh, reducing difficulty of setting up a development environment improving contributor documentation Increasing promotion and outreach efforts and avoid insulting our users be positive Now if we go back to that plot these kind of all map on to that same on ramp Um promo and outreach would be identifying the on ramp reducing development difficulty and documentation developing knowledge Documentation to some extent determining contributions and being positive, you know growing kudos So it's nice to see when things align like this. I'm going to take a slightly different approach here I'm going to think about this in terms of the infrastructure So identifying the on ramp. I'm going to be thinking about it in terms of websites and blogs that is where do users get information that might then Influence their decision to then become a contributor developing knowledge. I'm going to think about wikis What are the the documentation? Platforms that we have so users can develop the skill set Determining contributions communication channels mailing lists matrix rooms, etc And I'm not so much going to focus on the growing kudos I think we're all doing a pretty good job. So keep up with it And if you're if you feel like we're not talk to the community working group And the main Topic is going to be on the communication aspect of of management and organization How do we communicate with uh contributors? There are three types of communication identified again from the book the art of community There's incoming communication That is how katie receives information from the world bug reports surveys, etc outgoing How katie shares information with the world so promo social media and these kinds of things And then you have internal communication how katie contributors exchange information among contributors So question to you that's going to be the focus today Oh, sorry. I got ahead of myself Um, so so the kinds of the who wear what uh why and how of exchanging information This would include things like where um to talk with other contributors What needs to be done who is working on it how to get started where to share share one's work, etc And so then the question to you where do katie contributors exchange information Invent it's a central place Matrix Academy, yeah mailing lists sprints bugzilla wikis Discuss exactly. So I think you guys have hit um all the main ones that I have here Um, so websites and blogs are also a place planet kde is the place where contributors get information about what's happening kde um wikis Community tech based user base forum now. Let's discuss Git lab mailing lists chat and conferences and sprints great so This is a subjective question. So katie's internal communication channels So are they like this? This is an on ramp in malaysia Where you have several on ramps going in one direction Or are they like this where you have several on ramps? Going in many different directions. What do you think there is no right answer here? Is it the first one? Good, and is it the second one who thinks It's on right. Thanks. So even though many people come from from many different If they're going to end up contributing they're going to end up on invent anyway So that's where they're all going to end up. So It may take a long while or some people may leave before going on that But then they wouldn't contribute anyway, but they're going to end up on invent which is where everybody ends up So if you look at the endpoint, then maybe there's something to say that it does look like this But if you look at that whole on ramping process Maybe it's not quite like this and someone else wants to add something. I don't know if can we pass around the mic or yeah, I think it's more like the second picture because there's various points of entries, but there's also various quote-unquote destinations because we're not just all developers and we've worked really hard over the past to get Away from this notion. Oh, you have to write code to contribute to Katie But there's lots of people that do documentation that that do wiki or promo on social media So I think not everyone ends up on invent. So I think the second picture is much more accurate Yeah, so so depending on the perspective you have of of how we should be organized if you if you see all these different things as being different sort of Paths then maybe this is a more accurate description and maybe it's the preferred one It may also be it's not the preferred one and it's just how it is because it made sense at some time And it sort of developed this way and remained That way There is no right answer to this question I'm going to have a perspective that I through the show don't tell approach Maybe you will come to the conclusion similar to me that it looks more like this This more chaotic one and I think we could make it look a little bit more like this at least in terms of the on ramping process So I'm going to try to focus on what I think there's some Pretty low-hanging fruit That might be inaccurate, but I think it's pretty low-hanging and I it's totally fine if you disagree with me That's great. That means we're having a conversation about it Okay, so yeah, my goal here is to get katie contributors on the same path all having the same direction No matter which team they're part of And if there's sort of two keywords Which this is a little bit forced I was trying to find what are the like the overarching themes and how can I reduce it to something that people can really take away And I came up with consistency and discoverability across and within internal communication channels And I think this will lower barriers in on ramping and put katie contributors on a clear path forward So we get to something like this If you have opinions and want to share them Please please come to the two buffs that are related to this internal communications and on ramping on tuesday at 12 And wiki improvements at three Okay, so this one is an easy one. I thought I'd start easy and then it doesn't really get that hard, but but we'll start easy So three parts wiki's international groups and blogs are going to be the topic here and then in the box we can talk about other things So wiki's How many wiki's does katie have? Yeah, so this one's easy. You guys already know three, right? So we have three wiki's user base tech base and community They all have different objectives different demographics that are targeted user bases user documentation tech base is more the Developers and community is more community oriented So one thing I found out recently is that user base is in some sense a workaround at this point because the official documentation process is Quite difficult to contribute to I think it's worth pointing that out Tech base actually most info now is at develop dot katie dot org slash docs from what I've found out And the community one Is is still active So so then again another sort of easy one perhaps given information It has said how many wiki's are planned at least internally to be retired So I heard a couple of ones and one two. That's a confusing sentence, but The correct answer is two So at least internally user base and tech base are planned to be retired As I mentioned user base is kind of a workaround and that's why it's uh, sort of uh, yeah Lingering on tech base is kind of a zombie wiki at this point Um But how many wikis are listed on katie dot org? three Right, so if you go to the bottom panel you get all three Um, this is a sub optimal experience if you're a new user coming into katie And landing on zombie wikis wikis that are just kind of stumbling on. Um, but not really uh, uh, active Um Which of these recent opinions paraphrased um from season to katie contributors about the wikis are real Today I discovered really useful documentation on user base. I had never encountered before User base is an impressive repo. I wonder why it's not seen attention in recent years I find katie wiki websites rather difficult and confusing to use so I just avoid them mostly all of them All of these are recent comments, uh from katie contributors about the wikis Okay, so to sum up um, some of the problems that I think uh, we're facing right now So user base and tech base are in the kind of wiki purgatory Um, you know, they're not quite where they should be Um, both are internally planned to be retired but yet featured on the main website And then the question how many users are informed about this how many contributors Um, I just learned this recently. Um, I wonder how many of you how many of you either just learned it right now Yeah, so that's not a good thing, right? Um, how many of you already knew this but learned it recently Yeah So so yeah, so this is something I think when we think about how when we go back to that image of the Of the on ramping where think about new contributors going from that external category into the internal one What that user experience is like When they encounter this kind of thing, right? They're coming across all this these wikis these Great sources of information but finding out they're not actually active and plan to be retired or maybe Yeah, they're they're they're not up to date There's a lack of attention and outdated information in them And I would say that there's a lack of discoverability in general going to that comment about difficult and confusing to use The pages are all structured at least in community, which is the one I'm most familiar with They're all structured in slightly different ways It's not necessarily easy to orient yourself To know where you are in the wiki and what other related pages might be It's my opinion. Um, perhaps you have a different opinion come to the boff on tuesday Or raise Some points here in the conversation And I would say this leads to an overall sub optimal user experience and confusion and that's that leads to avoidance Right, which means we have these great resources you know, we have Impressive repos and a really useful documentation that maybe people aren't getting And that's going to influence then the on ramping where you get the developing the skill skill sets aspect of contributing to kde Okay How am I doing time wise? So i'm definitely going to be a little early on the on the but that's good then we can talk about it So some of my proposals at least In the short term maybe delink or unlink user base and tech base from the main site if they're if they're internally planned to be Discontinued maybe we should stop driving traffic there from people who don't know that Inform users of of coming retirement Um, when we're at that stage, maybe we're not there yet. Maybe I'm I'm Jumping the shark of it but but but when we're when we are there I think we should do this because I think this is leading to some confusion I think we should add some discoverability features to our wikis Some of it's really easy like if you go to a wikipedia page at the end of the the page you get a very Clear see also and external links, right? We can add this to our wiki pages So it makes it easy for people to follow up on related topics or external information about it Maybe it's worth adding things like High-level wiki categories some of them people can kind of clip through to navigate through the wiki so that the information is discoverable Um, so if you don't know where you want to go you might discover the information that you do want or need Um, another idea is use consistent information structure Um, again wikipedia as an example they have a pretty clear structure of a short summary and then a table of contents and then Um a pretty consistent structure Perhaps we can think about a template to apply to our wiki so that users can quickly and easily find information When they arrive at a page. They don't have to read a wall of text Before they get to what they need from it Um, and then and then yeah, this is easier said than done But maybe we need to make official documentation easier to contribute to um so that we can move away from this sort of yeah lingering wiki that's there as a workaround so we can actually get to what we want which is a documentation process that's easy for contributors to contribute to And again wiki both if you're interested in the topic and want to talk about it Okay, um websites um and focusing here on international sites and local groups So how many languages is the kde.org web page uh translated into? 17 39 or 52 Who thinks it's 17? See a couple of hands. Who thinks it's 39 I see a few more hands. Who thinks it's 52 Uh again a couple of hands So the correct answer is 39 Right, that's impressive. That's that's amazing work done by our translation teams That I don't know. This is a very simple statistic just looking at the number of languages in the drop-down So I could have looked a little bit more deeply, but I didn't at this point Um, but that's a good question Okay, so that's translations right and that's slightly different than local community websites Um, those are websites targeting, uh, local communities related to kde. How many local community websites are listed at kde.org? um eight 17 or 39 Who thinks it's eight? Who thinks it's 17? Who thinks it's 39? Okay, so most hands are at eight Which is the correct answer So at the kde.org website there is on the bottom panel A link to international websites. It looks like this And here you have eight different Yeah, local communities brazil, china, italy, japan, netherlands, russia, spain, and turkey Okay So given that we have these eight local communities websites linked on the website Into the kde.org website How many official ways are there to connect for local international communities at kde? And what I mean by that is how do they communicate with each other? How do they get information about their communities? How many different ways are there for those local communities to be engaged with kde? So we saw websites So that's clearly one How many other ones are there so i'm thinking here like mailing this etc two Who thinks there are two other ways are two ways in total so four four Or five So the correct answer is five And these are websites as just pointed out discourse Which is a new one. So if you said four, maybe you didn't have that in your list of ways for local communities to communicate mailing lists. There are many local community mailing lists Chat rooms there are many on the matrix and probably in telegram. I know is a big one And The kde networks. I included this in there. This is a part of an outreach program in which they're sort of connecting different local communities So yeah websites. We just saw here's the forum Discuss yeah, yeah, Germany Finland Italy France Spain India Brazil And I don't speak the languages, but i'm guessing chinese and china and japan Here are the official mailing lists Listed at the Website I put in here some information about when the last post was And I what I write there at last post I don't mean the mailing the post that I sent around Identifying inactive or low frequency mailing lists. So that's not included in the last post So here we have 16 different mailing lists for different groups Many which have not seen much, you know, low frequency activity, which is fine As was discussed in the discussion about this Sometimes some communities don't need high frequency to be active That totally makes sense and mailing lists are actually a good place to have that kind of low frequency activity They're not very intrusive They don't require much from the user. You just receive information when there is information But anyway, just to point out that there is sort of a low activity in some of them Here's the list of matrix and chat rooms we have Russia, brazil, japan, Netherlands, belgium, iran, portugal, china, italia, germany, greece, argentina, spain And then a spanish-speaking users latin america, france and french-speaking users Chat rooms Yeah Some of those including those on your previous slides some looks slightly different For example, some of them could be Local Organizational tools and others could be like you use the support in language Which At least from the names It is not fully clear if it is a local organization tool Or it is a user support in It's a very good point. I just want to point out. I tried to leave out here the internationalization websites and chat rooms This is all sort of Local or language focus groups and they might have slightly different purposes. Some might be local communities. Some might be language oriented So it's definitely a good point and you see that here with spain and spanish-speaking users, etc So there might be some different use cases I would still say they're all sort of related to these local communities and international groups related to kde And if that's not clear and I don't have off the top of my head information about each one of these websites But I do have some examples. It's not necessarily communicated clearly at the at the information at the mailing list Or the matrix rooms and I'm going to give some examples of that in just a second and then here's the kde networks Which include five different Countries Okay, so one of the things I want to point out here is I just showed all these different international groups and language oriented groups And I just want to one of the questions is are these various ways to connect? Are they aligned? Right do if you land on one, do you know about the others? Um, and I'm just going to give some examples of what I found and this comes across as Critical, but I mean it with love because I think we can improve this right So the kde spania website if you look under the communication it links to the old forum Has its own mailing lists which are not the mailing lists that you find at kde.org Under the mailing lists listed there and there's no mention of the above mailing list chat rooms or discuss that kde.org community If you go to the spanish Local community at discuss. There's no mention of the either the kde spania website or other communication channels So if you're at one, you don't necessarily know the others exist right kde networks brazil page it links to the matrix and telegram Chat rooms and no other communication channels our websites are mentioned The matrix room links to the brazil international site And the brazil website has again the telegram groups and mailing lists And there's no mention of the discuss group or kde networks group So again, you have these this misalignment between information about how to communicate If you go to the brazil forum at the forum, there's no information provided about any of these other groups Okay, and then the greek one. There's no description provided in the mailing list There's no mention of the matrix room and vice versa Right, so if you land on one, you might not know about the other you have a fracturing of the community people communicating Not knowing that there's communication happening elsewhere So information is scattered. You have unmaintained websites outdated information and we look at that in just a second some examples of that Perhaps this is having these international websites separate from the translation of the kde.org website Maybe this is an inefficient use of possible translation teams Right, maybe some of these teams actually that are used in translating the main website and local communities Could be somewhere else Websites are hard to maintain right Some platforms have infrequent or no activity And I think this inconsistency and lack of discoverability make for confusion and a sub optimal experience Um, and I think one thing we could think about and this is something to talk about at the boss We can define consistent processes to funnel contributors into kde I use the example here of these international groups How do we want people to go from that landing page into kde and can we align it across the different channels? Right, so we end up with those different on ramps all going in the same direction Let's make information consistent right. Let's communicate which platforms are used for which purposes at all platforms And perhaps indicate the frequency of activity to manage expectations If you know that a mailing list is low frequency and you sign up for it You're not going to then be disappointed if you don't get much information And it might help to know that perhaps the the forum is more active and that's where you actually want to engage Um for local groups, maybe use low barrier platforms, you know mailing lists are uh websites are hard to maintain Perhaps things like a mailing list or a forum is more appropriate instead of having a dedicated website That's an opinion people might disagree Um, and again, maybe internationalization can be taken care of at kde.org with the translation teams If you have opinions about this join the internal communications box Um, and I just wanted to point out that I came across the kde.in website doesn't seem to work So maybe this is can be retired if it's not being maintained Um, and the peru group seems to be offline as well. So maybe just two things I came across in my Um, yeah, I'm searching through the different websites and then finally and I hope this takes just a couple of minutes um the blogs How many blogs official kde blogs are linked to at kde.org One two Or three Okay, most hands were at two Which is the correct answer at least as far as I can tell we have two. Um dot and planet Um dot as referred to as kde news. Um, which is not actually a link Um Just to point out so those are the ones linked to at the main website Planet is actually an aggregator as you all know it has 762 when I checked Feed url url links. Um, and there are many sub groups that are targeted in different blogs Some of which are part of planet Or I think all of them are part of planet. Um, there's a develop developer specific legacy aggregate at blogs dot kde.org Which is no longer used as far as I understand. There are project specific blogs You have blog dot neon dot kde.org as well as eco dot kde.org slash blog as well as g compri Has their own blog and then you have language specific blogs kde blog.com. I believe is spanish if I'm remembering correctly So some problems that I'm identifying when thinking about this I think there's not a problem having different blogs for different purposes One thing I think is confusing is having one reference but two names So you have something called dot and you have as well something linked to called kde.news Um, which is inconsistent and perhaps confusing. I know it was confusing for me. Um And apparently I'm not the only one because we sent around a survey recently And this is one of the comments was let's rename dot to kde.news or something similar Which I have to say I agree with that makes it much more transparent about what the content is Dot is not a very transparent name Especially if you're coming from that outsider to the insider Um, uh category Group specific blogs. I didn't find any sort of clear list where you can say, okay If I'm interested in this one subset of blogs, this is where I can go Um, and the community wiki only had sparse information about the different sort of blog groups Um, this was me sort of searching for blogs. I had to really actively find them Um, this was not necessarily an easy process So some proposals use transparent names and be consistent to help with recognizingizability Um contributors should easily know where to find info about the activity at kde. There should be one of the like Basic really most basic things. We should all know what's happening In the most easy way possible. It's not necessarily easy, but we can make it easier Um, and I think we should support more blog discoverability If we have all these sub blogs or if we have sub blogs We should maybe make it so that it's linked to somewhere so people know I'm interested in this particular subset of activity And it can be like a blog role at planet, right that just says if you're interested in these click here And that takes you to a maybe a specific subset of blogs Again, if you have any opinions about this join the boss And I'm just going to show as the last thing just an example of what I think this is imaginary But what what could be three different on ramping paths if you're um in Landing on one of these international websites I'm going to pick on kde italia a little bit because I kind of kind of belong to that group. So I feel okay doing that So the kde italia they actually have their own dedicated website separate from the kde.org called kde italia.it I believe This is uh where you land if you go to that website And You see here Immediately that the website is last updated in 2016 according to the website It does seem that they have automated Updates coming in in one section of it, but the actual official website update So if you're a user and this is where you first land Maybe it's not so great that it's you know now Nine years ago that it was last officially updated Um, and also you have some links to different communities that you can get involved with The thing is if you click on it, um This is where you land for the first one the forum You can search around and find the forum, but it's the old forum and first Yeah, your first impression is going to be okay. This isn't taking me anywhere If you look around you'll then land on the kde italia forum at the old forum, which has been archived Okay, so that's one one path if you land on the kde italia website If you go to the kde.org website and select italian as your language, you're going to get more up-to-date information And you might click on that top panel Um, uh participa so you're going to participate in the community and now you land at the wiki Which is great. This is a lot of really good information Um with a nice table of contents And if you go there you're going to find out that there is a matrix and a mailing list which is great So this is this looks actually Pretty up-to-date. The only problem is here. There's also now a community in Discourse, which is not listed here. This is something we can change low hanging fruit. Not a big deal Um, so path three as you land in discourse and you say, oh, there's a community of kde contributors related to italy However, if you go there, um, it doesn't tell you any of the information About any other the communication channels which includes the mailing list and the matrix term So these are just again, I'm reiterating the same point from before we can align this information Maybe we can archive things that are no longer useful to us and maybe sub making a sub optimal user experience For going from that stage from I want to contribute to I'm now contributing Um, so yeah, so unwrapping paths are inconsistent information is out of date are incomplete And there's a lack of discoverability of the other channels Um, and if you have proposals we can discuss in the remaining time or join the proposal I wanted to leave it as an open question and I just want to point out. There's one other Related very related topic right now being discussed in fabricator Just the idea of formalizing a process for adding or removing services and platforms to kde's infrastructure I think one of the things that I my sense is when looking at the sort of big picture is there is a proliferation Of uh platform services, etc, which may all make sense at a certain point in time. Um, they might not And we should have a process for evaluating that Do we want to add more to what we already have and then how do we archive and remove it when it's no longer needed So it doesn't remain there as sort of a zombie site where it's um, creating Uh, a sub optimal experience for people who want to get involved with kde So there is this proposal. I don't know now if it's open to the public, but um be in touch if you're interested in discussing that more And I want to I so my feeling as I said at the beginning is um I think right now we're more like this and I would like to see it end up more like this Well, we're all sort of on ramping and then going in the same direction And I'm going to leave it at that join the box and we have plenty of time for conversation And I want to point out the conversation now I'm happy to answer questions that maybe I can answer But actually I think you all probably have more information than I do So this should be a community conversation. It shouldn't be oriented to me. So thank you Yeah, thanks Joseph. Um, so we have one minute for questions. Otherwise there are the box of course go there Thank you for talking about this topic I want to ask you about what you think will be the result of getting to that model over there Um, I one thing that I personally notice in the community is that a lot of long-standing contributors seem to suffer from an extreme form of email overload where it becomes impossible to To keep track of everything. So my observation there is that Email often ends up as the single endpoint of information. So if we succeeded centralizing all these things in some form Maybe it's email. Maybe it's something else Do you think that there's a risk that the result is just a huge form of information overload and nobody can keep track of everything Just because there's too much um, so My position here is actually not that we need to centralize all services to one like we all need to end up an email my my Main point here is we need Alignment across the platforms so that if you are active on email, you know that those other channels are active So you can be engaged in different places And um, there needs to be a way to discover that information And we need some consistency. So so it's not so much saying we need to centralize all into one um That said I do think Sometimes less is more. Um, so maybe if we need to find Um, uh places where we uh centralize or at least De-proliferate maybe another way to put it so we're all sort of more into certain channels Um information overload certainly can be a problem. I mean, I know I experienced that already at times in the kde mailing list um, and that's where Yeah, I think having the right platform for the right group with information about Like frequency of activity what kind of information is supposed to be posted there? So you are in the place that you should be and not getting information. That's not relevant for what you want Um, and then you know that there are other channels if you want other types of information I think can help um reduce that as long as is it's clear Where to go to get which information So yeah, I don't want to say we all need to end up on email or we all need to be on discuss That's really not what I want to say here If we have these different which they might serve different purposes have these different platforms We need to be able to know Where the other platforms are what kinds of conversations are happening there so that we can then be where we need to be to get the information that we need So it's kind of a half answer here Do we have time? Sorry. Maybe I went surprised that it took that long I guess we don't have so many times then please come to the boss Thank you Okay next, uh, alash will tell us all about the evolution of kde's apps ecosystem Yeah, okay Go ahead All right So as promised Is this working am I wearing the microphone wrong? As promised, I'm gonna make fun of my title By putting an emoji on it because it's the most keywordy and long title I've ever seen At least on one of my presentations also just kind of wrong This happens because they ask you to do the academy presentation somewhere in February or something When you're thinking about something else in life It was called like man, and it was I was living in another country and everything Um Well the point is that I'm not gonna talk that much about apps I'm gonna talk about uh deployment strategies though and apps are part of it but not but yeah My big fat title is wrong and understandable. So I'm sorry about that I'm sure that's why everyone else is on the other room listening to something much more interesting anyway In any case before I delve into it for those of you who don't know me That's my name. That's my email if you want to shout at me Virtually if you want to shout at me non virtually here. I am Um, I've been a kitty contributor for quite a while now I've been working on uh several both apps and uh while in plasma and uh many of our upstream projects Since may I'm working for a car company called the mission doing um Well car things I guess you might find it interesting because I'm doing kitty related things on the car So that's kind of fun at least for me and I guess for you too Um, if you were around yesterday, you will have seen me talking about board things because I am the KTV president I have been for the last few years and I'm running again. So if you're a KTV member vote for me You don't have an alternative but still vote for me and like I was saying I uh I I recently moved I am from Barcelona was living in Barcelona, but I'm living in Berlin as of recently Now what I wanted to talk today about and that's what I kind of had in mind when I was Uh, well creating that very weird and our title is uh, how do we create thriving kitty products as kitty? We've been creating like things things forever um And I think that we all can agree that we're uh somehow failed at Like delivering the whole thing, right? Uh, software is a very complex topic and one of the big topics Of why is it so hard is because we're depending on so many things you have all of the electronics you have Big hardware manufacturers that get the things that run our stuff We've had the distros in the middle as well where like they kind of orchestrated everything and then We were there we were there Well doing our best at providing something that That could be useful for our users Big part of why we've been doing this is also like it informs why we've picked up with all of this complexity We we create we believe in creating an operating system that is good for our users. That is uh useful for for people, uh, but uh Well, have we been able to provide our users with all the freedom we wanted? um Well, the first point is that If you don't get to the users the users don't get to enjoy that freedom You can always say yeah, sure They could have like installed devion on their computer that came with windows and then they would have been freed from the heckles of society, but That's kind of a long shot um, in any case, um If I think about besides trying product What do I think about well first of all it needs to be useful, right? Like And almost of our products or if not all of them Are really useful. They they cover a very clear use case But also they need to be like safe and resilient in that like this is something that you need to be able to embrace and rely on like you're not gonna be writing well your Letter to the left one if you don't believe that if you believe that it's gonna explode or that it's gonna leak somewhere or whatever But also from our uh, but software creator perspective it needs to like Uh be easy to fix like somebody needs to be able to come and say There is this problem and we all know that every software has problems They need to be able to address it to add new features to add new whatever that needs adding and Well ship that to the other users that we're um We're gonna be getting but it also needs to be able to uh be uh Collaboratable right? It's it's it's much much easier to create a project where it's just you working There as soon as we start like saying let's create it as a group as a as a small society Well problems increase. Obviously. This is not our problem. Uh, luckily This is a problem for every software developer around the world and there's plenty of people who have Uh, well address that we use skates for example nowadays And it wasn't even our idea But uh, I think that it's it's useful to reflect on why that's important because When when we think about how others create products we It can be tempting to say let's uh, embrace their limitations because they can be freeing But I think that if we like forget about any of these four, uh bottom lines What we are kind of lost this doesn't mean that these are the only ingredients that Can be there much like a lot of the recipes in the world you can tweak them to your liking, but I think that these are very four very important pillars um And I want to contrast the four of these with a little bit our our history our our context to be able to uh Well to be able to explain why I think that we maybe haven't been able to deliver entirely Uh on on that premise Um, we're coming from uh, what we've been talking about the distro world if if uh If you agree that this is a the correct word In that world, um, we're somewhat of a byproduct like As I was presenting it like five minutes ago, uh Katie uh our software and Katie being uh plasma But also all of our apps were like a byproduct of someone else's products, right? There's something that has been kind of unique in a moment in the history of of linux and actually the Software world where like there was this moment between maybe the year 95 and 2010 where it made sense to create an operating system and try to sell it. Um This is not the case anymore. I guess that we all somewhat agree that like software is uh Not something that you try to sell in exchange for a license that much anymore. Some people try to Even some of our partners But uh, I also know that they struggle at doing that because uh, well software is is very special that way But in any case, there's been like all of these distributions that have been, uh Well taking what what we create putting it into their products and driving it to their their users some sometimes Collaborating with us to to improve Katie. So that's not to say that It has not worked at all. It definitely has had uh, uh very good impact in some parts of Katie, but It also has made it somewhat hard for us to innovate because we have lost that handle on How our our products end up delivered into those those users um Luckily though, like a lot of these distros they are also like very open community not unlike ours so, uh, there's the possibility of a lot of us to like Collaborate with these distros and make sure that that things work And this is something that has happened. It's happened happening today and it was happening 20 years ago So again, I'm not trying to pile on the that model. Just trying to Explain my my mindset here um And those are somewhat complex to navigate in that, uh, if you take the The perspective that our end user end-ups having is quite complex to end up reaching us So if you are a consumer of of devian if you're a consumer of of susan to which extent can you Can you like walk the the path that goes from whatever cdu gods from that? Magazine into uh, well the dolphin maintainer who has a bug that is bothering you and In addition to which extent are we able to deliver the fix that this person had on the CD from that magazine To deliver a fix that is going to solve their problem. This is Probably the problem of linux in the last 20 years and maybe there's something that We need to think about and actually like this last point Is what I wanted to talk about with this pushes us to think about the future we have always this or we We're put in this position where we need to think Not about how to serve our current users because our current users are Already in the past somehow and we need to always be thinking like maybe six to 20 months into the future when our users will be getting our new Or our stable versions of the software and the kind of thing that we'll be getting and I mean this is good because uh, Well, it gives us the the speed and power to like be over there But if we're always thinking about over there, we're never thinking about over here Which is where reality is in in a way Um I like to think that you all understood what I was trying to say here. Um I'm gonna make a small exception and say does anybody have a question or wants to insult me in any way right now I I I will take that as a no, so Uh, if we You would say, okay, let's see how we move that forward or how we have been moving that forward as an industry because We as kd we have not like invented anything super new at all, uh We need to think about the apps, uh, and it's actually very important that we think about the apps first because um, one of my earlier points, uh, I was making is that These projects need to be able to extend and when we think about extending an operating system the obvious thing to think about is is the apps the apps are these things that Um, don't come from the operating system. They come from, uh, well, normally third parties. They can come from you as well, but Uh, they are designed to be able to come from third parties and Extend the functionalities that your your your system is already Providing like that would be by definition, but an app is right uh And this is something that well we as the linux desktop if you wish have been thinking about uh for The very least the last five years it's it's been uh a big push obviously that there's been efforts in the past But they they don't really go kind of anywhere um, this is something that also, uh, for example, the Web linux has been thinking about as well when they well designed docker. Why was docker designed? Well, I wasn't on that room, but I'm pretty sure that the idea was I don't want to make my company's software Something part of devian because that's not what I do. I want to be able to like put my software in any linux Device and be able to run it Uh properly Uh, and that's not unlike what Probably the conversation happened when they decided to start working on snap when they decided to start working on app image and when they started to work on Android apk's flat bugs whichever so as soon as we have this, uh the separation of um Not everything needs to be coming from the operating system We can start thinking about creating an operating system and we can start thinking about Uh, well different based solution and um I think that uh treating the the apps as as end products It's it can be freeing if you were Listening to the keynote from the kdn life people. I think that it's very interesting how like they can afford themselves to Just be thinking about kdn life and and video and the things they care about They don't need to be thinking about, uh, I don't know the rest of the operating system Which is something that ends up happening Especially on those cases where the line between what is operating system and what is uh your product is a bit blurry, but on the other hand if we Find or if we can afford ourselves to find In a place where you can say I know that this is my problem. I want to solve and Just mine Then you can start working on well Not only the product itself, but actually explaining the product explain the product for different platforms as well often Uh explaining, uh, well trying to fundraise for the product Fundraised for the product in different venues, etc And actually telling that your product is great like you need you don't need to be selling the linux test of all always Uh, only because you were working on a small calculator or something. You can just be saying my app is is useful Um, why am I saying all of this? Well, um, this is uh the vision statement we have right now Which uh reads I mean it's much more explained on the on the wiki and I completely recommend you all to be reading what we say, but Well, the title the slogan is a word in which everyone has control over their digital life and enjoys freedom and privacy and obviously I mean this is great and I completely subscribe to it But we cannot really say that these can be achieved only with apps we need to have Um An understanding that is more vertical to the solutions that we provide and actually it's much more vertical than All of our products because for example, we're never going to be providing I don't know microchip right like there's always going to be um Other parts of the ecosystem that that escape us Especially if we remember that we think and work on software, which is not something that we that cannot change Maybe kd in 50 years has a small a big factory in in taiwan producing processors Would be surprised, but no in any case what I wanted to say is um, if we want to fulfill the full the the kd vision we need to be able to think about about The environment that we are offering to our users and what so far we've been doing this through Uh through plasma. So, uh, I think that it's important then if we allow ourselves to for plasma to be that part of Of the of the picture. How do we how do we envision plasma like? um something that has kind of uh I want to say what I mean the past is that uh We can see plasma as the different components into our desktop, right? It can be Like these windows. It can be that menu over there. It can be, uh, I don't know the stopper center, but um It's very hard to um to marry the going back to the vision like controlling all of your um Digital life to uh by using these menus and everything Uh You're gonna you're gonna do that. We need to be thinking about plasma. I think from like the ground up uh thinking about like the hardware how the how we integrate into the hardware through the operating system to some extent and to um And up to the the ux because otherwise plasma becomes something theoretical Uh, if you are in these, uh, I don't know ideal hardware everything will be under control But that's well kind of the assumption, right? Uh, otherwise, uh, you can never be sure that That you're being true What I want to say then is that it's the hardware that makes it real And the only way to prove that is that nobody has run plasma in the past without hardware because That's not possible What that's what I was talking about earlier no no need to go through it again So what I uh, why am I talking about this right now? Well, first I'm not just talking about this right now I have been talking about this for a while. I think that I was talking for example about our um relationship with kitty slim book back in uh, vn. I want to say or maybe albinia And it's been uh quite on this uh discussion. Uh, so far, uh, we had, um Maybe a different approach. We had been collaborating for example with uh, kitty neon on on that front But also like kitty neon itself. We've uh seen it. Uh, maybe not be everything that we would always want to be Uh, it has a lot of uh legacy for good reasons. Like we were standing on very strong legacy, but it doesn't stop being a big legacy and Like it's sitting on some legacy that is also kind of uh expensive for us As to afford because it's not designed for us, right? um But right now we're in this position where we have a good number of hardware partners who Claim to care about us and who collaborate with us in in many ways um And on the other hand ourselves, we're invested in hardware products. We've been uh working on for example the pine phone With pine 64 with slim book on the on the kitty slim book and what we've been doing there is is saying, okay Uh, let's make what we create not theoretical anymore. Uh, let's take this piece of hardware and make it work And I would say that it has worked quite well. Um, the The laptop here is one of these. Uh, it works great. Uh, and uh I can only see us like being able to do better by uh Furthering this uh relationship. It is still hard though to be flexible So if you wanted to say today, let's make I don't know a tablet product We would need to do a lot of well non-actual plasma work to um To to to get there and actually that is probably maybe uh something that we should be thinking about Like we should be able to say if we care about this new platform, uh, let's try to embrace it Uh, also right now, uh, there's a new technical solutions and what I mean by that is that, uh The linux operating system uh ecosystem has been evolving for the last few years And uh, there's a lot of new solutions that we can well start looking at right now and see if they can be probably Maybe to put in in financial terms like cheaper to uh use these new technologies and see If we can serve our users like we want rather than taking the big complex ones from from the past And I think that there's a good chance there So what I want to do now is go back to the ingredients the recipe I came up with a few minutes ago and say, uh Whether we can create something that um That is fitting that that definition and if I think about it, uh in terms of hardware and kd I think that we have a very good shot like we can have plasma with all these thousand whistles. Um Plasma is already flexible enough to target a lot of the different hardware platforms that that we have around that We're seeing we have a lot of the flexibility to create new platforms that the world hasn't seen if that's something that we need of one So, uh, I think that we are on a on a good track there Making it safer and resilient is something that Well for our software we have all of the tools that are necessary, but we're also sitting on a massive platform like, uh the linux platform is As in the kernel and all of the middleware that we have available We have a lot of partners that are making sure that everything works as it should and obviously it's also available to all of us to To use and extend and and fix and improve, right? Actually all of them fitting all of these, uh, this requirement So I again think about, uh, that that is something That we can do Speaking the third point. I think that we can agree that Ask ad we can collaborate on things Ask ad basically what we've been doing so far is, uh, becoming good at collaborating on software projects Um, actually the earlier presentation was a good, uh, example for that Like we've had people from around the world working together on on different projects and, um I'm being excellent at it. So actually that's kind of what we're doing kd So here I think the question is how do we create the product? Actually, maybe we can narrow it down a bit and say, uh Somewhat simple, uh, solution for an operating system that it's still easy to fix and extend if, uh, you look at the different or if I look at the different, um solutions that are coming together, um As soon as you start making it a bit simpler, um thinking about the this whole concept of read only operating systems thinking about, um Well removing all of the like dependency trees that uh become available to the to the user it becomes a slightly complex to like tweak certain parts and we need to find the good, uh I don't want to say compromise it when I go We need to find a good Solution where we can still do everything we want to do We we can still allow our users to be able to do what what they want to do without having to Have something that is far too complex for all of us to support and actually too complex for us to Promise that we can deliver the experience that that that kd wants to to deliver And actually it's not even us just doing it. Um There's a whole hardware industry that has been Working and thinking about this this program for for quite a while And I think that reflecting on how they've been doing May be a little bit useful. So I listed here some Some, um Approaches that maybe have worked to some extent or not, uh, the first of all The first I thought that could be useful to think about was the steam deck Um, so the steam deck what they did, uh to put together an operating system and I found it kind of interesting was um And that's from my perspective. It's not what they say or how they explain it Well, mostly because they don't say or explain many things but, um What I've seen is, uh, well, I've seen those binaries. They decide to Uh put them all into a big fat package and they end up delivering that they deliver it into, um A read only operating system that you can in turn make, uh not read read only again And when you update what you update is this big package. Everything goes away and and you replace it You replace it with something that is, um Well, whatever they gave you so if you made it like Non-read only and and you'd modified that obviously everything gets lost. It's not the worst solution in in history It works and actually it could uh Fix a lot of the boxes that that we need Uh A lot also of the of the discussion here is where do you, uh, draw the line between what is the Part of the operating system and whatnot and here is where like we see that this app concept is very important Like as soon as you consider well an app something that is not part of the operating system then you can start seeing um Well that uh, if something needs to be an app then it will be uh, it should remain after after these wipes or not Um in kd. Actually, I think that we have a little bit of a problem there We have a lot of things that we consider apps that aren't really part of the operating system If we start for example seeing at how the different, um Well app subsystems uh work we see that that there's a lot of things that for example our apps in kd I am mainly thinking about dolphin right now that uh, like they couldn't possibly work properly as Uh as as an app itself because we need well to have a lot of information of our user Information that we probably wouldn't wouldn't want to be giving to every app. Obviously, there's ways to um code corners on any security measure, but um There's something that that needs to be discussed That's good to be discussed by whoever ends up designing that operating system that we might be creating um Something that the industry has been using for quite a while as well is is yokto Um, and I found it quite interesting. This is something that I've been experiencing much more since my since I changed employers um, and I find it interesting that the industry decided to put that together because it On the first look it doesn't look that great If you start digging a little bit you will see or I started seeing Why they did it like this and there's definitely good points on that If you saw uh, Andreas's presentation yesterday. I think that uh, he did cover a lot of that advantages those advantages and um I think that there's uh much we can learn there I'm not sure if this is the tool we would want to use but for example being able To have the industry caring about certain aspects of the super lower level of our stack and allowing us to focus on what we like is something that uh yokto would be able to offer us and A lot of the other approaches don't like for example the steam deck They have the super advantage that they decided to sit on the Intel platform, uh through amd, but still the inter platform And through that they have a lot of standard that you can find that as soon as you leave that somewhat safe space you lose automatically with Arm and lately with risk five But on the other hand like there's a lot of very interesting hardware that we want probably to to target at some point that That's over there. There's been people caring about those those areas It would be interesting to see if for example our plasma mobile team would have had a better Life if they'd been looking at this kind of tooling or not I don't know actually like talk to them. I'm sure that they will have a more more interesting answer than than I have right now Something I want also to reflect on a little bit is android because android is Effectively a linux a linux that has been put together by one of the biggest companies in the world And even them they're struggling into like producing like new versions for for the different pieces of hardware that that they provide And actually a lot of the problems that they see are similar to ours, right like How is it that you buy an android phone from two years ago and you cannot update it anymore? Makes you think that something deeply rotten is in in the hardware industry over there But on the other hand they do have like the reach to target tons and tons of millions of But I don't know if it's millions of devices, but it's certainly thousands of millions of users and I'm sure that there's things we can we can learn there My impression is that the what we can learn is more on the very lower level of the stack rather on the very top So I I think that Looking there it would be interesting then I included others here because I know that lots of the Well legacy linux distros are moving into like none or less legacy kind of approaches Uh, open suze has their own fedora has their own and they're all like Doing a lot of the things that we want to do I think that looking at what they're putting together and seeing how useful that would be to want to Our intentions and our products would be interesting On the other hand they have not been as successful as doing that as the three of these I would say especially because I don't think that they're being Delivered to end users, which is actually what i'm talking about I am not talking about the ability to put us an operating system together Because like there there's many crazy ways of doing that I think that the important part here is the ability to be to put together a great software solution that that well Goes in line with how the hardware industry works in Nowadays So if I think about what we really need is a lot of things that we already have right like for example Building infrastructure we we do have we have a continuous delivery. We have a ci and we have some Qa systems that's not to say that They're enough they're clearly not enough and actually I can only imagine all of these exploding much more over the next few months and years because Well, if we want to serve users we need to be producing things that our users are able to do We've been doing a lot more of that for applications for example, but so far less so for Well hardware specific things other than dion, which is a Good thing don't don't get me wrong We need supported hardware that's also very interesting Like you cannot be saying we want to work on a set of bugs, but don't have a set of bugs in mind that you want to target It can also be a bad thing because you might be doing work around for that set of bugs to to be supported But on the other hand you will end up with a set of bugs that works that that you can Interate and you can you can improve and and deliver to users eventually if you don't have Something that you can provide to your users or you hope that they will have a theoretical piece of hardware I'm sure that we're going to be losing a lot of users and a lot of opportunities there We need to have great solutions which we do and we need to have a great Ecosystem which we are so I think that we can call those We know ready, but in in case we're going to be having Increased workloads because there's more tasks that we need to do as a community. There's more programs that we need to execute on rci We're going to be needing to do a lot more things if we go on that route I think it's worth it, but it needs to be all of us who want to do it to to be there Something that I think that is important that we think about is a clear developer story I don't think that the developer story is something easy to tackle specifically when you think about the operating system but Also, it's something that interestingly Andrea started on yesterday. He was talking about how you normally do it on your on your desktop and then you You deliver it to the to the hardware. Well, we will see how how we can do that But I think that it's an interesting endeavor something worth of us Thinking about If you're interested, I would like to say come talk to me, but I don't really have a good answer for you I would say go talk to all of the people in the community who are thinking about this problem You can talk to me if you want and I'll tell you who you can talk to if that's where you're stuck But I think that that it's important that we collaborate in there and actually like right now It's the moment to be thinking about this. It's not something that we should be thinking about in a couple of years Or we cannot even think like we should have been doing that like five years ago Right now it's the moment to be thinking about this topic because We have the right momentum. We have the right partners and the the industry the our partners Software partners are also thinking about these solutions. So I think that right now It's a good moment to be working on it and collaborating to be able to put something like that together Now if you have some questions, you can ask right now or somewhere around Thank you, Alex Seems there are no questions. So good. Thank you very much for listening to me Next up is will be the group photo. So don't Run away. Just follow. I don't know. Somebody will tell you where to go to Be taken and we're here. Yeah, so excellent. So everybody stay where you are If everyone could come down to the seats here in the middle facing the station We'll be taking the photo from the stage like Well, what is what? Okay Everything so first what's this person? This is me Yeah, that's some things about me. You can send me an email or not. Also, I'm not the kdv president yet, but I'm also not running So that's probably not gonna change yet So what's the vision behind this entire endeavor? Well Quality is important. Obviously. I've been telling you this for years now Um and quality Of our GUI applications in particular important since we primarily write GUI applications So naturally we should have GUI tests Except we don't and it becomes ever more important as we're moving into a world with qml where we cannot rely on the compiler anymore To tell us that things are obviously wrong. So obviously wrong things like accessing an object that is null suddenly Doesn't become so easy as it was And at the same time unit tests do not really capture the entire picture, right? They test the individual unit and what happens in the big picture when the entire application is assembled kind of falls by the wayside And I mean that's not their purpose, right? so Obviously such a GUI test would need to be easy to use And what I mean by that is needs to be easy to write the code for the test, right? If it's annoying to the developer to write the test and they are not going to write the test And at the same time it needs to be a reproducible test. So Obviously, uh, I would like to be able to run it on my system Not just the ci or worse yet some random server somewhere on the internet That you can't even specifically inspect the results in So that was the vision and then comes the problem So we don't really want to build everything ourselves, right? Um, we want to stay This kind of what we want kind of in the way that we wanted. We just need to tweak it a bit So let's look at the building blocks Because obviously not everyone here knows what selenium is selenium is A tech stack is very much the key of this tech stack. Um, that does UI automation What do I mean by that? Well, if you tell your computer press this button, then it presses the button without you having to click the button Simple, right? Everyone gets that Yes good Selenium features a server client architecture Um, it supports many languages. It has cross platform support. So all the things that we need which is interesting and exciting So selenium definitely needs to be part of our stack on top of selenium I've discovered there's another thing called apium apium takes selenium and makes it very much app specific So something about selenium one of the great disadvantages perhaps is that it's very web centric So it's meant for you to test your websites But as it turns out a website isn't so different from a modern application anyway So you can apply much of the same concepts To desktop or mobile applications and that's what apium does. It's basically sitting on top of selenium Then behind selenium, it's a thing called the web driver It's essentially the server part of the client server architecture of selenium The web driver executes whatever action it's being told to execute So when you tell your computer press that button, it's not selenium doing it. It's the web driver doing it The web driver is w3c spec It's super well defined awkwardly well defined. I might say Goes into great detail about all the api things But it defines an api for automation Which is important because now we have something that we can write against, right? And so the last building block that we need is at spi Now who here does not know what at spi is Okay, so at spi is kind of the core technology for assistive Stuff on linux. So all the accessibility stuff essentially runs through at spi at spi is Mostly a divorce protocol that establishes how this communication has to happen and what apis need to be provided but The toolkits are the ones implementing that and so through the toolkits area application on the linux desktop more or less anyway Already gets at spi support. Does that is everyone on board with that? Yeah, cool But wait, wait, wait, so I've added accessibility to this picture now, which is Interesting. It's also very important So Accessibility has an overlap with automation in that it wants to do much the same things It needs to inspect what is on the screen. It needs to interact with what is on the screen needs to click a button from our example So it's about having the computer manipulate its own state Very much like we need for testing and so by building on top of the accessibility stack We get all this automation capability And at the same time we use our accessibility features Implicitly So now suddenly we realize that there are accessibility problems that sometimes things are not annotated that they are not correctly Named that they do not have a name at all perhaps that they are not interactable All these things that accessibility asks of us as sort of extra Curricular work from the developer We usually don't notice it because we don't use accessibility But if we do testing through accessibility now it becomes a different story because we're using it So we can put all these building blocks all the trees together and form a lovely forest. You can see the forest right there It's a bit foggy So we have a bunch of client libraries and we have a bunch of htdp and jason in the middle And then we have a tspi on the end and somewhere there's an application So essentially it looks like this in black and white because The slides are in black and white But what what what is this web driver? Why do why do you not have an icon? Big question mark there something is missing the web driver the web driver bit So the actual thing that does the work right that is missing because there's no such thing for atspi We need a web driver that is capable of receiving selenium requests and then translating that to atspi requests And that's the thing I did So if you check it out on invent that would be cool um It essentially handles the communication between selenium and the actual entity under tests So if you start kcalc and test kcalc Then the web driver will be talking to kcalc through atspi So now all the protocols are well defined And we're super independent of one another because if selenium should fall by the wayside We can just write our own selenium or pick something else up and we maintain the web driver So that's lovely and atspi can be switched out for another technology and now that is interesting Because now you couldn't technically write the test that runs on windows and on linux Isn't that exciting? Ah It's not it's not there yet. So don't get too excited So our web driver does a bunch of things. First of all, it does this translation between selenium and atspi and all that um It also comes with a start wrapper So you don't have to manually set up your your execution environment because we need to spin up a bunch of stuff You know your atspi demon your deepest demon We are what Whatever other demon you might possibly want And the web driver takes care of that um It's also Able to create video recordings and that's because of a design decision that we've made So ordinarily you would run the application on your actual system, right? But we wanted a bit of confinement but not too much confinement We essentially wanted to be able to manipulate the input of the application without impacting the input that you are actually doing So what we're doing is we're spinning up a nested queen wailin session Within your existing session. So you can be running x11, but it will be spinning up an a wailin window And Inside that window we can do whatever input manipulation we want without affecting anything on the outside Which is pretty cool, but it also forces the opportunity to Do screen recording super easily thanks to work that allege has done in the past year So that's pretty cool. Um, we can also do of course screenshots for example Obviously if we can do a video we can do screenshots Oh life demo time This is gonna it's gonna be exciting Also, because I don't actually see it. So here we go. Uh, uh, it's obviously not life because I'm not I've been burned before my friends But we're using a very experimental video player Well Well, it is I'm I'm live right here, right? So, yeah, so this is a video of a test queen wailin started up came for center starting up It's typing in stuff and then it's a certain stuff and then it goes away again That was obviously a bit quick. So maybe let's do a little bit Slower So what it's doing now is it's looking for a search field And it goes do it find a search field. Hello search field. Well if search will goes, uh, here I am And so it selects the search wheel. It's hard to see but it's not selected And now it starts typing. So that's input synthesis Through queen wailin so no actual typing is occurring there And uh, now it's loaded the CPU module and it's a certain is it actually the CPU module is it selected in the list Do you want to know that? And that's the end of the test let's look another one All right, the big surprise. What is what's test? Oh, it's the media album fingertips from plasma This is a super involved test actually on the back end side because we are provisioning an entire fake Debus Empress service just to test this thing It's pretty amazing on the back end even if it doesn't look it but I need to show you something And then here we have a test in discover I think And don't get distracted by all the debug messages. This is an experimental version of dragon player and I forgot to remove the debug messages So, um, it again search for the search field. It's typed in calcium It opened calcium. It's gonna click on the install button any minute now Now it's installing calcium It should only take a couple seconds hopefully Well, of course it does it's recorded So right. So now it's installed it can be launched And now it's uninstalling it again. It's a very simple test But a very important test because this is a core workflow if this breaks then What's the point of discover? Alrighty, let's look at some code. What kind of code do you want to see? test code or driver code Very good Very good selection my friends. Okay Is it large enough? Okay, so here's some simple setup for the test Setting up the repositories for flat pack and whatnot blah blah blah standard test setup stuff then it's creating A web driver it's here On the local host it's a service that is spun up or run wrapper that is part of the driver So that's like boilerplate stuff that just goes into area test Indeed most of the stuff core is boilerplate. So this Terran stuff is also boilerplate. It's taking a screenshot And quitting the driver Nothing particularly interesting. So this is actually where the logic happens, right? So first of all, we have a wait condition for 30 seconds We're going to wait for the loading label to disappear Here it says label loading. That's like a special type of string a descriptive string From 80 SPI that basically defines the type of what you're looking for and the current label that it carries There are various lookup methods. This is one of them and by far the simplest Actually, you know the simplest is just using the name. I think So in this case, we're being a bit more explicit. We're saying it needs to be a label and it needs to have the A string loading Next we are looking for a search field. So we're doing a simple find element call and looking for the search field We're making sure that the search field gets focused And the search that state Now that we have the search field focused we can input the keys calcium And hit enter And then again, we have a wait condition for 30 seconds for the data to actually load blah blah the same thing repeats We wait until the list item calcium appears And then we click on it At this point, we're doing a bunch of assertions. So we're looking for the application description and making the very Useful assertion that the description is actually not empty So the length would be greater than 64 Next we're looking for a push button and the push button should say install from flattop user And then we're going to click on it And then we're going to wait for 120 seconds. That's always the maximum amount of time that we're waiting. It's not a regular sleep, right? We're looking for a push button. It's going to remove blah blah blah Same dance again. We're again waiting until the install button appears again Exciting code, right? super boring But I mean it's a test, right? What did you expect? Come on Let's maybe look at another one. Which one? There are really no exciting tests unfortunately Um, oh, we can look at this one. So this is the the super exciting one that I was talking about Because it has its own empress player implementation as part of the test So i'm not going to go through this but it's like A lot of work fusion did the work. It's super super awesome So it's using jio to set up an entire server as part of the test and then Somewhere hopefully there would be the test case Yeah, so all that stuff was just a setup, right? So here's the actual test case And I think if you've read a couple of lines, you already have a feel for how simple this is It's really not magic. So again, we're looking we're finding an element This time we're just looking for it to say play. We're not asserting that it has any specific type in this case Then we're looking for the previous button the next button the shuffle button the repeat button And then we're gonna gonna do some Matching and probably some assertions at some point. We're gonna do a click on a button so you can also Look for a button in the ui then hold it as a variable in your test and Later reference it again. So this previous button here Well play button has been defined all the way at the top and now it's being used again And you can use it as long as its lifetime Is valid, right? Yeah, that's about it What else can we look at? Oh, that one is also interesting because it's actually implements a system tray Okay An x embed tray icon. So essentially, I think the use case for this was The x embed icons broke in one of the recent plasma releases and so fusion added this test Which adds an x embed tray icon and then asserts that it's actually there Let's have a look see Right So here he's starting the x embed as an i proxy Blah blah test waiting for a bit So this is actually the only important line in this entire exercise Is the presence of an element Located by its title Right, that's the only thing that we want to assert if The plasma system tray is loaded and an x embed application is also running. We should see an icon And at the end of the day ideally this should be the only thing you need to write But of course being x embed it needs more setup logic Okay Anything else any wishes? I have a calculator test that is fascinatingly boring Let's have a look Okay, so it clears it clears the clears everything it puts seven in it checks that the result column says seven Then it does calculations Amazingly simple And so what are some of the gotchas? Or actually, let's look at something else first Let's go to my slidey slides We've been here in here in here in here Oh, ah, yes, so the 80 SPI ecosystem Um, so there's 80 SPI which is like the protocol and the finger magics that defines how applications can Be manipulated from the outside There's one super important tool that's called exercise. It basically allows you to introspect what's going on inside 80 SPI and It's super important because we need to be able to find out what 80 SPI actually sees of the application I will show you in a minute what that looks like And of course we have the application the application Needs to implement 80 SPI which de facto means that Every application has it because it's in the toolkit Easy peasy limbs squeezy. So let's look at an exercise Stand on the slide. Oh, there's another slide exercise Let's hope nothing crashes You don't see it but something crashed No, no, no Okay, so this is exercise It's essentially a debugging tool for all intents and purposes And we can look actually let's open k-cult because k-cult is kind of simple So we have k-cult open It almost appeared automatically So now we can look at what 80 SPI sees of k-cult So there's like a super frame of the entire window apparently then we have a filler a status bar A manual bar a tool bar and another filler Um, I'm gonna guess that the main tool bar is gonna be interesting No, it's not it has under redo cut and copy But like we could execute these actions right now. I'm gonna look for something more exciting So one of the problems is with our current Accessibility structures is we have lots of noise items, right? Like you can see that there are items that say nothing until they have no actual function They're just there because automatically they are injected and we as developers Really should remove items that we do not need So they don't clutter up The 80 SPI bus they don't clutter up exercise that they don't consume resources Um, so yeah, let's take a look So this thing here is probably the result display. Let's have a look No Yes, so these are the properties of the thing that we are looking at And apparently we are looking at the hex display So this is like an id that is auto generated inside cute of like every q object that we have And it's based on the q object name. I think also the classes are mixed in it's A bit magic what's going on, but it doesn't really matter because usually You set your object name to something and then it shows up here and then you can go This is my object name. Please find this object So we have a bunch of displays here Right because So that's again one of these Problems where we show something that we shouldn't be showing we're currently displaying all the different result Displays so like decimal binary octal or whatnot We're displaying all of them in 80 SPI even though in the UI. There's only one open, right? So that's confusing and that's also confusing for accessibility reasons because obviously these are all getting enumerated This is really the worst example, isn't it? ah I shan't the patterns Okay, so Currently it says zero. Let's make it say seven apparently So we're gonna scroll down here go into action Then it doesn't want to scroll anymore Here we go. Okay. Let's press this action perform this action And it says seven magic And so what I've done manually is also what the web driver essentially does, right? It looks through the 80 SPI table and looks for the element that makes the most sense for the description that we have And then it executes an action on it. The actions can be Buried So here we have a press action. So is that focus action that could also be a toggle action That could be actually any action. It's not Specified what actions need to be available. So you can have like a rotate by 90 degrees action if you want to And let's exercise Okay Let me try to recover my slice. This is only going to take five minutes maybe Almost there. I see a progress bar Almost there Oh, come on. Come on. You can do it. You can do it Okay, so We've been here. We've been here. We've looked at this We've looked at the code. I hope you found the code. It's I think really that was like the main thing I wanted to have But so the the only reason why I'm even giving this talk is because I need your help, right? I need you to write the code or Just as good write test scenarios So not necessarily the code but write something down that someone can turn into code So like open this application click on the menu or click on the file open finger magic a dialogue opens Click on this thing It's a bit tedious, but once we have this set up then we just need to maintain it So we need to push through this initial hurdle of Oh, it's so much work and it's boring But once we do it's going to be amazing And that concludes my talk questions Who are so many questions? Why does your boringly simple calculator test that calculates seven plus one equals eight contain a copyright of microsoft? Yes, so the calculator test was actually derived from microsoft. That is why Yeah Relate to this. I mean, this is exactly what you shouldn't test with ui tests that The calculator calculates correctly. I mean, it's it's a bit of an edge case because you want to see that the Result is displayed. Yeah, but you don't want to Actually test the calculation. That is true. Yeah, you should do it as a unit test so you did this web driver that Come translates from Selenium whatever to a at spi Yeah, you could have well decided to not use at spi and use like the q-object model or something, right? so you did it on purpose so That we would kill two birds with a shot or was it just like the most like one-to-one conversion like is it because of my fear is that the Selenium model and the at spi model Doesn't necessarily match one with each other or maybe it does It matches fairly well. So, um, I mean a web application today has buttons and widgets and Transformations and rotations and all this stuff, right? So they map fairly well But it was a conscious decision that this also brings us forward with accessibility First of all, thank you. I Did you and I have done a web UI tests for plasma so and a problem had these transient Image events for example the package kid update their System tray indicator has like this dot That can see that it's basically info or like something happened and even can stay up for a while even After you install that had problems with that. How does this handle transient events and Uh, things that are not button sort of textile images So how could you tell that the package kid? Indicate system to educator is in this state Yeah, um It can't maybe it can I'm not sure that it can So In exercising there are like this dialogue. I showed you where I clicked on Press the action, right There are a lot of properties that you can set on accessibility elements that Are not necessarily there, but they're usually ways to expose them So it's probably a matter of us exposing the information Through 80 spi so we can then use them in the test Uh, also, uh, have you tried open qa? I have tried open qa. So, uh, oh, I didn't really go into this But like the difference to open qa is that open qa is an image based test system whereas this tests functionality, right and so Writing tests for them is also radically different because in the one you're basically creating Images and say this is my reference And the what is on screen should look like my reference whereas here you saw it We are writing out the actual functional logic of if I click this button then this should happen Thanks a lot. I have so many questions. I'll ask them later. Yeah So as came up yesterday, this is great work for all three of kde's current goals I was wondering for the sustainability and user emulation aspect Do you have an idea of how demanding running selenium tests is is it energy consuming itself? I haven't looked into it. I've given it a thought, but I haven't yet looked into it It's definitely something to to look at but it should not be that resource intensive Or put another way if it is that is a bug You have shown us four examples Where things worked out Do you also have an example where things go wrong? No, because obviously all our tests are amazing I mean, so if things go wrong they This entire thing basically integrates with ctest So when you run ctest, it will also automatically run the epium tests as long as you have the the text tag installed And Because it's integrated in ctest if it fails, it will just show up as a ctest failure Does that answer your question? So are there any Plans is this I'm guessing this integration is not kde specific So are there maybe any plans to upstream it into selenium proper as an extra backend? Yeah, it is currently specific to plasma because we're using quinwailand There's possibly opportunity for upstreaming I haven't really given it any thought because because of wailand we need a bunch of custom code in inside the web driver Okay, also another question and I noticed in one of the one of the scripts that Time-based wait is applied before Actually testing is it possible to somehow Do so as synchronously I mean without Waiting let's say 30 seconds, but rather when a signal Is raised before starting and there's another signal Is raised at end at the end in order to not depend on transient events which could Which would throw things off I don't think so. So generally it's a polling based api that selenium has with the web driver I am there may be So there has been a new version of the spec for like a year. There may be something in there that actually does A more interactive approach to the entire thing. So maybe Hi, um, so if running ctest also then runs for example that Like the test to install a flatback package Like this obviously depends I guess on flatback being installed on the host and yeah And it also installs and uninstalls Random stuff on the host. Yeah, is there any way to like make this more self-contained? So kind of to have like a fixed test environment also and not to depend on like random stuff and mess up random settings Yeah, yeah It's absolutely possible um I opted not to do it by default because it makes testing more complicated because suddenly you need to spin up your entire Environment within a confined space. So yeah, it's possible but not by default So, uh, you said this runs on keel and wheel and right? Yeah um Could it be possible in the future to use linear to test for x11 specific bugs? Because that's a that's a It's it's possible. Um There is an operation mode where it doesn't start up queen valent, but instead uses your existing session then It's possible. It's not going to be pretty though I mean, especially if you want to crash your x server then your session is gone. So That complicates methods a bit That is true Hey, I don't like python. Can I write it in another language? Oh, that's one of the amazing things of selenium is you can write it in ruby or python or c sharp or java or I don't know c++ probably Okay, now I want my kd application to be tested on windows And you said it's queen valent specific. So how do I do that? You just use the microsoft provided web driver So if we go back to the sequence diagram if I can find it This one right the web driver bit Can be exchanged right that can be our web driver It can be the microsoft web driver. It can be an android web driver. It can be an ios web driver They exist. Yeah They can be the same. So the question was if the tests and be the same The answer is so the thing is it depends on how you write your test, right? Like I've shown you how to write um, like the brackets label pipe Some label play for example That is an 80 SPI specific notation You can also just search for the name of the button in which case your test is less precise But will be portable to all platforms Does that make sense? Excellent, thank you Welcome to academy We're here position around how we do Think around testing how we want to go about testing One thing is that you maybe will be aware is that software has perks and ways and this is obviously perks in kitty applications Um, and one way to find uh, those perks and squash them is you do some automatic testing Which is what Harold was doing in first explaining and right before this one And so sometimes you maybe say testing an application of another project at the same time He has to choose all the application again do the testing as soon as possible. So ideally We would test every single changes before they are committed. So if the user report an issue we would make sure that we quit Find the fact that into repo It is pretty hard to do that So we'll see we commit this into a repo and we try to make sure that as soon as possible after that happens We make the software available to users so that they can try application on flat health And they try the application and the users getting it They're shipped in users get daily updates of applications when we please on top of stable Behind on that you've made the OS tree has a lock of commits a lock of changes We've been there and you can check great easy this way without having to use again Is a federal variant you control all things get changed you control all your system gets changed All your applications take one by one your date system as a whole as we continue on ferrocinoite And see how this goes some right now ruining a specific version or 708 Loud here because it's the status of the system And we can clean up everything to get back to the same state we have And so what you hear might even be wondering is that hey? I want this thing right now and this is what we've been working on. So we've made fedora Canoite beta and likey versions Based on stable fedora with beta and likey packages And we've been we're working on plasma six images of that. So this is Actually progress. We I hope that you have that ready for academy But unfortunately, we don't have that right now But we're going to make that happen as soon as possible on top of stable draw Right now the kitty beta and likey builds are closed because we're working on plasma six But there's a whole lot of things that we could do with that with those images and enable pretty much takes for key desktop Using for example, open qa that would have this likey too much overhead for single carriers of doing the whole build of the system and testing But potentially feeding the up against the spec funds Don't think these big bumps into the repos and to keep c i because you know, I still realize the package It's an image, but it's built out like that. So, yeah, that's all the potential thing that we're looking at to make this easier And here's the list of all the teams and all the very nice people with how hard they mean to actually do that because One line effort. It's really a team effort either in fedora or in pd In fact, uh, yeah While questions obviously i'm not in the room. So make sure to make them on the chat and I can So a question can one integrate usability testing with selenium from fat packs? Um, I don't know This is a good question. I just saw the talk about selenium from harrell And uh, I don't know but that would be great. That would be really great We would have pure testing Using fat packs Yeah, that would be really great. I don't know if that's possible. The fat packs should be accessible. Um, so hopefully that should work Are there any more questions in the room that I should relate to? Yes, I still have a couple of minutes. I'm going to Just share These two last slide is if you're interested into Doing development on fedora kinoid. I also wrote a post That's all of this year is about testing about testing fat packs testing But sometimes you want to work also as well on the system. So if you want to do kitty development on kinoid You can do that with all the instructions are here in this Post and you can set up things so that you can put the fat packs so you can work on opiants and do changes like your system without having to To be like the faction of the operating system. There's a whole there's a lot of options to make your system hackable Yeah, I just wanted to know the like the timeline from setup to go computer live. Yes If you want to set up a fleet of system exact versions Using ferrocco night is very easy It makes it very easy because you improve that everybody has the same thing You can also use os 3 to make sure that the configuration is the same on all the systems Very fine that but by default both ferrocco the same bit so the same packages So he cannot show you I need to relay your Yeah, just really quick. I wanted to know what's the timeline to release Uh The kinoid version with plasma 6 to for testing. Let's see if he sees it I think not but One question. What's the timeline to release for kinoid with plasma 6 for testing? Uh, we don't really have a timeline right now, but we are actively working on it We need to set up all the pieces for the dependencies on qt 6 So we're setting up all the qt 6 dependencies in federa on the upstream Etc the dependencies And so once we have all the bits set up on stable federa, uh, then we're all likely Take that so we need to make That's just all of those versions to be able to ship all that We still have in few packages, but we need something clean to build and so yeah, hopefully that will happen soon One thing that would help us potentially is have Kind of now properties of the frameworks So that we can target specific version All right, then thank you so much everyone We will have a break and then we will go into lightning talks here. All right time. Um I'm still available online. I'm not as clear, but I'm available online So if you're to reach out if you have any other questions So does it look like windows? At a kitty conference? I'm good? True But that's not what I'm trying to show Tell me when I start Yeah, welcome back from the coffee break and on to the last part of uh academy the conference Um, and now we start with four lightning talks and we start with the talk by Jean-Marie Ptis-Kempf about kyber Um, good morning everyone. Um, I'm going to talk to you about a project that I'm developing Which is called kyber As you seeing um, and as you've seen for the people who are here basically here I'm Running a game right on windows and all you have all the blah blah blah animations actually works pretty fine But for the people Who've seen what I've been doing just before we're actually on linux, right? So What am I doing? So Today, uh, we're going to do more and more things in remote, right? Uh, we need to The discussion face-to-face what we find that we're back soon gt big blue button anything else you you're doing But controlling of machines is a pain, right? Um, and The thing is there is no good solutions, right? There are partial solutions Um There are partial solutions that actually work Whether it's vnc or dp, but they're not good enough And the most difficult thing that you want to play remotely is games because as soon as you can do games You can do basically anything. So let's go and do a demo. So This is assassin's creed RDC that is obviously not running on linux Doesn't run well on potom. It doesn't run well on anything. It's full of DRMs and other craps and i'm going to show you how much of failure I am at this game. Um, but yeah, so basically Yeah And headshot and then I die again But of course all that is basically done on this machine Which is basically running the game and coding everything and tending that. Yeah, I die One day, I will be good at video games, but today is not the day So High quality remote of control of machines. So my name is Jean-Baptiste. I'm the president of videolan I've been developing vlc for a long time. I maintain a street tone of libraries that you don't use I'm also part of ffmpeg, which is probably one of the most awesome community and i'm a community member of that Community committee. I've created a few companies around open source consulting mostly And on my dark side I've been the ex-cto of a cloud gaming company called shadow And i've been and i'm still vp of engineering at vp and i'm doing a lot of consulting for very boring companies Remote work We're going to do more right as I said and you're going to do more with things like that, right and they are Great, they are faster, but they are not going to be fast enough Especially today because we're going to have more and more Powerful computation needs. I'm not going to give you all the blah blah of ai, but right And remote control of machines is important and here i'm talking about machines And why am I not talking about just desktop? I'm talking machines because there are many type of machines, right? There is of course vm's Like citrix vdi, but there is just like your team viewer replacement, right? And there is no good open source team viewer replacement even though we wish it was We are also going to talk about cloud desktop cloud gaming But as all those are basically i'm going to control my desktop, right and grab my desktop from far away But you can do also once you've done that you can do the same for grabbing a camera Which means that then you can control robots or drones Um, you could also like just have a raspberry pi and grab an encode in hdmi cable Then you have basically A sling box so you can basically do remote control of machines of virtual monitor deported monitor So you can play your ps4 when you are at work because no one would ever do that But that's very useful for a lot of big machinery. We are today. There are basically Machines that you cannot touch. I just give you basically an hdmi cable out and a usb port into your keyboard And the final thing is instead of grabbing the an hdmi You're just climbing going to grab the frame buffer and then you can do uh app streams So all of those are exactly seems different use case, but they're exactly same tech Which is extremely extremely fast video of high quality and bidirectional control on both sides And so that's what we've been doing. Um, and so for the people who were Not here before Right That actually runs fine Um to play any type of games But what you've not seen What you've not seen on the previous demo because that was very difficult to see Is what i'm showing you right now, right? So here you have exactly the same setup. So two machines that are exactly the same Same screen same whatever Um on the right side, you you see basically uh the server and on the left side You see basically the client the client is over 4g connected to internet to the other ones And on the windows laptop that is going to the screen. So look closely because you're going to see the change between Right now Right. Did you see how the first one arrives a bit before? Yes, so Okay, it's a bit tricky to see I I agree. So let's go and pose somewhere nice, right? Um, yeah, so what you see here is 74 79 which means around 50 milliseconds between the two machines Depending on the condition and this is also for g right you're going to see between On the same video between 30 milliseconds and 40 milliseconds, right? So yeah, exactly, right? So That means that even for g which is taking around 50 milliseconds. That means locally. We are 20 milliseconds Which means one frame one frame and a half Um, which is pretty good. At least good enough. Let's use your eyes. Don't see it Um, but now I'm going to the exactly the same except I'm just Removing the windows machine because why do I need the windows machine? And what you see is now the phone is actually still doing the 4g, but it's also connected to the screen and you know Well, if we pose well same Right. Um, so yeah, this is pretty So this is kyber What is this? So it's a real time below server based on ffmpeg libraries. So it's a push base graph oriented configurable at runtime Uh, we a contrarial from what everything we've been doing in ffmpeg gstreamer or vlc We push base, right? We don't care about synchronization. We need as far as possible. Um, we raped vlc to be push base zero buffering So remove all the work all the hard work we've done on vlc to be extremely fast It's vlc is modular configurable at runtime. We've done an input streaming server, which is also Guess what push base graph oriented configurable at runtime, right? So you inject the configuration to tell them what they're supposed to do Um, and the networking stack is quite interesting because it's our base on quick, which means it's tls It's only one socket. Um, it's uh, both reliable and real unreliable So for those who don't know quick is uh, you kind of tcp light So the video and the audio are unreliable so we can drop packets Because we care more about latencies and having all the friends in order And for the inputs you care about being reliable. And of course we have some haptar q fec So when the conditions are great, we don't lose anything So this is more or less how it looked like, right? Most of these things are based on on vlc. Um, as I said, uh, everything is built in rust and under a gpm So what can you do which is what is interesting? We can do server support on windows on linux. We land with linux x11 macOS and android, right? Which almost no other solution in the world can do that even commercial ones, right? You have things like parsec who do windows and macOS team viewer only do windows But doing all that is very rare on the client side, of course, it's based on vlc So we have windows linux macOS android android tv chromebook ios apple tv and soon the web And of course because we are based on ffmpeg. We have amd encoding nv encoding intel encoding hardware Encoding for arm we use software encoders and because we are basically open source on codex We can do h264 h265 hcvc av1 and we can do both 420 and 444 high quality And we even have some neural network small enhancement filters that are running as uh pixel shaders inside vlc And as I said, we have all those use cases where you're basically either grabbing the desktop or the camera or frame buffer on hmi And all that is open source and the license is a gpl or commercial license. Thank you very much All right, shall we start? So hi everyone, uh today i'm going to show you quickly about how I added data from my solar installation into the system monitor So let's um do a little prologue here I paid like 40 euros a month in electricity before Which might sound insane to you or to some of you, but for job electricity prices That's not actually that bad, especially considering I work from home. So my pc is on like 24 seven So getting a photovoltaic installation wasn't really a priority Then something bad happened in early 2022 Which got people aware of dependencies of like energy and resources and gas and whatnot So I did get myself a solar installation And like any modern smart home appliance, of course it comes with a proprietary vendor cloud So there actually is an Open rest api one can use so over the course of a couple of evenings I wrote a qt based wrapper library to talk to that api So let's have a look at what it can actually do There's a beautiful k info center module which gives you historic data in a plot like consumption and load and photovoltaic grid feed and whatnot life data self-sufficiency versus grid use own use versus grid feed There's also a catered notifier because I'm all about notifications Of course, I have a notification the morning when the first 500 watt hours of solar were created Or when the storage battery is full in the morning or at the end of the day Once the sun has set it tells me like how much was produced and fed into the grid and how many Five cents I would have made of the power I fed into the grid and Like go start a dishwasher now the sun is shining, right? Of course, it comes with a cli tool so you can script things and do basic scripting conditions and pass jason and whatnot So you can have a system d unit which starts a service based on how much energy is coming to the solar system Which is quite cool. So like install system updates or run a yoke to build because the sun is shining And the coolest part of course is the k system starts plug-in because I guess you Have noticed our new system monitor and plasma which landed a couple of releases ago So it's very plug-in based and very modular. So of course, I feed my solar data into k system monitor So how cool is that you can have cpu usage displayed alongside solar power production It has the full flexibility of system monitor So you can put it in a panel put it in a desktop have graph after graph after graph and line charts bar charts pie charts everything So let's make a little demo So over here, let me move it. Does it actually Oh my goodness. This is plasma six git master Wayland. So cool. Let's do that. Um so yeah over here is the kcm So as you can see here is the k quick charts You have a little tooltip which gives you the legend of the Like values that you can see here over there is like the live data. So I guess the sun is shining at home right now if you hover over the live data, it also filters the Graph accordingly, you can also hide and show different values here There's graphs over there and then you can go back in history and see like The previous days and see when like the air conditioning kicks on at night periodically and that sort of thing So that is the k info center module and then if I can find my mouse cursor, I can also show you the system monitor let me see So that is the system monitor part So probably a cloud just passed by the house here There's the battery and the load. So probably nobody's really doing anything at home right now Oh someone just happened to turn on the oven or I don't know Started cooking at home. So that was Not planned, but I was thinking like texting at home. Like can you turn on the oven for the demo? But psychic powers, you know So yeah, you have the live data and then you can also do like the cumulative data So it resets at midnight and it then tells you like okay today We fed 22 kilowatt hours into the grid and consumed 4.35 um, so yeah, that is the system monitor So of course the question is oh, I should probably remove that Off we go. Oh my goodness Where's the mouse close that? Oh no. Oh no I exited the slide At least when I run Libreverse with whale and it doesn't actually exit when I exit the presentation. So that's good um So yeah, the question of course is why and with many hobby project. It's because I can So, um, yeah, I really wanted to write a little project from scratch Like apply all of the current programming best practices have code coverage checks and unit tests and from the get-go clang formatting Automatically generated documentation full reuse compliance all of that stuff from day one Just to show what can be done and like a one-person project It's not that hard if you start from scratch and have like everything like that set up from the beginning And also as a little demonstration how easy this for like third-party project to use kd stuff because it's like on github It's not in in vendor anything. It's just like a side project that uses kd technology But isn't really related to kd in any way um, so yeah, we um I have the library with like 2,600 lines of code So the the api isn't very complicated. It's just jason over hdbs something cute can already do You could probably do it with a python script But I was really going for the like a full kd ui experience with system on it and everything The kid for sender is just qml except for a little model to format the graph because k quick charts Sadly cannot do x y plot so the data has to be like spread equally Which to be fair is the use case of a cpu monitor where data comes in periodically. So that's um that I give them that Um As our users that k quick chart qml bindings for legends and the graphs and everything And the system starts plug-in was like 600 lines of code. So Yeah, that was really impressive and it even had support for what and what our units already So I could just to make use of that Which brings me to the kd eco effort like as a food for thought How cool would be if we had like infrastructure for installing software updates when there's sufficient renewable energy production happening in your area or Running ci jobs based on the sun or wind production or whatever, which leads me then to the biggest obstacle There's no framework for that. So this project is centered entirely around this particular vendor as a fun project Um, I have seen other people use like the rs 4 at 5 port on the back to hook into iobroker And that sort of thing to get rid of the cloud stuff Um, like with kd itinerary k public transport k trip and whatnot We have the word travel pretty much covered. I'm pretty sure many of you arrived here on k itinerary But for home automation, we don't really have much. There's like a plasmoid for controlling phillips u lambs, which is great But like there's nothing on the greater scale of like apple home kid or google home or whatever Um, so what this presentation basically tries to tell you is that we need something like I don't know k household or k matter for that matter Um, so yeah, I really love to control my window blinds at home or the air conditioning from my panel Like I can control my screen brightness or with plasmo by doing that from the couch Comes even more important. So yeah, if you found it interesting the code is stolen github So if you ever want to have a look feel free to Thanks Okay, how does that go? Well, no If you're not Okay, that works Okay, I'm Fabian. I work on qm qt. I work with qt. I work for qt And today I found a one question. What has qm l ever lent qm l and ever done for us? well In five to fifteen it was just a simple cli program and what could it do? It could tell you is that five qm l not that helpful But maybe prevents you from committing a file with missing parenthesis not like everyone would ever do that but who knows In qt five to fifteen we added a bit more support And it started to warn you about unqualified accesses of identifiers I could give you a 50 minute talk about set but I already did that kind of stuff on word submit in 2021 So let's keep it And even more important With qt 6.3 it actually became useful for more people because nowadays it wants about quite a lot of stuff Mostly about quick antipatterns And any kind of misbehaving stuff you might have in your qm l file Now what has qm l lent ever done for you if you don't want to run cli tools? Well with qt 6 you don't have to run it manually anymore Because nowadays we have CMIC integration and you can just run a target Okay, you might still they said still running something manually So you might want to run it in your ci And for that we also have support because we can generate json files with a separate target which just is checked with json Unfortunately, and that's the reason for the question mark below There is no trivial way to get that information displayed in git lab at least I can find it Otherwise you would have a nice picture instead of a question mark if anyone knows about git lab integration Please come to me And even if you don't care about ci because you move all ci mails into divinal with some people currently do So you can still benefit from qm l lent because the warnings from qm l lent also end up in qt creator and kate Just to show it for you You have below the Issue pane and you get nice annotations And I hope that in a few releases we even have support for auto fixes like we have in creator But you can just click on simple and it fixes color to the problem spelling um What else There is of course some question. What does qm l lent for kate and currently it does nothing for kd specific But we can change that here. We have Terribly broken qm l file because it says a cat in the sea that's terrible because in kate after all everything is What's the letter k? And does qm l lent help us here? No, it doesn't except I add a few more magic commands Then it starts warning us and I can even say minus minus six And well now we would have to refresh the file Now you can these that it will show a kate great. How does it use it? Well, it's a bit technical But you should write like 40 license of code and you have your own checks And the terms broken windows into great windows great windows of the k Finally besides verifying set file is qm l doing simple checks in your ci Doing simple fixes Turning letters from c to k You might still wonder what has qm l lent ever done for us At this point, I don't have another answer But we will have a boss on Thursday and if you have any good ideas what you could do in qm l lent to help you and your projects Come to me Thank you Yeah, right Great, I hope I can what possible screen Thank you Today I want to talk a little bit about a project that is in plasma 5.27 Called welcome wizard This is going to be a fairly short presentation So Here's a screenshot of What it looks like I'm going to introduce it real fast Welcome center is an app that runs on first boot when you first install a plasma system And it shows you a set of pages that give you a little onboarding experience. It does various things We can see that it helps you connect to the internet. It introduces some basic plasma concepts It can also be used to display release notes on upgrade things like that So let's look at a couple of pictures real fast Here is an example of the page that helps you connect to the internet This is a fairly basic thing that trips up some new users, especially on users who install a distro That does not transfer over your wireless settings from the live installer mode To the session it just helps you do that and when you connect it moves onto the next page automatically Here's a page for what happens when you want to see all the cool things that plasma does It gives you some buttons you can click on and you can learn about some plasma features Some that are maybe a little bit infrequently used or that you might not know about Just to give you a taste of some of the power that's available on the system that you now have available It also does a little bit of onboarding when it comes to getting involved in KDE So you can see that it tells you how you can find that information about contributing There are also a couple of other pages A couple of other things that it can do are it can display Pages that are custom from the distro too. So if you have your own distro you can insert pages into the flow So things like that The big question I guess is why why we want to do this because many of us are veterans of the The software development world and you know that welcome wizards and first-run wizards in general have fallen a little bit out of favor That's definitely true We in the vdg even have a wiki page that recommends against doing first-run wizards and welcome wizards and things like that But the reason we decided to do this was primarily because We had Some problems overall. We found that people were Using plasma and not really understanding some of the things that they could do We found that people often didn't know where to get help When it comes to things like turning on telemetry, which we have off by default And it's good that we have it off by default in general But people didn't know that there was an opportunity to turn it on So we wanted to show that in the welcome wizard to make sure that people at least got the opportunity to make an informed Decision on that even if that decision is keep it off. I hate telemetry, which is perfectly fine and valid Another thing that was rather important was Because we got some feedback from the fedora people that having a piece of software like this was important for parody With gnome, which also has a similar thing And there are certain oems that require something like this before A distro can be considered as shippable on their hardware and We all know at this point that getting kde software on more hardware is a fairly important thing for the whole community For the whole world for world domination And so because of that we need to have this so that we can actually be competitive there Um So all in all, it's a fairly small and simple piece of software. It does some pretty basic stuff I want to thank a couple of other people for helping to work on this with me Uh, I want to thank philipe kinoshita who started the project a while back and uh, Alesh who helped me a lot to implement some of the kcm integration I also want to thank oliver beard for doing a lot of stuff And all in all it was a fairly fun small project that I hope can make a difference in kde So now I will leave you with this picture of what it definitely is not Thank you everybody. Uh, the next talks will be in 15 minutes Roughly other questions for lighting talks I have just a little remark Maybe you did not yet think about that In the old Kde welcome wizard. We had a setting for disabling keyboard accessibility features combined with a setting that the Keyboard shortcut for enabling the kde The keyboard accessibility features was enabled by default That was a decision in order to Make it make sure that people who do need keyboard accessibility features have them from the start on and people who are confused by The gestures for Enabling those features Can turn it off I know that for wayland the keyboard accessibility still needs to be implemented, but maybe This way would be suitable for the new wizard Thank you for that question. Uh, that is a possibility One thing that we wanted to avoid with the design of this wizard Was asking the user too many questions and stuffing a lot of things in it In general, we think these days that it's not a good idea to ask people to express Preferences and configure the system in a wizard Because they often don't know how to configure things later if their opinion changes So the only things that we have in this wizard that are Configurable I should probably in fact stop calling it a wizard and maybe Move on to a different slide so we don't have a picture of a wizard here confusing everybody But the the whole idea was mostly to be onboarding the only two things we we Ask in the wizard is number one. Do you want to turn on telemetry? Because otherwise The data set that we get for it tends to be very bad because almost nobody sees it and nobody opts in And so it's a very small cherry-picked set of data and the other thing is setting up your online accounts Which is something that you tend to do once and then never do again So these are these are not really the kinds of things that you're going to end up changing There's an infinite number of things that we could put inside this welcome wizard But it's a question of scope, right? Like we could also put in initial keyboard layout to make sure that your keyboard layout works correctly We can put in time zone selection But I think personally those are things that belong in the initial Installation process. So and we have somebody who's very familiar with this right over there Um So in general those are the kinds of things that you should already have set up properly by the time you ever see this screen In my opinion So I have a question about the kyber thingy Uh Is it released? Uh, or when it will be released or or where do I get it because it looked nice, but It looked nice, but I don't know what else to do with it. Um, the thing is it solves me in it, right? I want to use it now as you've seen when I set up the demo. It's still quite a bit difficult to start and to to To fill always, uh, the source is available, but the the github is not public yet Um And but if you want to play with it, I have binaries just ask me I will give you binaries It's just at that time. I don't want to fully launch it because there is a lot of things I don't have absolutely the time to do any support. Um, so that's why it's it's not if you go on the matrix Academy talk one room. Yes Uh, I linked the source over there. Um, and if you want binaries Just for now, I don't want like to learn to fully launch it. That's all And another question for for for you for kiber um, do you Re-encode the video stream Um, so you were grabbing right so when you grab you take the full rgb So you encode it right so one of the difficulties to be it doesn't look that difficult But the problem is that you need to grab wait for the compositor to render Grab the screen and code the screen in real time then Send that over well modify that send that over quick on the other side decode Display and wait for the next visit, right? So, um in this case, yes, we we are fully re-encoding When we are in the case for for example where drones Or cameras then we can pass through because ffmpeg can pass through But most of the time we are re-encoding the good thing is that what we're doing with encoding is a bit More clever because most of the time people when you stream you stream in 4 to 0 because that's what basically what you have That's how the decoder is on your machine and on your phone But for any desktop work, it's horrible right because if you use Excel or LibreOffice you're going to see the artifacts. So what we do is that we run AI or smoke neural network that is very simple to Detect some of the feature on the server side and we pass some metadata to the client and we have them pixel shaders which are doing some sharpening depending improving the text And for that we need to be the ones that are encoding And and uh just a follow-up question like can you then do Um downscaling for example if you start at this place. Yes, I didn't say that we also support multiple People so you can be one that is controlling and there is only one that is connecting to machine just for the video and audio Are you on multiple cases? You could do something like twitch play pokemon where there is Inputs from 20 people who go then you go the average or that is developed and prepared for that. Yes I have a question for mate again Yeah, you just set that sat down If you could go back a couple of slides to the network setup thing Who's responsible for that image? Who in the sense of some distros make weird choices and Throw a different theme at it or put the put the panel on the side So that image is actually made in qml. It is a Fairly faithful representation of your panel. It is fake, but it uses the real components So if you use a distro that themes plasma by default with fluffy bunny You will actually see a fluffy bunny themed panel over there. That's awesome. Thank you I have a qml lint one just to keep people shuffling Is it Kind of supported or planned some like full formatting support like if I want Impose a certain indentation or columns or not in javascript or things like that Right, so that's not the task of qml lint But there's an acrobat mine too, which is qml format Answer lsp will combine both of them so that you get warnings and stability to form and stuff Okay, thank you Okay, thanks to all the presenters of the lightning talks Okay I know you're all tired I know it's been a great day But we still need to hear from some people who are very important to this conference We're going to talk about our sponsors No need to clap now because you will be clapping out for all of them in the long time We're going to start hearing from petrol from the kid company from the kid group. Sorry It used to be a company Come on up. I'll I'll I'll put on the slides as you come. Oh, you don't have slides. That's why they don't find them Go for it. If you want to use this Hello. Yes, it's working. Hi. I'm Pedro Bessa and if you don't know me Now I guess you do I work at cute Let's stop there So I work at cute and I'm in charge of the community initiatives so Yeah, if you have any questions concerns ideas things you would like to see things you would like to not see anymore Talk to me. Um, yeah, that's me. Um, write me an email. Um, contact me during the boat trip tonight, um Add me on linkedin if you're there Yeah So, uh, later this year we have on the 27th of november the k-dab training day and then 28 29 The world summit then the 30th and the 1st of december the contributor summit just, you know Google or Just search for it. Um, hope to see you in one of them Um jobs we are recruiting uh cute So if you want to apply just apply to a job Talk to some of us. Um We are like eight people here this year Alan, I think you're hiring, right Yeah, so Alan's hiring. So if you want a job like talk to him Um, yeah, we are like eight people here I think so if you work at cute currently, please raise your hand There you go. Those are the people you can complain to. Um Yes, that's why I brought them. Um And emilia is our new learning manager she's just started so yeah very happy for that Cute academy, which is Uh, emilia's project. It's ongoing if you have any questions ideas concerns as usual not me this time talk to emilia And we have some love sessions in which we'll be talking about cute academy. Uh, our learning initiatives About technical stuff that I'm not able to talk about. Um And yeah, I hope to see you there and that's it. Who is next? Thank you And tell us all about Good thing in all of your projects As I put the slides you can start if you want Okay Do you have my actual slides? Yeah, they were somewhere Let's find them. I'll find your slides Sorry Um, okay. Hello everyone. This is my first time in the conference Um testing. Okay. Um, yeah, I'm here to Topics by the way, uh for those interested in Knowing more about the codevis Project tomorrow we will be doing a bof thing as three three So join us It will be very Interesting to share some ideas and hack the tool and break some stuff Um, second topic is coaching um I've been working at coaching for A little bit more than an year Um, so yeah, we are hiring Software engineers and DevOps Uh, I was supposed to give like a talk about coaching But I feel like I don't know everything about it. So what I did instead is to put out some Project that they did over the past years. Uh, we have I don't know some medical kind of stuff automotive Financial Software, uh, we had plenty of language c++ python So if you like those kind of mixed things going on, uh, Maybe interesting to apply or taking a look at our positions Um, I had the link over there And Yeah, that's about it. Thank you We're kata the two of us only that's There's a few more. Um, we've been I checked, uh, we've been sponsoring academy for at least 10 times and I gave up because I couldn't find more academies So far, uh, we are happy to uh sponsor academy. We will probably sponsor academy next year That's it And um So both nunu and I will be giving trainings on thursday. So just wanted to say that right so we are also here for you So we're a bit doing trainings on thursday Yeah, right So thanks for everyone for talking very short because i'm probably going to be talking a bit longer today So, hello everyone. I'm very honored to be here for kady academy representing kananakal and tabuntu And today I'd like to tell you a little bit more about the community team at kanana So i'm philip. I'm leading the community team and so this is the vision that I have put up I'd like to nurture a thriving ecosystem Where our community members feel valued engaged and are able to make quality contributions Towards the shared vision of success for ubuntu um But what does that mean? I see ourselves more as part of the ubuntu community. It's not like, you know We're sitting there controlling the ubuntu community and Everyone is kind of doing what we say. We see ourselves more A part that is building connections across the world nurturing discussions and Providing some inspiration on how to improve So since there's been some team changes, I also wanted to quickly introduce my team There's myself Also, erin prisk joined recently. He comes from a very extensive background in education And is currently focused on improving our community documentation and building some local communities So if you're here in greece and would like to build the local community in greece He's a good person to reach out to Then we have maro gasmari. His focus is on our communication infrastructure And of course the ubuntu summit happening in november in rica And if you ever have a chance to talk to him, he has so much energy. So definitely use that opportunity So they're always open for a chat, but there's one more position open on my team And we have a few other ones open as well. So if That's you then that might be the next one So now is that actually enough to manage a community of communities like any linux distribution really is Most certainly not so the real team the real team is all of you Everyone in this room and everyone out there online is helping towards the ubuntu community It can either be by contributing to kde or one of the underlying technologies Using that knowledge for kabuntu or ubuntu studio one of the flavors that use kde as its core Or if you're a student beginning your journey in open source and contributing to linux distributions like ubuntu So all of this can make you part of the ubuntu community All of this can make you part of the open source community for those of you just getting started This is a great kickstarter for your careers Going over kde's goals. I've really noticed a recurring theme There is a desire to attract more contributors For quality assurance for applications and really a lot of other areas And that passion that contributors are bringing in is the driving force behind The brilliance of kde So collaborating with other open source communities Opens up those avenues to share that passion that you have very broadly and also learn from others So with the close ties of a linux distribution like ubuntu and a desktop environment like kde That increased collaboration is a fantastic way to discover the next rock star kde contributor So how can we enhance that synergy? Become a kabuntu contributor And a bunch of studio contributor Or I work with canonical and maybe join my team So together we can build that next stronger and more vibrant Open source community together Thank you so much Thank you canonical At github here Global Hi Jeremy I'm the representative from Collabra today Emile will come monday. Anyway, there's I've worked there since 2010 I like it. We do cool stuff We work on cool stuff. There's over 100 of us. We Have a meetup every couple years. We just had our last one in may in portugal And we do cool stuff. We work for Bosch. We do some projects for Bosch on automotive and And we do some lava labs for google and Chromecast and things like that And we do some stuff for g health care for their heart monitoring systems and whatnot I'm not sure what we do for linux foundation. These slides are given to me, but we do stuff for them, too We do cool stuff we do lots of different things. We have four different departments. I think uh kernel department their core department Like a ci type lava type department and a graphics department where they do lots of stuff on weyland and things like that for various companies and hardware vendors We do Cool stuff. Yeah So and we're hiring so come work for us Thank you Hello, my name is Taffes. I'm on the organizing committee here I am also one of the founders of the open source community within the university. That's why you are here tonight I'm not I'm not the typical Students here age wise That's why because I make a career change from medicine to informatics I'm here to represent open source Since I was the one of the two guys that reformed the open source community here in Greece In 2010 I think yes and in 2013 we had the first open source conference Not in erberg, but outside the central, you know offices here in saloniki You can see our locals here If you need anything from any information you can find me outside We would like to thank KD community for making such a great Software that we are using that other distributions are using We would like to thank also the KD organizing committee For this awesome Conference, we hope to see you next year I guess we are going to sponsor the next year also. That's not me but Doug. So That's it. Thank you very much Kevin Tell us all about All right. Hello everyone. So my name is kevin otens. I've been around the KD community for the past 20 years or so Um, and I'm working for uh, anyoka, uh, uh, so we're doing services So we're doing development Uh, also consulting, um in with plenty of different ecosystems Obviously, there are ecosystems we like more than others. Um KD is definitely one we like More than others Um So if you got projects related to KD or not, we can talk to me Um, so we're doing development. We're also doing, uh, ux design for our customers and We since we are I think the fancy word is polyglot developers Since we are polyglots we have a strong focus more on engineering architecture and quality And due to that we also have the odd consulting gig For those type of situations, but we also do trainings which are focused in that directions and also coaching, uh, tech coaching for People who are developers and become lead devs for instance, and they need to get into the role So that's the breadth of what we we do currently We're also hiring currently. We cannot hire roads. So we're hiring as long as you're within the french borders If that's your case, please come talk to me as well, uh, I will be around tonight Thank you So, hey everybody, um, my name is Alexandra, but only I'm from x tally. We are sponsoring this event That's why I can bother you for three minutes today So thanks for your attention. Um, right. So I'll talk to you about a bit what we are doing. Um, x tally was basically launched in 2019 in cyprus Main focus was to offer cute consultancy services In that same year, we, uh, hosted the first, uh, conference about cute in Athens, Greece I was a really nice venue in front of the ckd was actually there as well. They presented the plasma phone. So it was really nice In 2020 we decided to expand a bit so to actually bring, uh, the smart products development on our portfolio And since then we basically continue adding, you know, just offering cute consultancy services As well as working on our own smart products development So the set lines of businesses to consultancy services and products When it comes to consultancy services We try to be as open source as possible. That's not always, uh, possible. So That's more or less the tools we're using. We offer also ux ui design. So we worked on embedded and applications development prototype development as well as doing cute camel trainings in English spanish and greek at the moment When it comes to products, um That's basically our current one. Hopefully it will be launched later this year. I cannot talk about that more So you can feel free to be tracking the progress Um, you can find us in the u.s. In st. Petersburg, florida. We have a small office there as well as in necosia cyprus But basically we work remotely You can also find me here. Um And uh, it's not public yet, but we are hiring so feel free to either send me an email directly find me or LinkedIn or just catch catch up for a beer or whatever. Thanks Thank you, alexandra We also have a few, um Sponsors who couldn't be here, but I still would like to, um, remember them. It's limbook Taxido and pine 64. Thank you very much for supporting academy Looking forward to working together once again and looking forward to having you at academy, uh, soon enough Also, thanks to the university for holding us and thanks for to all of you for For listening to all of our sponsors Um, soon is the closing but not yet because there's the awards coming up now. So please last year awardees Come up to the stage and do your thing Your thing Somebody go hunt Sorry too bad Where are the awards? Okay, we need a scavenger hunt here. This side finds, uh, what this sign finds harold It seems like Maybe this year there's no awards I wasn't prepared for this Well, come up. Come up. Be ridiculous up here with me While somebody else is gonna bring them, right? Didi go find the awards You do all of these scavenger hunts Please no david redondo is gonna come up and tell us a joke If you're not coming up, I'm coming to you All right, we're lucky. I didn't hurt myself now I actually overheard a great show by kevin otens earlier in the day Oh, it was a chopper beast. Oh, okay It goes like how many Germans do you need to spoon a light bulb? Only one we are fishing and no no fun Does anyone or anybody have a better joke than this one? The German side wants to reply there So how many kitty e-developers does it take to screw in a light bulb? None. It's a hardware problem Yep So how we found any awards? Yeah That's that's for granted Hello, thank you My dear friends Who of us two should be the one looking pretty and who of us should be the one doing the presentation? Yeah Both look pretty And and nobody say anything So it's just a matter of minutes perhaps hours until the awards arrive and we can get this show on the road I don't have any Oh, Kevin kevin wants us wants to tell us a joke. I wanted you to tell a joke So you would have a bad joke instead So that's two eggs in the fridge There's one who turned to the other egg and he's like, why are you all brown and furry because I'm a kiwi moron Thank you. Thank you Now I feel cheated you promised a bad joke and everyone is laughing Well then ladies and gentlemen and others um, it's time for the academy award and I think I need to drama the suspense a bit. So you see 10 years ago The application award goes to milian wolf and the hip track team for hip track Okay, so the non-application contribution award goes to hannah Do we have I thought hannah was here? Please come on the stage Hannah von reth Uh, to be honest, this is my favorite. Um, the jury award goes to johnny. I am very bad at pronouncing names So I can't pronounce his last name. Sorry for his work on season of kde and GSOC And we have another award. It doesn't seem to want to end agony agony. No, this one is a special award it's The one that is dearest to us because there is the organization award that goes to the open source team of the university of macadonia and the whole academy team Hey Can the organizers come up here? They're always laughing because I always grab the microphone Uh, this is the first time this event is uh taking place in greece So this is a very special honor And pleasure for us to have welcomed you here at the university Uh in a very hot the salon niki Thank you so much for being here on behalf of the whole university I am speaking now the rector of the university the vice rector professor ilexandros had this dimitriou had your view Who is from the department of applied informatics with Whom you have coordinated The to this year's event I It's an event that is a product of Very successful collaboration. I have to say excellent teamwork Thank you so much kd. Thank you to all the members of the kd Thank you All all the people from the open source Stathis and I want each one of them to say something please Stathis Thank you very much. Thank you very much next next. I'm so glad to be here. It's actually my first Open source conference. I'm glad to have actually seen what is going on here Like I would only see stathis post where he goes everywhere and I'm like I want to be there And now I am Hi, yeah, I'm just very happy that it turned out great, you know all of those meetings in the end, you know We're worth it every week And yeah, I'm just glad everything is like amazing. Thank you all for coming and yeah, thank you I'm glad you're all here And thank you very much And it's also my first time I'm George. Hi, and this is not my first kd academy. Honestly, I was in Barcelona last year, but I think it's getting better every year. I really liked it This year and thank you very much for the award. We weren't expecting and Yeah, we really want to come to you the next year Um, hello, I'm a hundi. So I will not say much because I feel I'm gonna faint So thank you all for coming. I hope we you had a great time and thanks a lot for this award We totally didn't expect this and thanks mariette for helping us with everything and thanks yanis also for helping us Yeah, I want to thank my colleague yanis. We work together at the office I want to thank my colleagues technicians sound technicians thomas and michaels To help you throughout this conference. I want to Say thank you to my colleagues from the computer center And lisa will also help you With all your computer issues or contributed in every way the the whole group of the volunteers We had about 20 volunteers. Was it? Who have helped in total? Okay, so so much. Thank you I hope you have a great time at the seleniki and hope to see you soon in a next academy event. Thank you So, um, yeah, thank you very much You can come down if you want or you want to stay up. That's fine, too so the talks have been uh, the talks side of the academy is is over I think that it's been a great couple of days of very interesting talks I'm sure you'll agree with me and the way you have to agree with me is by giving All of us a great friend of applause now I think that we can all be proud that we can we can have these these spaces where we can like teach each other about the great stuff, but also like Be friends being friends is something that is not Always the case right and and we get to do that in kb and I feel blessed for it Um, but that was only the first couple of days of of academy the maybe more intense if you want Or or not so much because we're gonna be having a bunch of stuff First starters this evening. We have the social event. I just hear that It's it's full. So if you forgot to register your out of luck or maybe find somebody who cannot Make it and did register, but you'll need to like negotiate that with someone else Um No negotiations none You need to be there at 9 45 if i'm not mistaken. We will be on a boat. It's gonna be great. There's gonna be some food some drinks Uh, and it it's supposed to be very much fun Um, tomorrow as well for those of you who are kdp members, we're gonna be having our assembly. Remember to be there at 11 Uh, you make sure that you know who your proxies are if you know of somebody who should be there and it's not Tell them to proxy We will be on the talk room number two. So, uh, across the hall you've all been there over the the last few days, um For the rest and actually for the rest of the week, we will be having buffs buffs in our sessions where we sit together and we talk about what we're gonna do Over the next following months, uh, we will be having the rooms One to four on the first floor. So there's that Well, it's um We're gonna have a wednesday day trip, um The bus leaves at nine But in any case, I think that's uh, more or less what I wanted to to tell you all Thanks for being here and stay and work with us for the rest of the week. Thank you very much for for coming and See you later on the boat