Refreshing the Ubuntu Desktop Installer

While I understand using new tech is exciting and all I think flutter is not the right choice for this particular job. The installer does not need to be cross platform, the apps don’t look anything like the rest of the Ubuntu session and Google has a way of abandoning projects such as these. Is there any reason it can’t be done in GTK4?

I for one think Flutter is a great choice here. It will encourage other developers to use it to create Apps for Ubuntu given a very core part of the OS will be using it. Flutter as first-class citizen FTW!

Also I think people need a bit more practical when they say “Flutter is snap-only”. Snap, just like any other packaging format is an application delivery container. Flutter is open-source software. Anyone wanting to run a Flutter based app on their desktop can do so, with a little bit of effort.

I can see great things happening :slight_smile:

5 Likes

Hello,
I am a Kabyle localizer, I am a contributor on the translation of Ubuntu into my native language wich is Kabyle on https://launchpad.net/ubuntu.
and I already see an error on the screen shot of the new installer, the native name of the Kabyle language is : “Taqbaylit” not “Tamaziɣt Taqbaylit”, please can someone tell me where to report this error? thank you.

4 Likes

I don’t understand this move. Why not leveraging the work being done upstream in GTK4 (or even GTK3) for example? Flutter is still a baby in the Linux desktop scene, and it does not look as native as GTK4 or 3 under GNOME.

1 Like

Thanks for reporting this @slimaneamiri1. The list of languages comes from the subiquity project, would you mind filing a bug in Launchpad, and/or if you’re familiar with git and github submit a PR ?
Thanks!

2 Likes

Note that Flutter uses GTK3 on the Linux desktop.

For the same reason that so many Electron apps exist: it’s easier for developers.

As a user, I really like GTK3/GNOME applications. They often look great, respond quickly and are really easy to understand. As a developer, however, I find it very hard to use. It has a steep learning curve and has all the issues of a niche project without strong commercial backing.

So what’s the alternative? Electron?

Flutter is a great compromise: it’s almost as easy to use as Electron, but it creates native binaries and has native integration with GTK. Given that Google pushes it so much, there is a high chance that many developers will know how to use it.

So, in the context of “we want more people developing apps for Linux”, I think this is a great decision. With such a core part of Ubuntu using Flutter, Canonical will be forced to make sure Flutter works great on Linux. This has the potential to get a lot more people contributing to Ubuntu and developing apps for Linux.

12 Likes

One think I’d like to see improved is smarter language selection. In Ubiquity, if I select English as language and select Brussels/Belgium as my timezone, my dates are in German. In the installer, there is no way to see this will happen and no way to change this.

4 Likes

In hirsute that combo will result in Dutch dates due to bug #1907914. Please also see the discussion at that bug report. What would be the “smarter” solution in your opinion?

1 Like

Using Dutch is an improvement over German. Creating en_BE seems like a good long-term solution to me and makes sense given the high number of English speaking people in Belgium. I’m personally using en_IE but there is still some difference with en_BE.

I think that including locale selection in the UI makes sense too. I disagree with the statement that this is an isolated case. From my experience, many people use English as the language in Ubuntu even though it’s not an official language of the country they’re residing in. I think the current approach of “timezone == locale” is too simplistic and I think it’s very easy for people to grasp what a “regional format” is. Especially when you include an example like this:

image

PS: what is “hirsute”?

3 Likes

+1
Pretty much the same situation for me. As a Java Dev I find gtk pretty weird to say it the nice way. But I think more than the toolkit the problem is a missing proper IDE. Gnome builder is okay, but it lacks many features compared to intelij, eclipse and even compared to vscode.
For example flutter snap + Vs code + flutter extension feels like Java in eclipse just faster.

As far as I understood the licenses, flutter and dart are a more “free” than Qt.
(Could be wrong though)

I think that this is a good alternative to pure gtk and gives room for nice cross platform desktop apps that now can easily target the Linux desktop, too.

Also I don’t see a reason why Gtk3/4 and flutter apps shouldn’t co exist in Linux. I use an electron app (vscode) at least 60% of the day, 30% Thunderbird and Firefox and 10% gtk apps (basically only GCC, Nautilus and lutris)

2 Likes

Hirsute Hippo is the version under development that will become Ubuntu 21.04.

2 Likes

Ok. I usually describe the “timezone == locale” approach as the installer making a guess of a reasonable locale. But I suppose the new installer is a good opportunity to reconsider it, and allow the user to select regional formats explicitly.

2 Likes

I found Arabic is missing from languagelist and I make PR to add it
ar_EG, ar_SA

Hmm… That list is very short even if Arabic gets added.

1 Like

that correct, if they do like google android in setup guide
first choose the language then choose the region/country will be better

2 Likes

Hello,
Yes i’am familiar with github, i am going to submit a PR.
Thank you.

1 Like

I don’t know if this is going to be the correct place to put this, but the most important feature to add is the ability to resize the installer window. I have a 1440p monitor, and a number of disks, and it’s an absolute pain using ubiquity to sort out the disks during install. I should be able to see them all at once, especially on such a large screen, but the inability to resize the window makes me feel like it’s still 2010.

3 Likes

Done. thank you very much

Good day.
Could you please make sure that the new installer allows and provides the use of explicitly selected EFI partition (meaning non-default one which could be occupied by some foreign OS)? Ubiquity now ignores user settings on that: https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1822464

Also, it would be a nice if you add support for encrypting user’s home directory with fscrypt as a modern and more secure replacement for long ago deprecated eCryptfs. For those who still prefer ext4 and f2fs. If working on it, this should be taken into consideration as well: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1889416

As long as this feature of Ubiquity remains https://wiki.ubuntu.com/UbiquityPreserveHome, so I can still do this procedure to rescue borked installs, I’m fine with the change.

1 Like