Closed Conan-Kudo closed 2 years ago
I'm not sure it makes sense to start with Qt 6.0. I will rather wait for Qt 6.2 or newer. We will also need to port it to CMake, which is also not an easy task.
I would like to start looking into Qt 6 support with upcoming Qt 6.2. Since we will be doing some changes for this transition, it might be worth to think about the way we want to go with FMW UI.
@allanday @jimmac what do you think? Do you want to keep unified style across all platforms, which is the current state with our semi-baked Adwaita style or do you want to go with nativy styling for MacOS and Windows and possibly use Fusion or KDE style on Linux?
If we decide to use native styles, we will have to rework the UI completely as we have lots of custom widgets which won't be easily replacable by platform specific widgets.
We probably want to keep the Adwaita style...
@allanday @jimmac what do you think?
Definitely interested, and could well be a good idea. Would need to have a broader conversation before making that decision. Want to do that here, or somewhere else?
We can do it here I guess. I can write some pros and cons (my opinions) for each proposal:
Pros:
Cons:
Pros:
Cons:
For me the main advantages of using a built-in style from Qt 6 would be:
Regarding the amount of work, it's worth remembering that there's quite a lot of outstanding work within the context of the current Adwaita UI. While changing little is obviously less work than switching to a native style, it is fairer to compare getting to an equivalent level of polish with each of the stylesheet options that are available.
One thing I could potentially do is sketch out a few options for UIs - a "modern GNOME" version and a native styles version.
One thing I could potentially do is sketch out a few options for UIs - a "modern GNOME" version and a native styles version.
Please do.
I think what remains uncertain is what style we would use on GNOME? Writing a minimal set of widgets with Adwaita style is not a lot of work since we already have them, but they could use some polishing of course. I'm still not a huge fan of the Fusion
style which doesn't really fit into any desktop.
I think what remains uncertain is what style we would use on GNOME?
If we were to stop using Adwaita on GNOME, I'd be tempted to go for the Windows or the Universal style.
The other possibility to consider might be to reduce the widgets used in FWM to a more common/minimal set, which would be a) easier to support through the existing adwaita-qt and b) compatible with one of the native Qt 6 styles.
What's the existing coverage of adwaita-qt? Which of the current widgets in FWM have styling that is unique to FWM?
Writing a minimal set of widgets with Adwaita style is not a lot of work since we already have them, but they could use some polishing of course. I'm still not a huge fan of the Fusion style which doesn't really fit into any desktop.
Agreed. Fusion looks rather dated to me.
Ups, I accidentally updated your comment instead of replying. Fixed.
I think what remains uncertain is what style we would use on GNOME?
If we were to stop using Adwaita on GNOME, I'd be tempted to go for the Windows or the Universal style.
The other possibility to consider might be to reduce the widgets used in FWM to a more common/minimal set, which would be a) easier to support through the existing adwaita-qt and b) compatible with one of the native Qt 6 styles.
That's what I would prefer. This way it shouldn't matter what style we use and the app will always look the same except differences in widget styling.
What's the existing coverage of adwaita-qt? Which of the current widgets in FWM have styling that is unique to FWM?
See https://github.com/FedoraQt/MediaWriter/tree/main/src/theme/qml. This is the set of Adwaita QQC2 (Qt Quick Controls 2) widgets we use in FMW, those should be replaceable with any other style. Problem are the custom widget specific to FMW, like various message boxes, popups, views etc.
I'm not able to work on the mockups straight away, but I'll get to them as soon as I can!
I've done some initial exploratory mockups, to see what a more constrained widget set would look like in practice. Happy to discuss this further.
I think the most valuable aspect of Fedora Media Writer's UI is how it shows the various Fedora variants. I'd really like to not lose that.
I think the most valuable aspect of Fedora Media Writer's UI is how it shows the various Fedora variants. I'd really like to not lose that.
I agree. I think we should keep the part of UI where we show screenshots and description for each Fedora variant. Most of them use names which doesn't really explain what they represent (Silverblue, Kinoite, various labs etc.).
The goal of the new design is to eliminate custom control styling, in order to allow us to have a look and feel that isn't completely foreign on Windows, as well as avoiding all the styling and layout issues .
It's unclear to me how we'd achieve this while retaining the current presentation of the Fedora variants: I didn't see standard controls in Qt 6 for the navigation controls (the big list, back button, etc). It also isn't clear how we'd do text styling or page layout in a cross-platform manner.
Aside from those practical questions, I'm personal not really convinced that acting as a store front for the different Fedora variants should be a goal for FWM. (Clearly the main goal is to be a reliable, easy to use image writer utility.)
getfedora.org is the main vehicle for presenting the variants, a task to which it is better-suited than FWM, and FMW is adding duplication. Plus, the install path for many users (particularly new adopters coming from Windows) will be to install FWM direct from the download page of the Fedora variant that they are interested in, in which case the store front isn't needed.
One obvious thing we could do is link to getfedora.org from FMW, to allow users to get information about each variant...
The Media Writer is also available in Flathub and could be made available in other storefronts (Snap, macOS, Windows, etc.). And from there, it becomes more important that it can do that.
Not that my 2 cents are really worth much in this project anymore because I haven't been contributing in a long while, but I'll still weigh in:
My personal opinion is there should be at least a little bit of branding left inside the app so it's clear what you're working with. There's also very little (especially visual) information about what you're actually going to install. I know the mockups you did, Allan, were absolutely preliminal, but this is as generic as it gets, especially compared the current app that looks pretty distinctive, which in my opinion leads to more users remembering and recommending it to their friends etc.
As far as platform consistency goes, that's something that even first-party apps can't retain in Windows (There are Fluent, Metro and Win7-style apps at the same time now) so just doing away with Adwaita doesn't seem like an issue to me - it'd convey a little bit of the design language that's coming from Fedora Workstation and some other spins.
And last, storefronts: on both macOS and in Windows, the store apps are almost forgotten and users are used to just get their apps wherever. Even modern Microsoft apps like Visual Studio Code are NOT distributed through Windows Store. Another strong point to not consider them is that both Microsoft and Apple require the apps on their stores to be sandboxed and FMW is requesting admin/root access to be able to write to raw disk block devices directly. This could possibly be resolved somehow but I don't think it's worth the effort for the fraction of users who would get the app that way anyway.
The Media Writer is also available in Flathub and could be made available in other storefronts (Snap, macOS, Windows, etc.). And from there, it becomes more important that it can do that.
Sure, someone could theoretically install FMW without having visited getfedora.org, without knowing which variant of Fedora that they want to install, and without knowing what the different variants are. But that's going to be relatively uncommon. The primary route is to go to getfedora.org, find what you want, and then follow the download/install instructions. Or to have a pre-existing idea of the Fedora variant that you want to install before you open FWM.
And even in the case where someone is using FMW without having gone through getfedora.org, it's not hard for them to go to the website to look up anything they're unfamiliar with.
My personal opinion is there should be at least a little bit of branding left inside the app so it's clear what you're working with.
I can see about adding some branding, though that will require using images, and those aren't being properly rendered on Windows.
As far as platform consistency goes, that's something that even first-party apps can't retain in Windows
I don't think that "consistency" requires the UI style to be identical - it just needs to be close enough to not look completely out of place, which is how Adwaita currently feels on Windows. It's really jarring.
The other thing is just a quality issue, in terms of how the controls are being rendered in Windows (see issues like the huge scaling and fuzzy icons) and the fact that a good number of the widgets being used in the current FMW aren't covered by AdwaitaQt.
Experimental mockups with some branding (the illustrations are placeholders):
The main cross-platform challenge here is text justification and styling. Notice how the headings are centered in most places in the Windows version, and how this conflicts with the progress bar (presumably that would be the same with the dialog headings, which would be left justified).
Thinking about the illustrations for the redesign, here's an idea for the source picking page:
Downloading page:
The initial sketch for the source picking felt a bit ambiguous:
Alternative:
I like the latter one more, however, I would still rather have Fedora logo somewhere as part of the image on the main screen (page).
Btw. I have a student who will work on Fedora MediaWriter rewrite as his bachelor thesis so we hopefully start working on this soon.
Great news, @grulja. I'm happy to do a call to talk over the designs, and would welcome any more feedback you have.
We started working on the new UI with @gastoner (Evžen Gasta). At this point he spends most of his time getting familiar with Qt and QML, but he is making progress step by step and by the end of the year he should have working Linux version, at least that's the deadline from his school.
I wanted to ask @jimmac if you can provide us all the images you included in your mockups so @gastoner can work with them and I wanted to ask @allanday about some missing bits in the design. The current version of FMW does also offer restoration of USB drives which is an important feature we have to include and also FMW can notify you about new available version. What would be the best way to support both features? The restore feature can be in my opinion just another radio button (option) on the main page (when detected) or do you still want this to be a popup banner as in the current version?
I'm still not 100% on the initial illustration, but it will do for the first iteration.
The prototypic design of the interface of Media Writer for Windows has caused me to be worried that the obvious retrograde appearance of it when compared to modern software that is for Windows shall cause utilisation of Media Writer to be less than it otherwise would for new users.
Thanks for all the work on this!
Now that we have Qt 6 imported into Fedora, we should look at having Media Writer ported to Qt 6.