Hacker News new | ask | show | jobs
by tetris11 807 days ago
I do wonder about this often. Are these new UI frameworks iterating upwards towards some unknown featureset archetype, where if given another 10-20 years, the designers will say "Okay, we've reached diminishing feature returns, let's pack it up and optimize"

Or, are we simply re-inventing the wheel each time, where the set of features over the last few decades really haven't change that much or cycles through featureset phases.

3 comments

I would say, to go with the metaphor, that none of our wheels are close to round yet, and every now and again someone invents a new wheel that has a different kind of bump.

Concretely, "shadow DOM", reactive (web) components and js frameworks etc. etc. are all ways of trying to get a set of rich UI components (like we're used to from desktop applications) into an environment that was originally built for static text pages, and has been expanded by patchwork ever since. DOM updates are slow and cause flickering because the original model was you submit a form and the entire page reloads; updating part of the page in response to an asynchronous request or a local event wasn't in the original design space, and every solution we've tacked on so far sucks in a slightly different way. Not helped by the complexity of being able to dynamically change the layout and size of every single element - CSS is incredibly powerful, but setting a button to have a 1px border only on hover for example has a tendency to make other page elements "jiggle" in ways you don't want.

> Or, are we simply re-inventing the wheel each time, where the set of features over the last few decades really haven't change that much or cycles through featureset phases.

The problem space is much larger now than it used to be. 20 years ago, you didn't care about things like responsive design, accessibility, fractional scaling, even internationalization was basic/non-existent. There's a long tail of features (often extremely complex, like accessibility) which are not immediately obvious for an english speaker with normal vision staring at a standard sized display.

Microsoft specifically cared about all that, way more than 20 years ago - Windows, for all the criticism it takes, from early days had internationalisation (they wanted to sell across the world after all), accessibility features, ways to adapt to different screen and DPI sizes etc. I think Explorer windows since at least Win 98 did something responsive-ish in that various side bars/panels would disappear if you made the window narrow enough. Of course, the icons would rearrange themselves into fewer or more columns as you resized the window too.
I would expect some overhead, but none of the features you describe seem to justify performance hit apps have taken.
Performance is a feature just like any other. Customers are looking for a good combination of features, including performance. At some point, the feature (in this case performance) is good enough, and it doesn't make economical sense to improve it.
> Or, are we simply re-inventing the wheel each time,

This is how it has been since I've been in the industry (2005). it's part of why I got out of web development; it felt like a whole lot of relearning how to do the same thing every few years. At first, there was incremental feature gains, but after a while, it felt like newer frameworks or approaches were a functional step back (i.e., NoSQL, the fact that it eventually came to stand for "not only SQL" tells all).