On User Interfaces On the Web & Beyond
2024-04-16 in link, longread
Link: The Decline of Usability: Revisited | datagubbe.se
This has to be an “old man yells at cloud” situation if there ever was one, but as someone who remembers at least some of the systems outlined in the article, it’s hard to disagree with its conclusions. The web is the platform that’s most familiar to me and resonates the most, but the text repeatedly demonstrates things aren’t great on other platforms either. (Although, with the Electrons and the likes, it’s not even clear where the web ends and “other platforms” begin.)
During the peak of Bootstrap, people complained that all websites and webapps are starting to look the same. I am demonstrably not a designer, and I’m sure there are good arguments to be made in favor of some diversity being desireable. That said, I always thought that “websites looking the same” isn’t the most expensive price we could pay for familiarity and consistency of our interfaces. We’ve since long abandoned any attempts to achieve that — to great success.
Browsers, of course, have decent defaults for dealing with web sites (see, e.g., danluu.com), although it would be difficult to argue that this feels remotely “familiar” in 2024. There are no good defaults for web apps — HTML was never intended to be a UI toolkit, so at best, we’re playing catch-up. I was hoping that the likes of React and Web Components might result in a couple of well-adopted, powerful UI toolkits for the browser, but it’s predominantly used as a way to churn out gazillions of ad-hoc, low-quality, non-standardised components.
(To be fair, there are good UI toolkits built on top of modern web frameworks out there. I’ve worked with a few: they’re mostly commercial, but that’s fair game. None of them could be described as “well-adopted”, though.)
The unexplainable need to replicate mobile & e-commerce UIs to software in general sounds like a plausible explanation for this mess. My unproveable side-hypothesis is that there’s another component at play: the incredible ease of updating modern software. Early on, distributing software was hard. Distributing updates meant having users savvy enough to figure out an update had been released, and determined enough to actually install it. You really had to think long and hard about your UI choices, and unless you’ve had very good reasons not to, you chose consistency. Today? Release any random crap, then measure and/or listen for feedback. No need for serious thought — it’s not like you’re burning this on a CD.