The State of the GUI

John Carter john.carter at taitradio.com
Mon Oct 29 02:32:36 UTC 2018


On Wednesday, 24 October 2018 at 06:20:05 UTC, Adam Wilson wrote:
> I know that this topic can bring out the rage-trolls

Not a rage troll, just a sad troll.

One that remembers a time when graphics and visualization and UI 
design was fun and easy to do.

> At this point in time HTML/CSS/JS is by far the most prevalent 
> UX toolkit in use today and not a single modern website uses 
> the native widget theme. The bare minimum is Bootstrap.

Sadly, true. Standardization was abandoned, killed, stabbed in 
the back.

And now we live in the worst of all worlds. You need to 
understand a vast pile of standards, and a vast pile of half 
documented 3rd party libraries on top of the standards... and 
like hapless princesses in distress, we're left to cry "Help me 
Stack Overflow, you're my only Hope".

> I think this is a key point. The theme itself is now part of a 
> brand and using the native toolkit would be a branding 
> disaster. American Express, Facebook, or Google aren't in the 
> business of showcasing Microsoft's, GNOME's, or Apple's 
> branding, they want their apps to showcase their own brands.

Ah yes, the pixel pushers. Sadly, they have won.

> *At first I hoped that such a technically unsound project would 
> collapse but I soon realized it was doomed to success. Almost 
> anything in software can be implemented, sold, and even used 
> given enough determination. There is nothing a mere scientist 
> can say that will stand against the flood of a hundred million 
> dollars. But there is one quality that cannot be purchased in 
> this way - and that is reliability. The price of reliability is 
> the pursuit of the utmost simplicity. It is a price which the 
> very rich find most hard to pay.*
> Tony Hoare

> There are other reasons that native toolkits died however. The 
> first is data visualization. What can be expressed in 10 lines 
> of WPF code would take anywhere from 100-1000 of Win32 code to 
> depending on the visualization.

D3.js has this property too.... but I despair of it. If you peek 
under the hood of D3 or WPF to try and understand why something 
isn't working the way you thought it should..... "Help me please 
Stack Overflow, you're my only Hope".

> The second is Electron. Electron is a terrible framework for a 
> host of reasons. But the one thing that it achieved is the 
> write-once-run-anywhere (WORA) desktop UX toolkit.

Once there was a vision, a brilliant vision, semantic markup to 
describe the parts of a document, style sheets to guide the 
presentation, and rendering engine to make it look "fairly" good 
on any display, any aspect ratio, any display any user choice of 
font and fontsize.

And then the "Optimized for 800x600, must be pixel perfect 
always!" crowd came along.

And WORA cease to mean WORA. It mean must do exactly the same 
pixel perfect things everywhere.

Ah! I remember the glory days of The Zen Garden of CSS.... 
anything could be achieved by styling.

Except they lied, under the hood it was all <div>'s and images.

> You run into a plethora of minor issues surrounding differing 
> Fonts/Paddings/Margins etc. So even though the toolkit itself 
> may be cross platform you still need to create three separate 
> interfaces to iron out these small but noticeable details.

And there the brilliant vision is lost. Instead of semantic 
markup and styling hints, rendered "Good Enough" everywhere, the 
demand for pixel perfect rendition, pixel identical everywhere 
and the users preferences be damned.

> Native toolkits are a dead-end. The future of non-Web UX is 
> non-native.

As I say, I'm not a rage troll.

I am a sad troll.

I am sad and miss the good old days when tossing off a 
visualization was ten minutes work, simple and fun, and I could 
peek under the hood all the way down to the machine code and 
understand what was going on.

And fix it.

> Then there is the fact that by definition, any UX toolkit 
> requires an absolutely gargantuan number of interfaces to 
> achieve the desired result. My DirectX interface is tiny 
> compared to the Win32 UX interfaces, and it's something like 
> 16000 lines of D code, without macros.
>
> And none of this is even counting the tooling ecosystem that 
> would be recreate from scratch. Qt has QML, WPF and UWP have 
> different flavors of XAML. There are special pre-compilers. The 
> list goes on. So when individual sets out to bind a UX toolkit 
> they inevitably flame-out because the amount of effort required 
> to get something simple working is enormous.

The saddest day of my programming life was when Windows 3 came 
out and I found out how much cruft I had to write to say "Hello 
World"

These days I keep as far away from UX gargantua as I can.... 
because touching it will swallow months of economic effort for 
very very little useful return.

> The way I see it. We either pull together around a unified 
> vision for a UX toolkit written in D from the ground-up or we 
> wait (im)patiently for a benevolent corporate benefactor to 
> appear. It's that simple.

Or consciously relinquish the pursuit of pixel perfection and 
"the theme itself is now part of a brand" and aim for semantic 
simplicity.

And make programming fun and useful again.

> This isn't the first time I've asked for help. And to be 
> perfectly honest, I expect the same crickets response I've 
> gotten before, but if you are interested and willing to 
> dedicate yourself. Please let me know.


Good luck Sir Knight, that windmill you are charging is vast and 
unforgiving.


More information about the Digitalmars-d mailing list