 A bit of time ago, I published a video about what System76 was doing with Cosmic and back then we were so early in development that I had to, you know, look at Reddit comments to find useful information. Since then the team has been publishing blog posts about the development in a somewhat regular way, so I think it's time to go through them to see what's new and also to give them some credit, because what they are doing is super interesting. Let me quote the words that opened the latest Cosmic update. Ha, spring, sunny, shining, birds are chirping and Cosmic is blossoming into a beautiful desktop environment prototype. That's quite a promising line, but what's new? So firstly there are some user-facing changes that are nice and don't feel too technical. There's a new look for the launcher as an example with your search results, buttons to open new instances and also the shortcuts for each application on the right side of things. Looks good and clean. There's also changes in how maximized and full-screen work, or to say it in a different way, they decided to get rid of the full-screen option for applications since doing settings on the panel has how to hide or intelligent hide is almost the same thing. Though full-screen used to also get rid of the title bar, whereas the new setup with a normal maximize and a hiding panel will always preserve it. This is, you know, actually quite standard in desktops with maybe the exception of what Macintosh does. Or still on the user-facing side of things. There is a search in system settings, obviously, but what's different here is that the results of the search will be displayed in just one continuous scrollable list of search results from the various settings panels, which is extremely interesting. In most settings apps, you just get a list of the sections and then you have to, you know, click on one before being able to change anything. The idea to just display in the search results the content of all possible pages is fascinating to say the least. System settings are a big part of a desktop, actually, I do say that whilst being, you know, a KDE developer which probably has the most power-packed system setting application of any other desktop. If I were tasked to re-implement system settings from scratch, I would probably take the first flight to another country and ask for political asylum. But re-implementing system settings is exactly what System76 is doing. The cool thing is that they have mock-ups on Figma that are extremely detailed on what each button does and lots of them have very interesting concepts. As an example, it has happened that somebody got into the KDE visual design chart showcasing the mock-ups from System76 and asking, well, why aren't we doing this? And it's quite cool that they are able to do these good mock-ups while still being very consistent with their intended design and that the implementations also follow that very design. Interestingly enough, there is one feature that they promise and that KDE Plasma or any other desktop environment that I've tried actually lacks entirely and it's really related to displays. So there will be a display section in the settings, obviously, and you will be able for each monitor to customize the graphics modes, so like color profiles. But also this is where night light will live, which is the feature which filters out the blue light after sunset. You will be able to, and this is the unique feature, set up night light differently depending on the display, such as when this play gets blue filtered, whereas another one doesn't. I've never seen any other desktop do this. But to be fully honest, I also don't quite see any reason why you would do this, so it's not really on my to-do list. Let me know in the comments if I'm just blind to the potential this idea has. Now, these changes hide a bit the fact that what System76 is trying to do is, you know, reinvent the desktop entirely. And this comes with lots of complex under the hood problems. As an example, you know that PopoS has crazy good tiling options, which allow you to switch between floating and tiling murders and such. Well, that works closely to the desktop environment. And if you change that, you need to reimplement a lot of stuff, which is why in the latest blog post, System76 flex the fact that now tiling on Cosmic almost works as well as in the previous PopoS update. Almost. We do have active inks and a configurable window gaps, but we don't have stacking. Or as another example, Cosmic is slowly telling us, which widgets that were working on the latest PopoS are now also on the master branch, given that, again, they did things from scratch. As an example, just in February, the Bluetooth applet joined the club, which also includes the biggest ones, clock, Wi-Fi, notifications, battery and so on. We do not have any screenshots of that, but I'm quite interested in seeing how it runs out, given that they started with some great mockups and designs. And they seem to be following the path of implementing things exactly like pictured in the mockups, which is impressive, which brings us really deep into the technical changes, which is the more interesting side of things. Actually, what System76 is doing is writing the desktop from scratch in Rust using a new GUI toolkit, which is not JDK, it's not QT, but it's called Heist. On one side, it's a pretty darn cold toolkit that's also like cross platform, meaning that you can do apps for Linux, yes, but also Windows, Macintosh and the web. On the other hand, it seems to be still early in development. To make an example, if you click on the documentation, every single page is marked as to do along with a big work in progress warning. This does have some effects on the development of projects like desktops using Heist, as Heist lacks some important tools that Cosmic have to implement. One of these is managing animations, which is why System76 team worked on writing their own animation trade called Cosmic Time to manage the desktop animations like a big deal. I do really like the side effects that this development have here. The fact that such a big project decided to use Heist is, I think, actually helping the toolkit as well. Now, any developer can use this Cosmic Time trade to do their animations, not just System76. In fact, that's already happening in a project called Bazaar, which I think is some sort of application manager. So Bazaar is not a project of System76 or Cosmic, but it is using the Cosmic Time library, which is though. OK, back at Cosmic, there are other issues as well in writing a desktop from scratch. As an example, you have to manage Wayland clients and you need a library to do so. That's, you know, in Rust, like for Heist. Cosmic decided to go with a project called Smithay, which does just that, writing Wayland clients in Rust. However, again, some features were simply lacking and they had to add them by themselves. Namely, drag and drop support, which sounds like a big deal. But again, the team has worked to make sure those changes were upstream directly to the Smithay repository, meaning that now any project that decides to use the same toolkit will benefit from the work done by System76 developers or to make yet another example of an upstream contribution made by Cosmic developers, dynamic rendering. The idea is that your computer has different ways of rendering visuals depending on what software you're running and whether or not your system has a dedicated GPU. Dynamic rendering solves for this by determining what rendering program your system should use, OpenGL or Vulkan if you have a GPU or SoftBuffer if you don't. Now, here's the issue. Dynamic rendering has to be implemented by the toolkit Heist and they didn't. So the lead developer Jeremy went at it and simply implemented it and also adding software rendering in the process. This was not implemented as Cosmic dash something but rather as Heist dash dynamic rendering, which means again that any program using Heist will benefit from this other nice addition. Developers are also working on adding new widgets and you might maybe not, but you might be slightly confused about what those widgets mean. So basically widget is the name to any reusable component in the GUI toolkit. So buttons, sliders, progress bars, combo boxes, you know, this sort of stuff. As an example, this is a recently introduced widget in Lib Cosmic, the segmented button, something by the way that Katie is often also tempted to implement but that didn't ever quite got anywhere. Then there's performance improvements in this update. Improvements to Cosmic text has managed to cut from usage in half. Again, cut from usage in half. Also, it's half a second faster to load and the team even claims that bringing these improvements to the Lib Cosmic library itself will make sure that all apps using it, including the desktop, will receive boost in speed as well. When talking about the text editor, remember that we're talking about something that was written entirely from scratch. Just last month. So this is quite impressive. For now, that's everything I had to say. So I'm quite interested and curious to see what System 76 will be able to do after this is finished, which will take still a bit of time, but they are. It seems to me on the right track. So really curious. Let's see what they do. OK, little cut, different t-shirt, because this is important. This is where I thank all of your patrons who donate to me each month. And usually I take a couple of seconds to say that, you know, I'm actually still short of my monthly goal, blah, blah, blah. But luckily, Malibu has stepped in in supporting the channel. And thanks to all of the channels, support donations and sponsorships, I should be in a reliable position to grow the channel even further. So thank you so much, everyone. And I make sure to have some benefits for those who donate like a private sort of podcast and blog post. So feel free to join the club and help me out to make the channel even bigger and cooler. Let's do this.