Hacker News new | ask | show | jobs
by Blaiz0r 1808 days ago
Thats' a shame, and definitely something that the Linux ecosystem needs to address.
4 comments

I lost any hope when GNOME developers decided to kill Glade and started suggesting that developers should code raw .ui files directly.

https://blogs.gnome.org/christopherdavis/2020/11/19/glade-no...

Thankfully KDE is still around, but many seem to not appreciate the UI design tooling provided by Qt, because $$$$.

So I rather waste my time on Earth on platforms that value good UI/UX tooling.

Please don't assume bad faith. Glade was not "killed," there are technical reasons why Glade cannot be used for GTK4 (I can give more detail if you want). There is currently a new tool being developed by a Glade maintainer, catch this guadec talk later this month if you want to know more: https://events.gnome.org/event/9/contributions/191/

Nobody is particularly happy about having to edit the XML directly but it's the best option right now until the new tools stabilize.

I think that this might speak to the deeper problem that a lot of people have experienced with GTK: stability. The project isn't a huge well-funded company with lots of vendor-lock in like Microsoft is; it can't afford to be rethinking how the GUI toolkit should work every few years like Microsoft does. (Or continuing to support and maintain all the old no-longer-favored GUI frameworks like Microsoft does.)

It's great that GTK4 has decided to commit to API stability, but, at this point, it may be too little, too late as far as the project's reputation among many developers is concerned. Having to lose a venerable tool like Glade to get to the API-stable version doesn't exactly take the edge off.

I've posted about this before, but if you want GTK and you believe API stability is the most important thing then you should just use GTK3. The API there is frozen. I'm not sure what "reputation" you're referring to but if GTK does not meet your needs, and Qt (or something else) does, then I think that's great for you, you should just use that.
GNOME being slow and not having basic features like thumbnails in the file picker after almost 18 years was often attributed, by their maintainers, to be caused by GTK3 limitations. Even now Glade still needs a lot of "volunteering" to be production ready for GTK3. I don't use GTK anymore, this is my opinion after reading a lot about it and seeing recommendations like "if you need documentation just read existing code", "why is Glade missing X or Y? just copy some XML node, just edit the XML and pray".

Anyway who cares, maybe GTK4 is good and new GTK threads will not be full of people talking about how bad it was. But why not move the tools together with the rest? I know, it's open source, lack of maintainers, but I wouldn't dare to declare my toolkit stable until basic tools work. Qt is also guilty of doing that in some ways but at least the previous version is still production ready and they move really fast.

I don't know I'll ever get over my irrational anger about how they handle(d) GTK.

> if you want GTK and you believe API stability is the most important thing then you should just use GTK3. The API there is frozen

That is certainly not a solution, you just postpone the problem.

The real solution would be the Gtk4 to be 100% backwards compatible at both the API and ABI level with Gtk3 and similarly with Gtk5, Gtk6, etc.

Otherwise you're just subscribing to wasting your time - it might be now or it might be 5 years from now, it doesn't matter however as it will happen unless the Gtk developers finally decide to stop breaking their library every few years.

(of course don't get me wrong, it is their library and they can do whatever they please with it, they are giving it for free and they are not beholden to anyone - however that doesn't mean others like to have their code broken and waste time that they could use to improve their applications instead)

Alternatively GTK3 could get a higher level of ongoing support. That was what I was alluding to when I referenced Microsoft. For example, WinForms has technically been superseded for ages now, but, while it's not necessarily getting any big new features, WinForms apps still look decent on newer versions of Windows, benefit from things like updates to the common dialog boxes, and continue to be well-supported in new versions of the developer tools. So one doesn't necessarily have to have a lot of anxiety about leaving an old WinForms app on WinForms. With GTK3, on the other hand, I would guess that it's going to get the absolute bare minimum of love, and probably become a liability rather sooner than I might like, because the project simply doesn't have the resources to maintain a higher level of support.

And yeah, you're right, the GTK team isn't beholden to anyone. But... GUI code is expensive to write and expensive to maintain. So a GUI toolkit can have an outsize impact on the health of projects that use it. There's value in talking about things like this publicly, so that anyone who's shopping for a GUI toolkit can have a better understanding of what they might be getting into.

> Nobody is particularly happy about having to edit the XML directly but it's the best option right now until the new tools stabilize.

You are proving GP's point for him:

> So I rather waste my time on Earth on platforms that value good UI/UX tooling.

The fact that that Glade was deprecated without a replacement being ready means exactly that GNOME does not "value good UI/UX tooling".

What you've said is really not correct, at all. For one, Glade is not deprecated in the sense that it doesn't work any more, it still works okay with GTK3, however it has a number of limitations that may make it difficult to use (which it always had, nothing has changed here). Two, a replacement is being worked on, I'm really not sure what your criticism is besides "go faster" which, I'm sure we all wish we could write code faster and have it work perfectly and do everything the first time, but that's not realistic.

Edit: Just to be clear here, in my opinion the new tools will likely end up being a large improvement on Glade. Glade is a pretty old application that by design does a number of weird things that don't match current best practices, you can see some of them if you read the blog post that was posted above.

> The fact that that Glade was deprecated without a replacement being ready means exactly that GNOME does not "value good UI/UX tooling".

That's a false dichotomy. It could be (and I believe is) that things are a tradeoff. They obviously value good tooling (what developer doesn't? and look at the docs), but they value other things too and had to make a decision. With limited resources you can't do it all.

> Nobody is particularly happy about having to edit the XML directly

I wouldn't mind editing a concise XML dialect (XML really doesn't have to be monstrous, a dialect it can be designed with humans in mind). A visual designer producing XML files as its output doesn't actually solve the problem. VisualStudio's developer experience (where you can change everything on the fly, go to the relevant piece of code in a click or two, refactor something and get it also changed in the designer etc) feels really seamless and fluent while PyQt with PyCharm+QtDesigner seems nice but not nearly like that. It seems to me nothing can be considered a serious and worthy improvement until we have an actual integrated visual RAD IDE. I would immediately buy the paid version of PyCharm (I'm using the community edition if they built a good and well-integrated visual designer in it, for whatever a desktop toolkit they prefer).

Thanks for the link, I will watch it when the opportunity comes.

However it is like the sibling comments mention, this hasn't been properly managed as message to the UI/UX community.

So when someone used to Forms, WPF/Blend, Qt Designer, Interface Builder, Delphi, C++ Builder, Swift UI, Flutter, JetPack Composer,... sees blogs and tutorials where .ui files are written by hand and direct use of GtkBuilder is praised, eventually all interest is gone.

Anyway, thanks for the link and for jumping in

That blog is just one developer's opinion, not an official statement. Although I will say I share the opinion, Glade messes up my ui files and I can't recommend using it if you want to use any newer widgets. It has always had those problems, but now with GTK4 it's no longer really worth it to try to work around them.

Also, Glade is not really even used by GNOME designers that much, what they do is make mockups in some other tool (usually Inkscape) and then have the developers implement it. I don't know about other GTK based desktops, though I think some Elementary developers are working on this: https://github.com/akiraux/Akira

Linus recently said something that left me thinking that Linux on the desktop has much deeper problems that need to be addressed before it's worth even thinking about the fine details of GUI toolkits.

https://www.youtube.com/watch?v=Pzl1B7nB9Kc

Yet Linux worked perfectly for me and many people/offices I migrated to it (they didn't need any Windows-only apps) during the recent decade. Since about half that time Windows and Mac users don't even have to learn nor tolerate anything - everything is familiar (today users of Ubuntu should better learn GNOME3 workspaces though but that's not necessary) and eye-candy.

So I really have zero idea of what problems might he mean. Besides lack of native Photoshop and Visual Studio the only thing which always annoyed me in desktop Linux were NumLock quirks. There was also a problem with games but apparently it's not the case any more.

> Linus recently said

At DebConf 2014

True, but it isn't like the things he talks about have changed significantly since then.
Ha. That's what I get for looking at the video posting date and assuming it means anything.
To be fair, 2014 is recent in Debian time.
I used to think so too. Around 2005 I finally accepted that Linux on the desktop is what it is and not much will change.
Then, in just some years, everything changed: Wireless drivers became flawless out of the box (it could take a day to make WiFi work in 2007). Unity emerged, took some years to mature and Linux has became really like Mac but even better in many aspects (and slightly worse in some small details advanced Mac users can miss). Windows 7 came and prepared the Windows population for the Unity panel. Then Unity died making the desktop experience slightly worse again but KDE finally matured enough to achieve even more (except I still miss Unity HUD with menu search). Today I just use XFCE with Chicago95 on Manjaro for my own hot-meets-retro pleasure, give others vanilla Ubuntu (with "restricted extras") and everybody is happy. Also Pop_OS with its user-friendly tiling integration is insanely cool (but it fails to install on some laptops where Ubuntu doesn't).
Nothing really changed. Linux on the desktop is still pretty much relegated to people who develop for Linux. ChromeOS is probably the closest Linux will ever come to desktop success.

When a company rolls out Linux desktops it's a news story because it's unusual. There are killer apps for Windows and Mac. How about Linux? What application is going to have my uncle calling me asking which Linux machine he should buy?

> Nothing really changed. Linux on the desktop is still pretty much relegated to people who develop for Linux.

I can only attribute this to marketing as I can see no single humble thing (except lack of MS Office (which is being phased out by MS favouring Office 365), MS VS, Adobe CS and the NumLock bug) in which Linux actually is worse than Windows. And I can see many in which it is better. Even the very user experience is better - Linux feels faster, is more reliable and can be customized to whatever you want (if you do) with relative ease. Lack of some specific apps is not a flaw of Linux. Whoever doesn't need these specific apps can use Linux comfortably.

> What application is going to have my uncle calling me asking which Linux machine he should buy?

What apps does he need? If he doesn't need the apps I've mentioned I would insist he uses Linux if I were you - so I won't have to fix it next time it breaks, gets slow or infected by something nasty.

> When a company rolls out Linux desktops it's a news story because it's unusual.

I have alone rolled out (and never wanted that to be in any news) Linux in a number of companies (~20 desktops/laptops, Browser+Office+Skype+Samba+RDP+OpenVPN workflow, one also needed a Windows GUI CRM client which I configured to run with Wine flawlessly). This worked fast and reliably forever ever since. I wouldn't, however, agree (unless paid extremely well) to become in charge of a Windows system of the same or bigger size as that would mean much more work regularly.

Flutter desktop works shockingly well on Linux desktop in my experience. It's AOT compiled to native byte code, so it's pretty fast. I think the main weakness would be 3D applications, but I can't say for certain.
Cool. I've been waiting for this since Flutter has been first announced. I will surely give it a try. I just hope you don't need to be fluent in Photoshop, CSS and a pack of libraries to create a basic table-and-buttons desktop app in it like that is with the web stack.
No, it's actually pretty fun writing UI's in Flutter, because it's relatively straight forward.

Edit: Fair warning, desktop development code is _interpreted_ by the VM when doing debug builds, so that you can have hot reloading, which is great. But it may seem like your app is slow until you do a release build. Though it seems obvious in retrospect, it took me by surprise at first.