Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You can kind of see the desktop UI train wreck in real time here.

We started with simple stable APIs for a common look and feel. For a while these were evolved and made available in other languages. This was back when native apps were consistent and intuitive and you could… uhh… actually write and ship them without bundling giant runtimes or checking a huge compatibility matrix.

Then around 2012 the train rounds the bend and screeeeech it hits some bad track and starts to derail. UI starts trying to emulate the web, a terrible UI platform, and sane compositional UI libraries and APIs are abandoned in favor of XML soup.

Since this stuff is a trash fire, this is followed by multiple incompatible attempts to replace or fix this. Most of these are abandoned dead ends. Meanwhile we also abandon the incredibly productive point and click WYSIWYG UI builders because apparently people want to write XML puke instead.

Meanwhile the dev community just said fuck it and went to Electron, creating today’s world where a “hello world” app with an OK button is hundreds of megabytes and has to load an entire private copy of a language runtime and rendering engine.

Versions of this comedy of errors have occurred on every other platform, and of course there has been little effort to create a cross platform UI API that’s sane beyond Qt (with its own problems) and dozens of half completed OSS projects.

So enjoy Electron I guess.

There was one sane human being who tried to do this a while ago:

https://github.com/andlabs/libui

It’s the only sane desktop UI project I’ve seen in almost 20 years, an attempt to create an actual cross platform common API wrapping well behaved mature native APIs. Like a modern reboot of wxWidgets, an also sane but old and dusty project.

But it’s abandoned of course, likely too difficult for one dev and nobody is going to provide financial support for anything that sane. It’s neither trendy nor profitable nor a wedge to try to ram a new language down our throats (e.g. Flutter and Dart).

Maybe AI will get good enough some day that we can use it to do a thing like that. I do have this weird idea that we might be able to use really good code generating AI some day to do a lot of very sane but boring and unprofitable things that would make computing a lot better.



I'd tend to agree, but you didn't include MSFT in "desktop UI train wreck." Several frameworks, some windows native (delphi, lazarus), some not, all the way back to DOS (TurboVision, lazarus, NEXTStep) still provide an arguably superior programming experience, in spite of their age. And web ui is still mushy for dense business apps, IMO. Me smells a bit of the C myopathic tyranny here, like how Rust is meant to solve programming issues, when it would be more accurate to suggest it solves C, and C++ programming issues.


Why oh why did WYSIWYG go away? When I dabble in web development it’s so frustrating compared to what we had 20+ years ago with C# and WinForms. I just want to make some buttons and menus and hook them up to a little logic! Argh.


May I ask what’s wrong with HTML and maybe a good CSS framework? I find it to be super portable and robust.


If you start adding traditional GUI application features - toolbars, tooltips, shortcuts, clipboard, drag and drop... You can get very close with all of those things in HTML, but not in the "native look and feel" way where the OS and framework actually knows what's going on and helps coordinate behavior.

Basically, the web's features are there to help you create advertisements and e-commerce frontends. They aren't productivity-focused, and the type of UI you get out of them by default reflects that.


Judging by the last decade, Microsoft itself doesn't know what a Windows "native look and feel" is. I doubt anyone would miss stylistic touches, colors or form elements. Just get the basics right - alt-activated menu, ctrl-scroll to zoom etc.


All kinds of great ergonomic UI design principles were forgotten overnight when the web hit.

It feels like lost magic from an ancient forgotten empire. There was a time in the ancient misty past when we thought about computing from the perspective of cohesion, reducing cognitive load, and helping users create things.

Go find a copy of Office before the “ribbon” or Visual Studio before XAML.

Apple is the only company that even tries anymore, and they aren’t great just somewhat cohesive compared to the mess on Windows and Linux. Linux is arguably better than Windows these days in some ways.


Good point. I don’t try too hard to get to native look and feel because as this article implies, that question has already become moot IMHO.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: