Flutter's future on Ubuntu/Linux?

Are you aware we use a distinctive style in Ubuntu that is based on the gnome themes but not a hard copy of the gnome themes? That we basically almost have our own design language?
Just move a gtk window with the Adwaita theme selected beside a desktop application like Discord, MS Teams, Chrome, Firefox or Telegram desktop (qt), and then ask yourself if you should Adapt the World to MacOS-Aqua inspired sceuomorph Adwaita theme or rather the gnome themes to the rest of the world?
I would rather say we could eventually adapt some of the Flutter widget styling more to Yaru but that’s about it.

Also theming for Flutter is really cool and much safer than in gtk and this whole topic of “theming” is not so negatively overloaded like in gtk, because a real theming API is built in there.
Here is our current work on the Yaru dart theme:

To add something about your noise about flutter: just imagine you developed an app for android and can just roll out the same app for all desktops including Ubuntu? It is so super cool, I can really see no downside here.

Styling can be changed, do not panic about this.

2 Likes

Sorry, I cannot take your argument seriously with this amount of hyperbole.

6 Likes

And just how are the many different UI languages in Windows not inconsistency?! There’s Win3 UI, Win9x UI, Win XP UI, WinVista UI, Win8/Metro UI, Win 10 Fluent UI; all different and unique. How is that not inconsistent?

3 Likes

The weird thing about your argument is it’s very possible for devs to get Flutter’s yaru package to be seamlessly consistent with Ubuntu’s design team. Still some work to be done for sure but it’s still early. It would be possible to do the same thing but with Adwaita but no one’s working on it. Also as far as the installer project, no one expects an installer to look exactly like the rest of the application windows.

Plainly speaking, Flutter allows people to have an Ubuntu app creation framework that is well supported with GREAT tooling in popular IDEs. It is attractive to so many people making apps for other platforms that wouldn’t touch Gnome Builder or QtCreator with a 10 ft pole. This is only a win that doesn’t take anything away form you.

I mean imagine users of a software being able to tell a dev. “Hey I love this app and I want a Linux version!” then, as the developer prepares to give the old “sorry but don’t have the bandwidth to support such a small percentage of users”, they instead take a look at what it entails and they’re like… “hm actually this is super easy here you go!”

Yes, I agree 100% but you are misunderstood my issue and this response is very much appreciated but not really relevant because I actually agree with you completely. So just to clarify, I’m not against Flutter apps. I’m against defaulting Flutter apps that look like android apps. I’m warning about how bad that visual inconsistency is. But that is solvable, Canonical could invest in a UI library for making visually GTK/Gnome/Ubuntu looking apps with Flutter. Just don’t SHIP an app that doesn’t LOOK as a part of the same OS by DEFAULT in the iso.

I have no problem with third party apps being all different for what I care but the default apps should all conform to the same HIG for various reasons.

Yes. And no you don’t, Yaru is a GTK theme, it’s still GTK, it still has CSD, all widgets are the same etc. It’s basically a color scheme (i know it’s more than that, but for the purpose of this conversation I’ll say it like that).
When you look at Yaru GTK app you think Yaru GTK app. When you look at that new installer you think android app with a Yaru color scheme.

Again, I 100% agree. For third party apps, it’s a dream come true. It will be a game changer for Linux in general, Ubuntu and ofc Canonical for snaps, kiosks etc. I love it. But here I’m talking about default apps on Ubuntu and how they should have a look and feel of a typical GTK Gnome app and not Android app.

Yeah I know but what I’m asking is if Canonical is willing to invest in it. To make it a real thing. Just like there is Cupertino for iOS, make for example “GnomeUI” for Linux (If you plan to continue using GTK apps to and GNOME DE). Give a public statement, maybe a roadmap etc.

Absolutely not a hyperbole. I had a privilege to teach Ubuntu to seniors. If something changes, if some app does something differently than the other. Let’s say Firefox updated it’s icon. They go into a panic mode. The same with having varying UI patterns across default apps. Ubuntu/GTK apps have CSD, Flutter Material has a title bar and controls from the CSD are shifted to the top bar under the titlebar. That would be an issue.

And that’s why there are people still using Windows XP today. Because for some the change was to drastic to upgrade (or other reasons). But the important part is that Windows 10 is bacwards compatible but is not shipping any Windows XP app etc. You are putting 30 years worth of different OS-s in the same pot with this statement which is untrue. In Window 10 they ship apps that all look like Windows 10 apps. Not a single one looks like Android, XP, Vista or anything other than Windows 10.

It would be great ofc, but never did I say anything about Adwaita. Yaru would be great. As long as it looks and feels like a true GTK app with CSD and all.

Oh man, once again, yeah. Sure. Great. I love it. Make any future Flutter app that is going to be defaulted in Ubuntu visually consistent with what’s being shipped at the moment aka GTK/Gnome. Make library for that if Flutter is the way forward for Ubuntu apps.
Give some more information about this direction as I’m and many others are worried and expecting Ubuntu to start shipping apps that look like they were made for Android or ChromeOS but with Yaru color scheme. If that’s the plan it will be terrible.

As for third party apps, they can do whatever they want, no one is disputing that. It can be Material, Cupertino, Windows style, whatever.

none look anything other than Windows 10, at all. Totally consistent.

2 Likes

I should have mentioned I’m interested in actually creating a fork of Yaru but more Adwaita based.

As far as CSDs, per the post about Flutter wayland development:

Also I’m heavily watching this bug for CSDs on flutter

And while my other Flutter thread is lonely and will likely die alone :upside_down_face:, I’m hoping eventually some more (positive minded) people/devs might post and discuss future goals, or practical/reasonable feature requests on there (with accompanying bug links)

1 Like

That is still a Windows app progression there. But in all fairness, you’ve shown me. Kudos to you. I still think Ubuntu shouldn’t be looking up to others fails.

Also, I’m not saying don’t ship a gtk 3 app when the rest is ported to gtk4. Just don’t ship an Android one.

One should also try to guess what lead to the screenshot you invoked. I think that they just didn’t get around to designing those in the Win10 style. But if they are developing an app in the present, they won’t make it match XP, they’ll design it for the Windows 10.

You are trying to make a case for why future app development should diverge in their UI/UX from GTK/GNOME while still intending to track and ship mainly GTK/GNOME (afaik). I think you might not have realized that.

But sure, kudos.

My point was your statement is a strawman fallacy. There is no desktop operating system that ships a 100% consistent UI. This is especially so with Linux distros because we’re shipping a hodgepodge of various third-party applications as “default”. We cannot guarantee that they’re all visually consistent because we don’t write them.

That’s a comforting news right there :smiley:

As for the theme if I may share a few (since subjective) irrelevant thoughts:
I found the whole Suru/Yaru style and matching icon theme very appealing on Unity8. Mainly because it was a totally new DE that was supposed to look like that and the app icons too. The legacy app icons just had a border around them similar to Unity7.

When Ubuntu switched back to Gnome I longed for that Suru experience in Gnome. And it was kinda achieved trough Yaru and Yaru icon theme etc. It kinda made sense back then to still keep suru/Yaru around and not make it go to waste. Adwaita back then really wasn’t something to look at too. Gnome icons were basically garbage back then.

In the recent years tho, Adwaita has matured a lot along with GTK. Gnome app icons have matured a lot too. I find Adwaita Dark more appealing than Yaru nowdays but at the same time I find Yaru more appealing than Adwaita White.

In light of Flutter becoming a go to toolkit for Ubuntu app development, maybe there is no need to differentiate Ubuntu from others by its theme but rather by its apps and the theme could be just stock Adwaita or some mix of Adwaita Dark and White (Like yaru is now but closer to Adwaita).

I now find that the icon theme brings me more confusion than benefit. Because everywhere on the web a particular app will be represented by its real icon but in my OS it looks different. Icon theme is often not updated for some apps (Like Gnome Web, it has a totally different icon now but Yaru ships the old one). So basically there was a real need and benefit for icon themes when Gnome apps had ugly icons. Now they all have nice and polished icons so I no longer see a need for having it in Ubuntu (maybe only for default apps if even).

In my mind, this would expand adoption of Flutter on Linux even beyond Ubuntu and across the whole Gnome ecosystem. It would also free up some time for people who are currently maintaining all those icons and theme to maybe focus more on Flutter. It’s an opportunity to maybe do something cool. I imagine Yaru maintainers might be a bit bored now because the theme design is set and there’s only dealing with issues that brake the theme and keep it from working properly.

I think with these changes Ubuntu would still retain it’s uniqueness and mainly with its default extensions, Ubuntu font (which is amazing), and Suru icons (but not app icons, I mean the UI icons arrow, hamburgers, battery, wifi, sound etc). Those are just way superior than what stock Gnome has (imo, subjectively speaking ofc).

Now, these are just my thoughts. I like Yaru theme but I’d trade it for a great Flutter style and being closer to upstream Gnome which theme looks pretty nice today.

That said, when I wrote the original post, I really didn’t have this in mind. I thought about GTK like Yaru style for Flutter. But since you’ve mentioned you’re working on Yaru and are bringing it closer to Adwaita I thought I’d share a few thoughts from my user’s perspective.

Just… Be a friend and don’t just agree with shipping Material UI apps with Yaru color scheme on Ubuntu by default. I can’t believe I’m the only one on this forum making any issues about this. It’s a pretty big deal what you (as Canonical) decide on this issue.

Are you guys for real? My post was promotional??? How?? I’m literally talking about Ubuntu and Flutter…

Calm the farm dude. This is discourse, it has anti-spam features built in. It also allows community members to flag posts.

The problem with your post is that not much productive comes out of it.
First you shit post on Twitter on the announcement with vomit emojis. Then you make a topic about “the future of Ubuntu and flutter”, which sounds really big for a discourse thread, don’t you think? Then you post just false facts and make them look like they are arguments. Then you say all you wanted to talk about are themes, even if the title of this post sounds differently. So yeah, we take the visual appearance of Ubuntu very seriously and many people including Canonical and community contributors and designers are taking care and invest time. But as everything that needs to be developed it won’t happen over night or in a noisy discourse thread claiming the only future for Ubuntu is adapting its visual design to the Adwaita design language which is not really at the edge of design to say it nicely.

3 Likes

Thanks.

Obviously not when you are not replying on this post but on my Twitter comment. Like what do you want me to say? I’m sorry for the twitter comment, ok? I know many people worked hard on this. I apologize and let’s not mention that again. I can delete it if it really means something to you, but I’d rather not personally.

As far as this thread not being productive. I mainly said what I wanted to say. It’s up to everybody else now to agree with the thinking or not. If I’ve at least a bit influenced the future development of Flutter on Linux in the direction of being visually integrated into Gnome I’d call this a very productive discussion.

And I’ve learned some things myself. Like Windows still sucks from @diddledani and a few developments in flutter to keep an eye on by @ikeahloe. So yeah, I’m pretty happy with that.

Well said, it’s just another option for developers and users.

2 Likes

You are missing like at least Windows 11 new style and the electron/edge based UI. And also some GUI toolkits exists twice, like, there are TWO winforms. I have no clue what’s windows native style at this point.

Btw, I am excited to see what can be done with flutter. And curious about 22.04. Hope to play with the new installer soon!

1 Like

Anybody else having issues with building for linux desktop and launching flutter apps when using flutter snap?

I’ve created an issue a long time ago but the devs went silent :confused:
https://github.com/canonical/flutter-snap/issues/50

Is Canonical still behind this or was this effort axed at some point in between?

FWIW, I don’t think Marcus is working on flutter anymore, not sure who has stepped in their stead though, but it still is supported by Canonical. CC @kenvandine ^

I haven’t been able to reproduce this myself, tested on both impish and 20.04. I’ve assigned the issue to myself to investigate further.

1 Like