 So, hello. Long time no see. I welcome to the, oh, talk. Or Oxygen Square or, I don't know, let's call it Oxygen Square. Long time no see. So the last time I gave an Academy talk, I was checking. I think it was in Gran Canaria. That was like 13 years ago? Something like that. I don't remember. But yeah, it's quite a long time without talking to you guys. So, okay, it's great to be back. Great to talk and see everyone. And maybe let's see how this goes. Okay, so me. My name is Nuno. That is my email for things non-KDAB. I have another email for KDAB things that is just like that one, but with KDAB. Who am I? Okay, so I'm a designer. I used to be a civil engineer. Then I started doing things with KDE, just using it. There were a couple of icons that I didn't like. I made new icons. People liked it. And 20-something years after, apparently I'm a user UX, UI designer. I do QML, lots of things. And lots of things KDE related. I used to be way more involved in KDE when it was on the first days of plasma and the oxygen stuff, which I'm still the current maintainer. Not the best maintainer, but improving on that. So, yeah, a little bit of experience on KDE. And hopefully most of you guys know me or heard about me. But if you don't, just bury me. So, this talk. When I was thinking about doing this talk, because last year I announced that I was going to reboot oxygen and do something around it. I wasn't too sure about it. It was mostly a collection of ideas that I had developed over the years about what I could do next in this space. And like all good ideas and all great plans, things fall apart. They don't go according to your plans. And this talk is a little bit about this process. This here that is past. I want to talk a little bit about the objectives and ideas that I had for oxygen squared or OO, the reality. And I think that it's also interesting to talk a little bit more generically about what it is to design in an open world, what is specific about it. So I have some, I would like to share some ideas around that. Okay? So, a couple, even before I say this, so the reason, maybe talking about a little bit of the reason I started Oxygen Squared, back then a year ago I was in a rough place. And I decided that it was about time. Almost 10 years have passed since the end of former oxygen. I thought it was a good idea to start to start again. And maybe find one thing that I want to mention here, the the ephemerality of designing an open space on the open space and designing for big projects like eddy. When I was designing, when we were designing, not me alone at all, oxygen, one thing that was fairly obvious to me is the transient nature of it. And I knew all from the beginning, since the first meeting I had with the guys that it was something that was going to last a few years. And then it would be trashed. Because that's the nature of design. It's not like the best code in the world might live for a long, long time. You maintain it. It's really good. You build upon it and it moves on and keeps on being patched and improved. Because the validity of the code itself remains. Design is not like that. Unfortunately, design is a product of time, of its time. And it's meaningful while it retains some today, some relevance to the today where it's been used. So for me, it's always obvious that oxygen original was ephemeral and it was going to end up in a day. So when the time came and it was mostly when a new cute was lurking in and I knew, okay, a new plasma is going to come out and KDE is going to come out, maybe it's a good idea to kill this and or stop it a bit and see what else the nature of design creates inside KDE. And amazingly, things work out really well and we have praise today. But yeah, I wanted to mention that designing, that's just only for open source, it's a little bit everywhere. But on open source, we do feel the ephemerality, ephemerality, my God, I should have used a better word of it. So what's the point? What's the point of doing this thing if it's do and thresh away? And to me, it was, well, the fun of creating it. It's a lot of fun. I don't know. I feel the urge to, I always felt the urge to draw little things and communicate and do something. And it's a lot of fun. It was a lot of fun to do oxygen back then, especially because I didn't know anything. And just getting the feedback and giving back to other people in KDE and that were doing that amazing work and I was giving back and getting communication from them. That was a lot of fun. Also spreading my edge. There were little things like, KDE was awesome. I love KDE. I still love KDE. But there was these little things that if you can't fix it, it will be perfect. So I started scratching those little hatches that I had that just a few, because it's almost perfect already. If I fix one or two things, it's going to be completely perfect. Yeah. And so that was one of the reasons, working with great people. It's amazing the scope. And I can't stress this enough about doing design in an open source, is that you get two things. You get to work with some of the most brilliant, smart, good people I've ever met. Some of my best friends, I met them through KDE. My work started right from KDE. It's an amazing experience. It gets you a range of experience in the design space that is really, really hard to find in other areas in professional work. The type of problems that you are faced when doing a complete desktop design is something that most designers don't, in their entire life, in their entire career, they don't face those sort of questions or problems to have to solve. So it's amazing. And the baggage that it gives you as a designer is great. Slight problem. It's a lot of work. Yeah. That is one of the problems. Something like Oxygen was and is, I bet Breeze is also extremely taxing on your time that you have available. And for me, when I was starting, that was three times more true because my experience was very tiny. So I had to do things three times. I even tried to do a complete black icon set that people didn't like. I still have that against you. And by you, I mean David. And so yeah, I had to learn a lot and things take time. Probably if I was doing it now, things go a lot faster because of experience, but it's also not exactly the same thing. Doing something out of experience sometimes cuts your innocence. And those kind of things do show up in the truth-ness of a style. But yeah, it's life and there's nothing I really can do about it. What we got out of Oxygen back then, so that's actually something I like and I'm quite proud about Oxygen. Design-wise, it's probably not the best thing ever. I'm suspicious, right? Asking me if the designer of Oxygen was good or bad. My opinion is suspected. But to be very honest, I don't think it was the most brilliant thing ever. But one thing was brilliant is that before Oxygen, the theming aspect on Kitty and most open-source projects that I knew were pretty much based on, okay, we'll do an icon set. And that's it. We'll have a look at a couple of other things. But we mostly focus on an icon set and maybe a theme. But that was quite rare. More on the GNOME side. They add this thought. But it was fairly a disconjuncted effort. With Oxygen, that changed. Oxygen, by the way, set up to be just an icon theme, ended up being everything. Everything designed. We designed everything on a global scale. So not exactly like the breeze guys are doing right now, which is much more focused on everything and the Fs itself. That was the next step that I hope people would do. And they did. But before it wasn't like that. And with Oxygen and also the what GNOME was doing back then, design became platforms. The design open source became actually platforms of a range of work. And that was something that I'm quite proud to be a part of it. And I think that any decently well structured design project in open source should aim to be. So this is how does it work? Like, okay, the design, but it comes out of nothing. Mostly. But I do ponder some questions. And what I'm doing design for, say, customer, I usually go with three basic questions. Like I asked the customer, like, what do you do? What is the function of this? What's your user? And can you define yourself in three objectives? This is something I do. I'm probably many other designers do different questions. And if I answer, if I had to answer the answers to these questions, as far as I knew it in Oxygen days is that one, and if you remember the question, what we are, as far as I know, and I looked it up, we are officially a desktop formative girlfriend. And this, okay, it's a myth. But I actually like this definition, right? It on the core, it was a desktop for human beings, like it's for your girlfriend, for your mother, for your father, for your friends. It's a little bit more than a desktop to code a desktop. At least that this definition is something I really loved. The users, so if you take that, that I just said and think about users, you would say that they are everyone. But to be honest, internally we were kind of focusing on two types of users. So we were focusing mostly on early adopters and text enthusiasts. So that gave us a little bit more focus in terms of the design that we were creating in terms of finding our target group. And in terms of the three objectives, I never got to ask. So I use this one internally. And to be honest, I didn't ask this question because I didn't add the experience. But looking back, I tried to answer it myself. And I think back then, if I had to define my work, it would be open, free and positive. I always thought, to me, Kitty, it was always this. It was a very positive community with freedom in mind and very open to contributions and to other people coming in. So, O2. As I said, so last year, I was not in the best place. And I need to do something for me. And I said, okay, let's do something that I know that I'm happy with. And doing oxygen work was probably, it was a lot of work, but one of the most fun times of my life. So let's try this one more time with a lot more experience. And maybe this works. So one of the things I didn't mention is that doing a design for Nachi, with a user in mind, is a very technical task. It's actually, it's very, people used to call us artists. And it wasn't quite honest to call a designer an artist. Because it's a fairly technical matter. We do do artsy things, but most of the decisions are actually quite rational or they should be quite rational. So, and they are done rationally with the user and the user expectations in mind and trying to deliver a function, trying to fulfill function. So that's the sort of thing that we're trying to do back then. But for oxygen two or oxygen square or OO, I thought, okay, I'm going to do it for me. And I don't care about what everybody is going to say. If they like it, it's great. If they don't like it, they can complain to me. And by me, I mean my way. Next. It just goes to the next slide. So my user, that makes it simple. I already told you, it's me. And the three objectives, I want to make it fun because I want to have fun with it. I want to make it cool. That's a very blanket statement and I want to make it yours. Right. That works. Great plan. One of the advantages is that now it might not be as ephemeral because now, since I'm making it for myself and not really making such a design thing and more over artsy whatever I want to communicate with you guys, maybe this is less ephemeral because it's more of an arts installment. Maybe this works. I don't know. We'll see. And what is supposed to have? Okay. It's a theme. It's basically oxygen. I'll be honest. Basically, all the things that old oxygen was, I'm trying to go to do it in this new thing. So it's a widget theme, a plasma theme, an icon theme, and everything theme. So that's the goal, including anything there's needed. I will try to do minus the application integration stuff and all of that because that is such a sinkhole of time props and respect to the people that do that all the time. Okay. Some plans. This, I'm only talking about the plans that I had. I have some, over the years, developed a couple of plans. And one thing that I, at the end of old oxygen, I thought that was fairly obvious is that consistency and the way we say consistency sometimes doesn't mean really consistency. The consistency, it was kind of hoped that if every app used the same widget theme, the same colors, and the same icons, it would be consistent. That wasn't quite true because apps sometimes are not the same. And the consistency is not just adding same size buttons with the same colors. If one app has 10, a row of 10 buttons and another one is just as one, we didn't save anything. It's inconsistency. Those two are very inconsistent. So what we had helped, but I think to express and to give better experiences to users, things like information density, the way we draw things, what we express is actually more important than just having everything the same. So I want to enable a oxygen-squared experience where you get a file and everything changes. So it doesn't even matter that applications do look different. Like, for example, we do already. Creature doesn't look the same as Dolphin, because as it's own needs, it's actually very, that leads to the next point I was going to mention, it's very dense in terms of information and tools that it requires. And that was one thing that we missed in the old days. It was really hard to make applications that were very dense in terms of tools and interaction points. Because, historically, we were very, I used to call it framey-framy. We used to have loads of frames and top of frames. It made it difficult for application developers to create nice, balanced UIs where an application that actually needs a lot of tools on the side could actually make those tools available without slaughtering and pestering everything, because they are so big and there's so much widgetry against it. So that was, that's one thing that I would like Oxygen to be able to provide. A application can look different and still look consistent. An application can still have, one application can have tons of information, another one be very clean, and they still fit. They still look like they belong in the same space. So I would like to actually, one of the things that Oxygen should do, Oxygen 2 should do is add this experience button. Like you click, you get a button, someone that gets you the full experience and boom, you get what, for now, is my perfect desktop. That's the idea, was. You'll see. So currently, I mean, as it was when I was starting on this, I started with a widget theme, because in my brain, if I would nail the widget theme, I would actually have 90% of the work done. Because in my real day-to-day life, that's actually it. And when I, there's a talk by a designer that she's amazing. And she goes about the solemn and the artwork. And in my day-to-day work, doing the first mock-ups, that's the artwork. It takes, it doesn't take all that long. But that's where you define the core identity of what you want to be and what you should be. And this, these guys took me like two months to come up with. And I was super happy, super stoked that I think I nailed it. I think I have some, a good language here that is scalable, that I can push into further directions, that I can do multiple things with. And it was really working well for me. And I thought, okay, this is going way, way faster. Because back, back in the beginning, when Oxen came out, I remember I went through like months of iterations over the widget style and the window decoration style for all Oxen. And this came out really quickly. And I actually like it. I think it scales nicely. I made lots of work in trying to make the things work in big sizes and small sizes that, so that they look like they belong. But they still give you the freedom to have very sparse UIs in terms of, again, information density and also very cluttered UIs in terms of information density without looking very cluttered. So if you notice the, everything is very, I try to make everything very subtly present. It's present, but it's not overwhelmingly present. Therefore, I can add this more, this gap available. And also give it a little bit more freedom, expressive freedom, so things can be, some buttons, an application might like a button to be round, another application might like a button to be at only round corners. One might even like to have square corners. As long as things actually look like they belong together, I think we could get it. And I was, I'm fairly happy with this guys. So the only thing that I wasn't, I've still not nailed completely is the multiple colors. So another thing that I was thinking when doing this is based on the work that, you know, the Finnish company that spun off out of Nokia days, Yola, they had this mobile experience. And one thing I loved about it was the possibility to choose a wallpaper. And magically, it would make your UI have a color palette. So if you know color palettes for widgets in the cute world, in the kiddie world, it's a mess to put it mildly. It's tons and tons and tons and tons of options. And just setting up the colors cohesively, it's a lot of work. And it shouldn't be. When I have to come up with a platform application, most, I just pick one, two, three, four colors. And all of the other curdles that I need actually come naturally. And I believe there's a certain algorithm to it that will, would allow us to, with a very simple base, generate all the colors, which would allow us finally to maybe do the thing that Yola did, just pick a wallpaper, say, do you want to apply the entire, do you want to make a color palette out of this wallpaper? Yes. See how it works. I have a tradition that it could work. But I'm struggling a little bit about the transitional colors for the backgrounds of windows. So this is a zoom and I'm showing the dark window that I'm really happy with. The concept is around stone. So maybe a basalt type of stone. And I'm really happy the dark colors actually work really well. The light colors, I only got it to work okay-ish on, on, on this variant, which is kind of not a rock. So I tried to think about white rocks that I like or light rocks that I like. And the Marvel is a no unless it's a very weird window decoration. Maybe some people would like it. I wouldn't. And the macros and limestone, it doesn't lend itself really well, really well on, on macro pictures. So I ended up with this kind of surface of pearls, you know, the inside of a shell that's at that glittery, color-y reflections. I think that could work. It's just not working for other variations. It works really well on a very white space. When I start to implement yellows and greens and lime greens and stuff, it just looks weird. Probably doesn't lend itself to the sort of colors. All styles are not, not like that. They always struggle with this sort of thing. I just thought I could do for any color, but maybe I can't. It seems we've lost Nuno perhaps. Oh, I see him already reconnecting. Are you here? Yes. Okay, very good. Please continue. Okay, let me show you something. Do not use the side button on your mouse. It will take you out of the window of your browser. Bad idea. Sorry, guys. So where was I? Okay, so here I am. The problem is the real work. Let's face reality. The plans are amazing. And I'm totally okay with the ethos of the style, the general ideas. I love them all, most of them. And so what's the problem? The problem is a little bit what I believe I need and what I can live without. So when I was starting this, I was starting much and thinking how hard can it be based on my day-to-day experience. And when I'm doing design for a client, I think, okay, if I do the general mockups, I have a couple of, and if I do the same thing that I just did there, I think I'm mostly done. It's okay. Here I do found a problem. And I'll talk about this problem right away. Also, in real-world time, this guy says that it's relative. Yeah, I can run as fast as I can. It's not being any relative to me. 24 hours are still only 24 hours. And it is mostly for me and for other people. Turns out that me, not the greatest user ever. I'm a whiny bitch. I can say that because I was doing things and I, so me, the user, was starting to like it. Yeah, good job, good job. Right on the back. But then I told me, the user told me the design to, okay, it's time that you do the icons, which shouldn't be too much of work because these days, icons are supposed to be simple. I'm from the day that I actually got mad when this anti-skewomorphic blah, blah thing came to be. And I felt like I was being insulted with it. But then I realized, yeah, it's the end of an era as something new is beginning. But these new icons that are being done these days and multiple platforms, to me, it takes like, yeah, minutes to do. It's a little bit absurd. In action icons, I can spawn them all over in minutes. The problem is that me, the user was really not liking them. And I decided, okay, I need to do something that is simple, but flexible, that can do lots of things. But that is modern, that is great. And I did post a couple of versions that I thoroughly deleted from all our drives to never to be seen again. About possible solutions and languages that would allow us to do lots of some icons. That was probably the problem. So they were pretty. They were engaging and they were simple, but they didn't scale. It was great. Most of those languages that I tried, either I didn't like it or they didn't scale in terms of variability that we need. If this was the client's work, we're talking about, I don't know, in terms of action icons, the ones that you see in the app, we're talking about 30, 40 icons. In terms of application icon, it's one. In terms of branding, it's the application icon with a little bit of flair. And maybe there's a mind type. So that's easy. That scales really nicely. At most, it's a set of applications. So we need a little consistency, of course, across application icons that do have a branding aspect to it. But that's fairly easy. In oxygen, not so much. We're talking thousands of icons. And it wasn't scaling for me. And this got me really depressed. And for, I don't know, six, seven months, I didn't touch this at all. I looked at it and hoped that because sometimes things happen like this, I don't know what I'm doing, but I stopped working it. And by magic, one fine day, an idea comes up and I go for it. But no, it didn't come. The only thing that got me is more and more depressed. And yeah, that wasn't a nice place to be. It turns out that I kind of like this old oxygen stuff. Because I was, I'm still to this day using the things that I did. Again, bias. So it's not like it's terrible. Okay, a few things like are bad. Yeah, I knew that they were bad 10 years ago. So they are still bad today. I haven't fixed them. But maybe I could start with this until that grand idea comes. So I decided, okay, for now, let's use oxygen and the old oxygen icons and move them to the Git repo. And let's start with this and try to evolve the other stuff. And so I did. But a couple of missing, so I want, okay, let's have a look at the current state of affairs. Like, if I want to start really doing this, I need to look at how things are looking today. And the first thing I open is system setting. Let's see how system stack things looks under braze and compare it to how it looks in oxygen. And the first thing I see, oh, oxygen is missing a couple of seconds. Need to fix that. So I went and fix that. And it was, I think it was the printer and QD Connect. I think those were missing. And there were another one that was missing. So I did those. And, okay, and I pushed them to oxygen. So now it's oxygen is after many, many years has been upgraded a bit. And I did a few more. So I did, I started, okay, this is, I started having fun again. And, okay, let me just fix this and this and this. And I ended up fixing one, two, three, four, five, six, seven, and a couple more that are not visible on the screen. And I was having fun, right? And that's the point, right? Having fun is my goal. And now the idea started to grow in me like, maybe oxygen wasn't really that bad. Okay, if I kill these, if I would kill these, and maybe these, I'm not sure, maybe I'm into something, maybe, maybe just adjusting a new option could be, could be something. So these are some of the ones that I worked on. And now, okay, by the way, having me as a user is the worst case. So these are the items that are only used in 32 by 32 pixels. Why do I have to do them in this huge sizes? Because I'm the worst user, that's all I have to say. So I decided, but it's an experiment, right? I'm trying to experiment and trying to see the flexibility of the solution to see if I can do something better. And these are, I consider I can actually relate to, I actually like them. I think they are, they are modern enough, and they will work. There is a point there, so below this guy here, is the action icon. I think action icons, I will need to do them in line art. Action icons are, you know, action icon, we in open source, in our sets, we tend to divide things into categories. And one of the main categories are action icons. And action icons are the items that you see inside the applications. And in action, they were really very visually heavy. They were artsy. And maybe that's not what the user wants. The user uses them mostly as a quick guide to reach a tool. It doesn't need to marvel at the beauty you have, an icon which most of them didn't have anyway. So maybe those I want to do in small size, I'm not sure about the 48. So there's multiple sizes, 16, 24, 22, depending, 32, and 48. Maybe 48 in some apps are good. But I'll have to have a look about that. But we'll keep on evolving on that. But I'm pretty sure that action icons will be line art type of thing. And now this actually leads into us having a language. I think, sorry to pause you here a moment. We do have two minutes left just as a reminder. Yep. I'm almost done. This is the almost last slide. So really quickly. I think I have a language here. If I stick to basically these shapes that if you notice I'm doing on the previous slide, so it's basically, okay, I know the last shape was a cube and that implies a type of angle. We can look at objects front forward, but only tilting it here so we don't tilt it all over the place like we did in action. So this is a tool. I'm trying to focus more on consistency of shapes. Using the same shapes to generate similar things, a bit like I'm doing here. As you noticed, connections and device connections, same basic shape, and doing to help with usability using the square as a thing. And I'll use squares for device. Look at that. That's the idea. I don't know if that works. So parents, they might almost one more time. If you want to. So I really like the talk that Jerry Ellsworth did on Academy. That was amazing. And she was talking about mentors. Right. So I had the best mentors when I joined the kiddie. I had David Vignoni. I had Kenneth Wimmer. I had a little bit of overall weaving and lots of people with lots of experience that helped me a lot in becoming a designer today. So if you want to join in to this and also be a user of this, aka also for you, you can contact me there. That's the URL for the for the oxygen. So I need to help in lots of things. I'll need help for the widget theme. I will need plasma for maybe plasma for plasma, yes, for components. And please join me for mentoring, design, fun. I'll try to help you guys. Thank you, Nuno. Indeed, we have run out of time for questions. But one of the questions was posted by Alex, who's the next speaker. So maybe he doesn't mind if you answer his about that. The question is, do you still expect users to render icons from a pixel map in a world with high DPI displays? Do we have two hours to discuss how much I hate SDG for rendering? I love SDG. That's the tool I use every day. But you don't want to get me started on that discussion. Okay, thank you. There's also a question from Marco Martin, maybe just quickly. Paulette generated from the wallpaper. What do you think it should happen when there are multiple screens with different wallpapers? That's why I don't like Martin. He always makes the worst questions. I hate you, Martin. Well, in theory, in terms of the user experience, it would be an option to the user, so it's not automatically. The user chooses a wallpaper, and a secondary option or a secondary question that is made to the user is, do you want to create to generate the theme out of this wallpaper? So it's on the user. It's not trying to, because yeah, Marco makes an awesome point. If it was auto-automatic and we have multiple wallpapers, nothing looks good. No, just one, and maybe in the secondary option. And still, it's just an idea that I had. I actually don't know. Okay, thank you very much, Nuno, for this presentation. Thank you again and hope you stick with us for the last talk and then the closing remarks as well. Thanks, Nuno.