Live data from Hacker News

The Elements of UI Engineering

overreacted.io

21–30 of 84 posts

Re: The Elements of UI Engineering

#21

From the part on accessibility: > But we also need to make it easy for product developers to do the right thing. What can we do to make accessibility a default rather than an afterthought? Yes! We accessibility advocates have been wishing for this for decades. In the context of web development, application developers should rarely, if ever, have to reach for the ARIA role attribute, because they should be able to re-…

For React, https://ui.reach.tech/ is a project that attempts to help that.

Re: The Elements of UI Engineering

#24
post #8

I've been building consumer apps professionally since 2013 on iOS, Android, Windows Phone and the web. I also spent a few years designing and implementing UI frameworks. I've had to deal with all of the problems listed in Dan's article (with and without frameworks). Over the years, I have grown convinced that designing and implementing UI by hand simply doesn't scale. There are too many things to consider, too many d…

A related issue is that the means of making web UIs are too low-level. There's no standard ready-made widget kit like on desktops. HTML and CSS started as a solution for publishing text-based content, like the olde magazines but on the web. For that they are splendid: text rendering and basic input handling are taken care of, and wide variety of output devices were supported since day one (HTML 2.0 without tables wor…

>This may be good because high-level widgets will be developed independently and will evolve faster (and maybe better) than if they were built into browsers. But in the meantime we have to live with the chaos that we have.

I don't think that having some good built-in widgets (like a better dropdown, menus, DataGrid) would prevent third parties creating their own custom versions but it would help 99% of users that need the basic stuff (like a dropdown that can have icons)

Re: The Elements of UI Engineering

#25

I've been building consumer apps professionally since 2013 on iOS, Android, Windows Phone and the web. I also spent a few years designing and implementing UI frameworks. I've had to deal with all of the problems listed in Dan's article (with and without frameworks). Over the years, I have grown convinced that designing and implementing UI by hand simply doesn't scale. There are too many things to consider, too many d…

One UI to rule them all? This would be a really interesting tool for web developers. Thankfully, modern UI development is blessed with some really professional UI toolkits: elements UI for vue or Semantic React for instance do a great job of making us think in terms of generic interactions instead of reinventing the wheel. This means we get to focus on improving the existing as the project warrants which is significa…

I would prefer powerful UI widgets built in and if your preferred framework wants it can wrap this widgets or if not it can just use nested divs and css to create an alternative.

Re: The Elements of UI Engineering

#26

Navigation Whenever we can't fit everything on the screen at once, we use some of the patterns below: - scroll view - virtualized list - tabs - drawer - master-detail - page navigation - modal navigation - alert - tooltip - combo box - collapsible - carousel - gallery It wouldn't make sense to use any of these patterns if we had ∞ sized displays. Would you call all of the above patterns "navigation"? Why not? Isn't n…

This is an interesting idea. And like very often things that may seem like counterexamples on the surface are actually open doors to something completely different ways of doing things.

Like:

-Normal (stacked / Z) navigation is still special since it happens always on a full-screen scale.

-While you can stack your own UI the way you want, you still have to be able to really navigate to another page or app.

What about if you could navigate on widget scale? Like every web widget would have a different URL? Instead of having a single monolithic view we would have more independent views.

Or what about if we render external links as regular content? Should and be just a single element and just give different CSS render hints. If we can compose final user experience from multiple applications what kind of "higher order applications" we can do and what this means for application development?

Re: The Elements of UI Engineering

#27

Navigation Whenever we can't fit everything on the screen at once, we use some of the patterns below: - scroll view - virtualized list - tabs - drawer - master-detail - page navigation - modal navigation - alert - tooltip - combo box - collapsible - carousel - gallery It wouldn't make sense to use any of these patterns if we had ∞ sized displays. Would you call all of the above patterns "navigation"? Why not? Isn't n…

What do you make of route transition animations?

Re: The Elements of UI Engineering

#28
post #11

I wonder how the author would approach the "infinite scroll" problem.

That’s the fun one because it’s at the intersection of several of these problems.

Would love to hear your thoughts as well on this! Especially with regards to remembering scroll position between route navigations in an infinite scroll component that fetches its content asynchronously.

Re: The Elements of UI Engineering

#29

Earlier quoted context omitted.

That’s the fun one because it’s at the intersection of several of these problems.

Would love to hear your thoughts as well on this! Especially with regards to remembering scroll position between route navigations in an infinite scroll component that fetches its content asynchronously.

i've thought about this some.. seems to me the url/hash route needs to tell us both the app state and UI state, but most routers dont do this

Re: The Elements of UI Engineering

#30

From the part on accessibility: > But we also need to make it easy for product developers to do the right thing. What can we do to make accessibility a default rather than an afterthought? Yes! We accessibility advocates have been wishing for this for decades. In the context of web development, application developers should rarely, if ever, have to reach for the ARIA role attribute, because they should be able to re-…

For React, https://ui.reach.tech/ is a project that attempts to help that.

React Native for Web also aims to raise the bar.
Post reply on HN