top | item 41629381

(no title)

aaronkaplan | 1 year ago

This post demonstrates why I hate UI programming. The number of unpredictable, niggling little things that can go wrong exceeds my patience for dealing with them. I kind of enjoy thinking through the ways something might fail and writing tests to catch them, but aimlessly clicking around to see if anything breaks feels haphazard and annoying.

Is UI construction inherently that complex, or have we just not found the right programming model yet? Is it unreasonable to wish that sometimes things would just look and work the way I intended on the first try?

discuss

order

dmalik|1 year ago

This is what design systems are for. You only sand UI when you're initially creating the component. Sometimes you combine components in different ways or need to make a one off. It honestly doesn't take all that long if you know what you're doing. A good design engineer is a specialist for this type of role.

hcarvalhoalves|1 year ago

Is not UI programming, it’s designing UIs on top of HTML and CSS. There’s way too many degrees of freedom, while basic things like forms should work well by default.

ivan_gammel|1 year ago

It is not that complex. The nice ways to describe UI in code do exist. It is a business problem of a zero-sum game, where cross-platform UI is prohibitively expensive when it’s not done on the ugliest UI stack (HTML/CSS/JS).

mixmastamyk|1 year ago

There were some pretty good platforms in the past where the details were sweated for you by default. But with the web platform—while tolerable for docs—is at the wrong level of abstraction for apps. And so web UI is reinvented every year with new leaky ones.

wruza|1 year ago

In this case (web) it’s a result of too low granularity without anything that could help a developer interested in proper ui. Simply too much work to just catch up.

You can see the same in other areas. E.g. if there’s no easy way to send a request or parametrize to a query, people will invent all sorts of half assed ways to do that, even if mindful about it, due to natural pressures.

Web platform is absolutely bleeding edge graphics, but actually dogshit ui. And no one has nerve to admit it and make a change because people believe in the first part and then legacy and complexity of browsers prohibit it. And when you do it as a lib, it’s not “standard”, so nobody cares.