 I'm here to talk about your Plasma Desktop, quick recap for everyone who doesn't know which window has focus. Okay. Ah, it's upside down. So, what is the Plasma Desktop? You've presumably, everyone in this room, seen it. It's this. It's the desktop and the panels and your widgets and everything visible. It's everything to manage your windows about, your applications, and also everything to configure your system from your hardware. There's a lot of background services, so all your different keyboards, layouts, configuring every possible setting, and we're known for having a loss of possible settings. So, all of your system configuration. And also on Plasma, there are a lot of background services that you don't really know about but take for granted, making sure when you close a lid, your computer suspends, making sure when you press a volume up, your volume goes up. And it's these little things that make quite a bit of a difference. And in terms of code, it's a roughly evenly split between each of these four components. Although, for goodness sake, known people are here to infect our talk. Equally large size of our code is all of the style and integration. We have styles and integration for not just Qt5 and our applications, but also backporting out to Qt4, backporting out to GTK2, GTK3. And also, if you look through your code, we support TK. We export all of the colors used as X resources databases. So, TK applications will have some level of style and integration. I don't know how much that's used, but we try and integrate into absolutely everything under the sun to get a consistent experience. So, overall, Plasma is everything that puts you in between a black screen and any application, no matter where it is, and being able to use your applications. So, last year I sat on a stage very much like this one, but not this one. That would be amazing photography. And I talked about three things. I talked about how a desktop is still relevant, because there's a lot of hype about mobiles last year. And I talked about how Linux is still relevant on a desktop and how Plasma is in a good state, but a potential is bigger than what we currently have. We can improve a little bit to reach out full potential that we have available. So, what's changed in the past year, in the past 12 months? That's what I just said. Desktop usage. I managed to find a new slide, updated now, including 2015, shows how many hours are spent using a desktop every day. And, with our new entry, it's exactly the same as the year before. There's no real sign of it waving. If anything, it peaked in 2011, but that's just an abnormal blip. A desktop isn't going away. There's no signs of it going away if you look at stats. If you look at percentages, yes it is, but that's only because people are spending more and more time on mobiles, not at spending less time on desktops. So, Plasma is a desktop still relevant. In terms of Linux market share, fancy quote taken from Slash. Slash. are all-over-loving Katie and Linux. Linux desktop now accounts for 2.48% of everything in June, and that's not including Chromebook. Did quite a lot of research in checking out. Chromebooks don't identify themselves as Linux, for some reason. So, Linux overall has increased over the past 12 months. This was roughly 1.9%. Now it's steadily nearly 2.5% of all users. And in terms of absolute users, that's millions. Any company would be pleased to have that many users. Obviously, that's not all Plasma. It's probably 99% or so. Yes. This is time spent in hours on a computer. Blue is desktop, green is mobile. Yellow is, who knows? Foglio's weird key, obviously, fine in shopping centres. But desktop still relevant. Linux on your desktop still relevant. So, what's changed in Plasma over the years, and it's a nice montage of all the different wallpapers we've had. It is the main reason these slides are here. So, we wrote the main key menu. That got completely rewritten. Visual theme got refreshed. Restored the super old legacy icons. And we had four brand new applets arrive in the Plasma 5.5 release. Warm to show how much this space is used if you have quotas enabled on your system. Next Dominic. A colour picker for quickly finding what colours used in the awesome backgrounds. Being able to switch between users. And also being able to switch between activisers quicker. Lot of things improving your workflow. And of course, work on well and support. So, what happened in 5.6? More improved workflow. Again, that's really our target because we're trying to put you to your apps as fast as possible. So, a task manager gains some features. It shows progress in your task manager so you don't have to open the application to find out it's not finished yet. And you don't need to open your media player just to go on to your next track if you call it on random and it starts playing Britney Spears in the loop. Or you can go back and listen to it all again. And this work on well and support happened in 5.6, continued. And we had a new applet, a weather applet got restored. So, we're back to pretty much most old apps we had, plus new stuff. Plasma 5.7 continued rewriting everything. A task manager back end got completely rewritten. Task manager being the bit that's normally at the bottom by default shows which applications you have. Your system tray at back end got rewritten. And we improved your workflow. If you know K-Runner, assume everyone does, you type and it shows you search results so you can type anything you get results. And that got improved your workflow so you can jump directly into a specific activity within an application. Oh, and there's some work on well and support. That continued. So, 5.8. It's got a rewritten back end for your pager. There's lots of rewriting. Most are legacy code from Plasma 4. Once you know what you want the code to actually do, then you can go back and rewrite it. And that's something we've found on Plasma. It's things we've built up with adding new features. And it comes a point where you have to say, oh, now we know what we want. We can redo it again. And this time basing it directly on knowing we'll be in Qt Quick and we'll be knowing we'll have new features. I've got new things for if you switch between different themes, change the layout of your desktop. And oh, there's some work on well and support. So, your general themes over the past 12 months, because we've had those four releases, 5.8 is just about to come out because academy is at a slightly different time. There's been no dramatic changes. We haven't had Qt 6. And there's been this continued iterative improvement. So, everything's always getting slightly better, but not getting worse, which is always a good combo. And it was improved well and support. So, coming up next, 5.8 is an interesting twist on it. Now we're going to have long-term support. So, instead of just having three months of patches, it's now going to have 12 months of patches. At least 12 months of patches. 12 months of patches, 18 months of support. We'll see how it goes. Something that we've not really tried before, even in plasma 4 days when we're dealing with six months release cycles, that was not as long as this. This is twice or three times, if either of that. So, that's going to mean interesting times, but it also brings in new opportunities because we found one of our particular distributors, and I think you're going to find in Munich that you want more in three months of support because you don't want to grow up upgrading every three months. And it's really a sign of maturity that we're now able to say, we can offer 18 months of support and not get too stressed about it. If we did that for earlier versions of plasma, I don't think anyone of us would have been as excited. We would have missed out on a lot of Wayland support. But Wayland is not part of the plasma 5 long-term support. 18 months being long. So, with any slide presentation, it's always good to throw in some stats because it shows I've done some research. In the last 12 months, 194,000 lines have changed, which is quite a lot. Over 8,000 commits, which again, so quite a lot, averages out if my maths are correct, 26 a day. But including anything that was in, a branch and then merge into master. Get a short log, basically, on a master branch. And this is something I think is quite encouraging. There's 146 different contributors in all of the plasma work modules, in the past year. Only in the last 12 months, but it does include scripty, which is a bot. But scripty is one of our best developers. So that's an encouraging sign. It shows that plasma is alive. It shows 145 different people were able to set up plasma in a development build and start contributing changes. And that's probably the biggest challenge we have on plasma is to set up to begin contributing. So it's not a bad state. Own cloud in its peak was around 300, but in other projects which are successful and they have considerably less. So it could be better, but definitely not bad. Not bad at all. 1,082 bugs marks has resolved fixed. So we've actually made a change to close something. We haven't just said, I don't care about your problem. We've made a change and fixed 1,082 bugs, which is pretty encouraging, because I don't think we've introduced anywhere near 1,082 bugs. And overall we've closed just over 3,000. That's including solving people's problems without a code commit, maybe pointing them in the right direction or it being a duplicate or in some cases, disagreeing with the user. But I still want that increase, but it shows generally things are going quite well. So on to talk a bit about what makes writing a desktop hard, because we see quite a lot, particularly over the last couple of years, of new desktops coming along and we're going to be a great new desktop. Why is it hard to write a desktop? Well, you have integration with completely different distinct components. If you write an email client, you're going to be an expert in IMAP and maybe SMTP, not a lot of things. To write plasmer, we need experts in pulse audio, we need experts in system D, we need experts in spell checking for your word completely and spell checking. Again, you have all of these different layers that come in and require different skills from proofreading to reviewing, but also all of these different libraries and the problem of the more things you depend on is this big chain from any graphic driver to your spell checking libraries and we have an abstract layer over three different ones, or in my case none. We have all of the different things and if any one of them fails, plasmer seems like it sucks. We need people with a wide variety of skills and that's hard to get. That's more external dependencies both explicitly and implicitly in most other pieces of software and that makes writing a desktop hard. I want to tell a story of something that happened over the last 12 months with this ridiculously old legacy support for many, many systems. One example is accession management. Accession management is a thing that restores your applications and it was an old protocol that we dropped from client side at the start of KD2. It's so old that it's predate to Spice Girls. It's a point of reference for most things and we don't need any more. There's no way we need that bit of code so we dropped it because of the cleanup and in theory any application should better speak a new language which we support. One month later we ended up putting it back because applications still used it and we got reports on it and that's something nearly 10, 15 years old that we still have to support. At the same time, we've always constant new things to support. System D decided to change its behaviour of what happens when you close a lid. Previously plasmer handled it. It was plasmer job and plasmer could check and decide, oh, I'll shut down or the user said they wanted to stay open. But we have a new code of path that decided no, I know best. In fact, it's true of most of new system D, log in D and we've got new graphic changes. We have the way to support. We have the new things and we have this legacy old things and that just means we're continually growing and growing and growing and that makes it also very hard to change up. So Dave's definitely correct opinions on the future. So it used to be a rule of thumb in computing that every... I don't want to say how many months now. See, I thought it was 12 and every 18 months, the speed of a computer would double and that lasted true for ages. That's kind of stopped now, particularly on the desktop side on backwards. Now we have this demand for... this particular computer here was given away free on a magazine in the UK. Not an increased price of a magazine, it was free on the front of a magazine, a computer. And that's now almost a standard and it's not faster. Users aren't getting faster and faster hardware, they're getting cheaper hardware and expecting our software to run on it. So our normal expectations of we can use these new things, we can increase in memory and RAM because computers allow it, we're actually going backwards and if anything, we're now trying to support computers with less resources than we were a couple of years ago, which is interesting. And Android desktop is definitely coming. We know it's coming in a couple of years. What impact is that going to have on plasma? Is that going to take away some of our users? Personally, I don't think it will. I mean, I wrote some software to run up Android application on a desktop and really there wasn't much demand because anything of an Android application also has a really good website, which normally works better. And I think it's going to take away users who would otherwise switch to Chromebooks, taking away a Windows users because we kind of have a market of nerds that I don't think are changing. But it's something to be wary of. It's going to change the shape of desktops over the next few years. And one thing that's big to talk about is a slash that article recently, KDE is dying. And that's not true in terms of a community or just showing plasmas doing quite well. But we've had the marketing changes. There is no KDE anymore. We have a distinct plasma, we have the applications and we have the frameworks and they're pushing in different directions. And this is good. If I wrote an application, I would want to try and reach as many people as possible. It makes sense. However, it changes the way we think we do things in KDE now. If we had a new idea for creative tech, like activities to some extent, or a remote file system, we can't do that at a KDE level anymore and then just change this entire suite of applications to match. For two reasons, partly because our applications want lowest column and denominator to run everywhere, and partly because our plasma users a lot of the applications they use now are now in the web. It's not a KDE application for doing every single task, even playing music, you do it in the web now. A lot of people, a lot of tasks straight into the web. And we have limited control over the two big web giants, Firefox and Chromium. And that changes the way we do things in plasma means we have to target slightly lower levels. When we're seeing out now, Phonon did some crazy ideas of how sound gets rooted and we did that at a library level. Now, we always saw in 5.7, 5.8, we're improving our... talking to pulse audio, which is at a slightly lower level beneath KDE and we're plasma is improving our integration now. And that's not necessarily a bad thing. It improves desktop homogeneity, desktop behaving similarly. But it's a change that we're having in plasma. So, wrapping up conclusions, a desktop is still relevant. Linux is still relevant on the desktop. And plasma is in a good state. Over the last 12 months, we've seen very encouraging changes. We've seen a good amount of contribution. Things are heading in a generally positive direction. But it still has more potential than we're currently reaching. Yes. Oh, and there's a little microphone somewhere. In case I can't hear you. So, what do you think we should focus on at a high level? Dropping, not dropping things. It's like a tendency yet. Focusing on a high level, I think there's been a theme, particularly stuff Kai has done on getting you to your applications. I think that's very important. Or a jump action changes. I think that's very important. And that's very good. And one thing I think we'll see. One of my favourite applications that I use is something called Nevolva Player. And what it is, is a web view. But it, by default, loads either Spotify or Google Play Music or Deezer. And it has a very, very tiny bit of JavaScript that turns Empress into irrelevant changes on your desktop. So all of the plasma functionality, all of our application integration, still works even though it's a web client. And I think that's something that, over the next few years, something we might see in various other applications, is something that we can control and it allows plasma to be useful to people because it's getting them to their content, no matter what platform it is, because we used to do that. We used to get people to their content, even if it's on GTK. We need to focus on getting people to their content even if it's on your web. And our bookmark handling code in the start menu and runners, that hasn't changed in 10 years. And there must be room for improvement now. There's still the data integration between the desktop or the workspace and the applications. Agree? We can do a lot better there. I think that everything around that works pretty well. We can do more to poke into applications and no metadata. The dynamic window decorations that some people may know can actually play. It can, yeah. Two questions. I think the mic... Oh, yeah, now it's working. First question, was that presented on Weiland? No. Second question, did the bug numbers include the recent bug closing sessions I did? No. Then every number, probably 100 up. OK, Martin wants to show off how good he is. I know. Yeah. Ken's got a question. I don't know how long I've got. If you had like a million dollars and you could just pump it into a few things on plasma, what would you have people focus on? Well, swimming pool. Um... Now, it's a tough question. Yeah, I mean, yeah. Auditing of our code is important. I mean, we're going to see Weiland allows applications to be sandboxed. However, that's only as good as the surrounding software. It doesn't do anything by itself. It requires our software to match. And it's not just a Weiland part, because as Weilands is secure, we can no longer use the excuse or if it's insecure, we can't do anything. And we're going to see the weakest component get shifted about, because the weakest component is not X. I mean, the weakest component is now this, which means the weakest component. After we fix that, there'll be a new weakest component. I mean security auditing. Security auditing requires expertise that is new, and it's not a very fun, sexy task. Anyone else? I have a question from the perspective that we're looking for. We have a lot of Linux users, actually almost everybody in the company is using Linux. We are probably one of the few bigger companies where everybody, including sales people and management and so on, are using Linux desktop. I think my company probably has the same. That's perfect. What I'm saying is we have a lot of enthusiastic Linux users, and we also have a lot of enthusiastic KDE users. What I've seen over the last couple of years is that people have switched away from KDE. What I hear is the number one reason for that was almost always stability. It was never a lack of integration with the web or lack of new features or lack of whatever. It was mostly about I updated and something stopped working, so I switched to something else, whatever it is. My question would be on what position is stability in the list of the priorities of the Plasma team? As a team, there's obviously lots of different people from lots of different influencers, so I can't speak on behalf of everyone. I'm not going to tell our contributors to stop working on new features because we want to do this. Personally, I mostly do bug fixing instead of any new features, partly because that's part of my employment, is working on making sure my boss's distribution is awesome. Everyone should use Netrunner, no offense. Within that, it's something I strongly feel about. We've got a Plasma LTS, which obviously you guys influenced. That's going to help, I think, improve our perception. I like to think we're working on it. Obviously, we only see how it acts in a couple of years. Also, we are losing communication between the different aspects between frameworks and Plasma and applications, and that can be difficult. Yes. The important aspect is that we... Actually, we've been going on for about half a year now. We have very, very recent builds for both open source, but also based on Neon. And for me as a developer, that makes a big difference because I don't have to wait until it's too late to get feedback. I can get it the next day after I fix something. I can't stress how important that is to me, because our software distribution mechanisms, they suck so badly. But imagine a user installs a half-year-old release of OpenSousa. We get feedback. Okay, it's a version which lets say 4.7.4. So we got one more chance to actually put a patch in a stable branch, which is still never going to be shipped by OpenSousa. So that's not helpful for us. So either we need to get the distributions to ship at least our stable updates or preferably even more updates, but we need to improve our stability and quality and progression problems for that or we need to be better with testing that beforehand. The truth is probably somewhere in between, but from my point of view I can say that it helps a lot to have daily builds and people I can actually point to something concrete they can test and not say, I've committed a patch and the next time we talk about that so I guess that's going to have an impact. Or 18 years. Can I interrupt for a second because I'm on a stage? It's still nothing. But it's also six times longer than what we did so far in the five seconds. We're getting a lot closer. We do have a plasma buff starting on Monday in the morning and you can find that on the academy website. So I also want to just answer the question from a CWIN perspective. So one would expect that for example all this wayland work goes into while the code quality goes down but the opposite of the case because we are now able to auto test what we were never able to do before and I've built up a test coverage of the CWIN core of now 10% probably higher because builtkde.org cannot test everything yet and that's just it changes so much if you are able to, oh I have this weird condition if this window has this X property and that one set then this code path is taken and now I can simulate everything and so the quality goes up thanks to Wayland for X on X. Because we could never reliably start a full featured X server in an auto test situation and now we are doing it all the time. I actually do it 5 times in the same auto test. I just want to reply also to you and so from a blue systems perspective this is the number one priority. I always tell the employees working on Plasma, Plasma desktop, the parts that we have to stabilise the things that are there first before we introduce new things that are half baked and this is not because of Netrun and Netrun is the highest upstream but it goes for DB and Ubuntu, neon all the stacks in between so I always am very glad when people report that they have much more stable version on SUSE or on Chaos, Manjaro wherever Plasma is used so this is the most important form of blue systems perspective. Mine was just a very quick remarks again about the stability issue and the perceived quality problems. One of the problems that often happens is not of course not the only one but there are also problems beyond our side also on lower levels of stack it could maybe drivers, maybe X11 maybe cute but are things like this one that we are in this moment a conference like that that we are all together that we can we can sit together also with the people that you usually don't see that are overseeing those lower aspects and see what we do improve so if anybody has some issues it's those are the proper days for to be addressed. Okay thank you more questions that's it okay.