 So, hi everyone, it's great to be here and yeah, so I will be talking about the new web UI we wanted to deliver for Fedora workstation right now and yeah, I will also talk about what is there right now and what we are like changing for the future, what we have a future plan with it, just the near-term future right now. So with about me, you see two names there. One is Martin Kolman, Martin Kolman and second is me, Jerika Koneczny, Jerik Koneczny and Martin is unfortunately not available. He created most of these slides here for open-out conference, but the great thing, the topic is the same, so but unfortunately he's not available, so I will present it completely. And if you want to go for open-out-all conference, feel free to join and we'll be there too. So, big credits to him. About me, I'm working in the Anaconda team in Red Hat for, I don't know, seven years, maybe a bit more. Right now, and like in the past, I was working as the developer, then as team lead, right now I'm working, I'm focusing mostly about the PO, product owner stuff, so I'm switching it all a bit, well, it's seven years, so a lot of time for trying new things, it's new things. So, but I'm still familiar with what is happening there. So, about, what is it about? So, first thing, we already get these changes, the web UI, new web UI, for Fedora 39, before release, before the beta freeze, and basically a bit after the beta freeze. Then we find out that it's not quite ready, so we decided what, like Fesco decided, but yeah, we agreed that let's postpone it and finish all the tasks instead of like having all the fixing on the last minute, et cetera. So, it's right now in Fedora Workstation. We are targeting with the new web UI only Fedora Workstation live media, anything else. The reason is, go slowly, get the feedback, and make it stable before like switching it everywhere. So, as you can see, 21st August, 2023, and even like when Martin was able to find a second time, that's right, we deployed it and it's there, so pretty easy. So, what is it about? We are replacing the current GTK UI which is there since 2013 by the new web experience, web UI. It's built on the pattern fly framework with the based on the cockpit. If you don't know cockpit, it's for the remote, it's tool in Fedora for remote management of your system. And we are using a lot from them. We are using their CI, we are using their libraries, and it's really helping us a lot. And another, you can see it also with the Agama installer, which is for new installer for the open-source, and they are using the same technologies as we do. So, we are using the same technologies and they are using the same technologies as we do. So, yeah, we are not alone who's doing this change. And so it's basically, it's not just the toolkicks swap, it's not just about like switching the pattern fly and the cockpit framework. What we are looking here for is the major redesign. The reason for that is mainly we have a like quite amount of feedback about Agama is too complex, Agama is hard to use, hard to understand. And one of the benefit of switching the frameworks is definitely like it's easier to test, easier to like development is there, much, much higher and support. But also we get this as an opportunity to make it, to make change on how it's used and to try to first modernize it to the current standards. Second, get it easy to understand and simple to use. These are the main goals we have. So we switched from hub and spoke to the wizard model, which is kind of fine because Agama did the opposite and they switched from the wizard to hub and spoke. So we somehow switch, swap the space, swap the place. But yeah, we basically found out that the hub and spoke is one of the critics of what we have right now that it's hard to understand in a level like the done button is in the top left corner and similar things. Like it's not that really understandably easy on to understand because you have a hub and you are getting to spokes and then returning back to the spokes, from the spokes to hub and you can configure what you just, what you need. There's definitely a benefit like with the wizard you need to go next, next, next and through the older screens with the hub and spoke you can get back. For the future, if there will be complaints about like I have to go through all the screens, we can do, we are thinking about like implementing, you can skip something. You can just like from the left menu skip some steps and get for with the defaults there. But that's not implemented and not something we are working on right now. We will, we want to implement it based on feedback we will see because like doing next, next thing is not that hard right now, definitely. Next thing, help. Right now with the current solution we have help button in the Anaconda where the Google you can click and it will show you the screen in with information about what you can do in the current, current like screens for what you see with the current window. We change that because like honestly who wants to read these and also they are quite deprecated like outdated outdated right now with the Federa because it's hard to get it up to date in general. So we decided to keep this integrated into the environment and having it like built in solution in way of every option should be explained by the UI and speak self-descriptionally. And if not, there have to be a way to click on the option and get just the text and information about the current option given option, not about like everything you see and you have to go through the text and try to find it. So another benefit of this, we decided to keep the documentation upstream in the code. So it should be easily accessible by the localization team. So it could get into multiple languages which is not the case as I'm aware of right now. And we completely revamped the storage configuration. I will talk about it later. So yeah, the overall installation as I said, the goal here is to simplify and make it easy to use. We are trying to get out of the complexities and if they are required, they should be ideally somehow like hidden in the advanced configuration or something. So user who is not aware of like I fully understand what the installer needs from me or how the partitioning works or whatever, it should not make it hard for the user. That's the goal here. That's the ultimate goal I would say. So how does it work? I already talked about it a bit. So about in general, like to get a bit in more details, let's say it is. So the Anaconda WUI is a is a JavaScript application which is running on the Cockpit framework and Cockpit is taking care of showing it like there's a web server showing it and Firefox has the screen as the application. And this JavaScript application is communicating with our backend which we prepared for long years in backcard. Like we are using that even now for the current solution for the current Federa. It's not new. It's there for a long time. It's still improved. Still like we are quite near to finish but we have still find some fine tuning we needed and incrementally it was added through the time. And the benefit of that you can, if you want, you can definitely like create your own UI and use it at the backend just today I was notified by Neil that someone is trying to use the backend for their solution. So it's great. It seems like someone is looking for that. I'm super happy about it. Yeah, so as I said, the web UI is communicating with the backend by the, we are using the best for that and basically reacting on what the backend says and the backend is doing have a lot of things which means that we can have the stable backend and like quickly changed UI which is one of the points of separating it. For the local installation, if you run the live media, there will be a Firefox with window which will show you as the local application. It shouldn't be visible that it's browser but still it has a benefit of the browser. I will talk about it later. And yeah, you shouldn't have the feeling you are working with the web application as the electronic apps, similar to electronic apps. It's not electronic apps. And also one important thing, we changed the workflow a lot on level of GNOME initial setup is part of it. The reason for that is mainly we went to the federal network station specialist group and said to them that we would like to use your deliverable as the web UI for federal 39. And they told us, okay, that's great. And we have a plan to use a GNOME initial setup for live media so let's combine it and put it together. So they went with the GNOME initial setup as the first part of the live media which will configure language and screen a keyboard for you and then you can start the installation or not or get to the live media. And as it was said before, we redesigned the storage and one of the redesign is using Blivet GUI application which is existing application. You can install it on your system, start it. It's similar to G-parted and we are basically integrating it to the workflow, to the Anaconda. So you can do your partitioning if you really, if you need it to do it precisely as you want then you can use the Blivet GUI for this. So I will go through the screen site now to show you what's there. It will be screenshots because honestly, I don't think we have a time for demo and I don't like demos, live demos so much because there's something went wrong a lot. And also it's heavily developed right now. So first language screen. This is the GNOME initial setup. It's what you will get with the Fedora 39 if you install Fedora Warstation after the boot. First boot, you will get this screen which is basically allowing you to select this language and select the keyboard. These values are also on the live media from Fedora 40 and these will set your life environment but also this will allow you to start installation in the session of the GNOME initial setup. So we are basically using what you will set in the system by the GNOME initial setup. It seems like simplification and also we are combining the approaches of they wanted to have a localized live media which is hard to do without something like this. So we are having like two flies by one shot. Then there's installation method. This is most complex screen. Like the installer is really simple because of the GNOME initial setup because of everything right now it's really simple. This is the most problematic screen and it's one of the most problematic screen in the current Anaconda, current UI. Not problematic but like complex, let's say this way. So what you can do here, as you can see you can select the disks for the installation and the important part here, there are two important parts. First, you see the guided partitioning as we call it which is like extension of the automatic partitioning we had before, let's say this way. So you have the paths you can take for installing your system. Right now we support, erase everything and install it over everything I have in the disks or use free space, I prepared the space for you beforehand or you can use a mount point assignment and I will be talking about that a little bit later. For mount point assignment and for free space you have also possibility to click on the modify storage button as you see there. And also one important thing, this is selecting you a path but then you can customize it in a level of right now there's encryption possibility. I don't have a slide for that but it's like write your password, not anything super complex but we would like to extend it and promote the guided partitioning as the first class like the priority and recommended solution for the installation. The modify storage button and the customers like fine-tuning the storage yourself it should be there just for people who really really wants to work with that but the recommendation should be use the guide partitioning because it's giving you recommendation of the system, recommendation of what you are deploying. And that's the goal here really. So the BlivetGuy looks like this and it's kind of temporary but I will talk about it. Similar to G-Party, it will create a storage and then after you will end it you will get like and quit it you will basically get to this screen which will allow you to assign what you created to the partitions. This will be a bit changed but in general you can go here even without modifying the storage and just reinstall your existing system which I see as a big benefit. Like I have already installed, I don't know, opensuse, I want to try Fedora I want to use the same partitioning guys have I had before so I will go here and just like use this partition as my boot use this partition as root or add a new one. It's simple solution, it works, so why not? And also it will allow you if you really want you can create the partitioning yourself for yourself beforehand and just assign it here if you don't like the tools we have. So we don't force you to use storage partitioning by Anaconda or what we give you. You can do it beforehand or in live media and then start the install. Everything is possible here. So then you will get to the review screen. The review screen, simple review the installation we would like to improve it over what we had before and really give you all overall picture of what will be delivered to the installed system and even improve, they are even like thinking and ideas about improving it on level of like you will be able to click on the link there and it will get you to the customer customization or for the given thing you don't like or something. That's something which will be maybe added in the future that's definitely not a plan right now. And then as you would expect installation because you confirm that you want to install. So we changed it, we switch it from the overall progress bar to steps which describes what they are doing right now. Main reason for that overall progress bar is lying you. We are not able, not at all able to tell you what will be the current progress because we don't know how much time the futures task will take. That's not known to the installer. So instead we will provide you information about what is the current step we are doing and we can provide you for example if we know the like it's 20% or 21st or 24% or whatever we can provide you with the information by the text there, installing 20% completed or 500 of 1000 packages are installed or something like that. We can do that, but we won't lie you in long one progress bar which is completely wrong. And as you can see we are decided we are dividing it, dividing the installation to several steps. These can vary based on the type of the installation but in general it should look like this with the modifications. And then you have an installation complete you can quickly restart and that's it. That's basically it for this screen. So a few minor improvements we have. One, this is not really improvement but basically we can start it from live too so it's not just the GNOME initial setup but you can go to the live as I said or prepare your partitioning or anything or change the keyboard configuration to what you want and then start the installer. The installer will work with what is in the system and will install language and keyboard specifically from the system to the installed system. You also are able to report the issues as we had before, unfortunately before it was more problematic because you basically had a screen of you have to type there I think it's now even requiring the token but if not that's just because of us they want to have it for Baxila. So instead we switched it for the like here's the information about what is happening and then you can click on the link and the link will get you to, the link will get you to Baxila with predefined information and you can just like log in through the browser, work in the browser as you are used to. It's simple solution, super helpful and there's a great guide for creating, for filing bugs for Fedora. So we are using basically this site for filing it there. Simple, easy, working, that's great for everyone. And then finally Anaconda has a bold screen. Nothing much like nothing super shiny or anything but yeah we have it and yeah ideally we will improve it with our logo or something but at least you know the version finally from the UI which wasn't really easy before. And the benefit of having Firefox, you can, if you know the correct keys you can open the debug console which is benefit for like, okay, I found I have an issue with the UI, behaves incorrectly and I understand JavaScript so I will do do contribution. Yeah, thank you, that would be great. The future, yeah and one point to this it's super hard to debug issues with the GTK UI on the installation media, just for information. This is one of the big benefits of JavaScript. For future, so what we want to focus on, stabilization, that's one top priority for us. Make it stable, finish file, fix all the bugs we found, improve the user experience, not really focusing so much on the, on what we like adding new features or something like that, there are some but mostly not like, I will talk about it. So finishing the Fedora Workstation, we are not targeting for Fedora 40, we are not targeting any other than Fedora Workstation. This is our goal for the web UI. And one of the minor features we want to add at the end is easy way to provide the feedback. Right now, it will be probably solved in the like finished installation and there will be link which will guide you to a place where you can like give us a feedback and we will follow it. That's ID, that's currently the plan but it's not yet implemented so it might change slightly but yeah, make it accessible and easily easy for everyone to provide us feedback. That's the main goal here in general. So, also, big change, cockpit storage. Sorry, I haven't, do I understand it correctly that I have some problems? Anyway, like I will continue, sorry. So the cockpit, yeah, great, thank you Neil. So the cockpit storage, we want to change the Blivet GUI experience with the cockpit storage. As I said, cockpit is the remote management tool. They already have the cockpit storage which is a way of like you can get remotely on your system and enable like show the module for cockpit storage in the cockpit and change your storage there. I don't know, change mount points, create new partition, whatever, what do we need? So we went to the cockpit or it was honestly like mutual from both sides. With the cockpit's team, we decided to go with the cockpit storage and right now they are working on the redesign. So I have some screenshots here but it's about the or like current with the Federal 39, the current cockpit storage version. They will change, so please keep it in mind and right now it's in heavy development. So, one of the benefits for that, future improvement for the remote installations. Basically, Blivet GUI won't be available for the remote installation, GTK app. It's very hard to get GTK up through the web browser somewhere. There are some things but they mostly not working correctly. So this is HTTP solution origin like right now and it has a lot of capabilities. So we don't have to write everything ourselves and we can share the solution. It should create better maintenance for everyone and better easy way to improve for new, to get new features there. So it's not creating something what is already there. Yeah, so one of the benefits or change for the cockpit storage will be Anaconda mode. They called it this way but it basically means that there is mode which will in Anaconda hide some stuff which is not really usable for the installation of the system and it will also allow us to somehow extend it in a level of like, if you create the mount points or set the mount points in the cockpit storage these will be reflected in the Anaconda. You don't have to assign that with Blivet GUI. And we also will have the ability to guide the user through the partitioning experience in a level of there will be possibility to click, to show, to tell you what you need. And also either ideally put there something like a button or some reaction. I'm not sure exactly how it will be implemented to check the storage by the Anaconda if the current storage configuration is correct. Also still, as with the Blivet GUI and this is the big disclaimer, both solutions Blivet GUI and cockpit storage are doing the change in storage immediately. We are not able to use the planning of the storage as we had before. But honestly, I think this drawback is not that big as the benefits we like everyone has from it. And yeah, I think this will be like a good user experience even with it. We definitely will make big red, big visible, not red, I'm not sure about it. Big visible by the letters. So what do you do now? You are impacting your system. It's not in level of like the installation is happening at the end and the partitioning is happening also at the end. It will happen immediately. So I just want to show you what's the current state of the cockpit storage. That's not what you will see. So just to give you an overview of what's there, how the cockpit storage really like, what is it? So as I said, it's right now it's in the browser just the screenshot from cockpit where you can see the storage. There's mount point. You can select the, you can create new partition, select the mount point, name it, et cetera. There is a lot. And basically we are getting all of this. And this is the screenshot from Marius from Marius Bormer. Feel free to click on like look on the YouTube video. I'm not sure if the, whatever. So this is the first attempt. Like first attempt we are with else right now and Marius Bormer is the one, the guy who was working on that and he's super great. And he was able to create this like, I don't know two weeks after we decided that the cockpit storage will be used in Anaconda. And he was able to create the partitioning in the, in the cockpit storage and put the mount points already to the Anaconda. So I was surprised that he was able to make it that fast and working. And right now he's working a lot on redesign and one of the features which is missing and which is requirement is butterfus support for a cockpit storage. They are adding that too. So yes, they are working on that right now hard and it should be part of the Fedora 40 experience. That's the plan right now. So after Fedora 40, just quickly, one thing we want to like as I said, focus stabilization feedback. Feedback is the most important. Please provide us the feedback. If you like it, if you don't like it, if you don't like it, why we will try to work on the design. And this is something we can definitely like change bench based on your feedback. We will find out that this doesn't work and we will change it. The future steps for the development might be Fedora server. It gives sense to like go a bit step ahead and go with like remote storage such as requirements, et cetera. But it's definitely not Fedora 40 and probably not even Fedora 41. At least I don't expect that. So yeah, we will see based on the features feedback, stabilization, how it will event and based on that we will decide what will be the next step really. This is probably candidate. So the main output of the presentation. If you have time, you want to give us feedback, please download it, right? It's Fedora Workstation, Fedora Workstation right now. Give us feedback. What do you like? What do you don't like? As I said, believe it, we will go away and will be replaced by cockpit storage. So it's, you can give us a feedback on that like what works, what not. But it will be replaced. So it's kind of different. It will be kind of different and so a bit problematic there. So questions, and I see there are some. Do we have an idea of what the package selection is going to look like for more complex scenarios of the after Fedora Workstation in Fedora 40? Yeah, definitely Fedora Workstation don't have it and we don't have yet mock-ups for that or for the software selection. So it's hard to say, but I honestly think it will be a bit similar to what we have right now. We are not, if you are asking if the separate packages could be selected, then no, we are not really thrilled about that because it caused us a lot of issues in the past and that was the reason why we removed it and moved to environments and groups. So, yeah, it's not yet decided. I see their answer, I'm not sure what it means, but basically I will move to next non-answered. So what about Butterfus support in Cockpit Storage? Yeah, Cockpit Storage will get Butterfus support. It's one of the requirements we gave them. So yes, it will be there. And how will Anaconda add on work with this new UI? Yeah, so from start, we don't support add-ons. One of the reasons is we don't have, like there are no really add-ons for the live media right now. For the future, it depends on how this will be requested and how much it will be utilized based on the feedback basically. I would like to avoid implementing something or in general, like team don't have to implement something which is not requested. So we will see based on the current situation if there will be feedback for live, we need to have the add-ons here. And that's one of the reasons why we are moving like rather slowly than replacing everything via hotmail, hotmail server. So yeah, we'd like to go slowly and get the feedback. Okay, all the others are answered. I'm not sure who answered them. Oh, it's probably from the previous presentation, I guess. Okay, so any other questions? If not, I can probably close this. Okay, so that's it from my side. Thank you a lot, everyone. And yeah, feel free to contact me. We are on Fedora Matrix room, so we are happy to talk about it.