FedoraQt / MediaWriter

Fedora Media Writer - Write Fedora Images to Portable Media
GNU General Public License v2.0
718 stars 156 forks source link

[RFE] Port to Qt6 #275

Closed Conan-Kudo closed 2 years ago

Conan-Kudo commented 3 years ago

Now that we have Qt 6 imported into Fedora, we should look at having Media Writer ported to Qt 6.

grulja commented 3 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.

grulja commented 3 years ago

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.

Conan-Kudo commented 3 years ago

We probably want to keep the Adwaita style...

allanday commented 3 years ago

@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?

grulja commented 3 years ago

We can do it here I guess. I can write some pros and cons (my opinions) for each proposal:

Keep Adwaita style

Pros:

  1. Unified look across all platforms
  2. UI similar to the one used in Fedora Workstation
  3. Less work for me

Cons:

  1. We have to keep syncing Adwaita theme with latest Adwaita from GNOME

Use native styles

Pros:

  1. FMW will fit more into Windows and MacOS
  2. No need to take care of fixing issues in the new styles

Cons:

  1. We still need Adwaita theme for Linux (GNOME) at least
  2. Loooots of work
allanday commented 3 years ago

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.

grulja commented 3 years ago

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.

allanday commented 3 years ago

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.

grulja commented 3 years ago

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.

allanday commented 3 years ago

I'm not able to work on the mockups straight away, but I'll get to them as soon as I can!

allanday commented 3 years ago

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.

image

Conan-Kudo commented 3 years ago

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.

grulja commented 3 years ago

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.).

allanday commented 3 years ago

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...

Conan-Kudo commented 3 years ago

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.

MartinBriza commented 3 years ago

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.

allanday commented 3 years ago

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.

allanday commented 3 years ago

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.

allanday commented 3 years ago

Experimental mockups with some branding (the illustrations are placeholders):

fmw-branded

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).

jimmac commented 3 years ago

Thinking about the illustrations for the redesign, here's an idea for the source picking page:

image

Downloading page:

image

jimmac commented 3 years ago

The initial sketch for the source picking felt a bit ambiguous: media-writer

Alternative: media-writer-alt

grulja commented 3 years ago

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.

allanday commented 3 years ago

Great news, @grulja. I'm happy to do a call to talk over the designs, and would welcome any more feedback you have.

grulja commented 2 years ago

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?

jimmac commented 2 years ago

I'm still not 100% on the initial illustration, but it will do for the first iteration.

media-writer.zip

RokeJulianLockhart commented 2 years ago

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.

allanday commented 2 years ago

Thanks for all the work on this!