Open-UI: Maintain an open standard for UI and promote its adherence and adoption

github.com

347 points by ksec 14 days ago


gyomu - 11 days ago

The statement of purpose on the website (https://open-ui.org) is much clearer with their actual goal than the wordy Github document:

> The purpose of the Open UI, a W3C Community Group, is to allow web developers to style and extend built-in web UI components and controls, such as <select> dropdowns, checkboxes, radio buttons, and date/color pickers.

That'd be great. I hope they succeed.

jefftk - 11 days ago

A clearer way to understand this project is to look at their graduated proposals:

* https://open-ui.org/components/popover-hint.research.explain...

* https://open-ui.org/components/popover.research.explainer/

* https://open-ui.org/components/invokers.explainer/

* https://open-ui.org/components/accordion.explainer/

The goal is to take common web UI patterns that are good UI but require fiddly custom JS today, and get them standardized and into browsers.

helloguillecl - 11 days ago

I highly support this initiative.

One of the many reasons of why frameworks like React are used so extensively is because they provide a bridge for the lack of modern HTML implementation of basic control elements, like multi-selectors, search selectors, calendar pickers, and autofill inputs.

Now what we see around the web as "controls" are just a group of <div>s with hidden JS behaviour, lacking both accessibility and deeper integration. With hundreds, if not thousands, of implementations for things like calendar pickers, search selectors, etc.

We need better native controls for the web.

smjburton - 11 days ago

> And so, all-too-often today's web developers turn to heavy JavaScript frameworks to build the user interfaces their designers are asking for. These custom interfaces are rarely fully accessible. They slow down the page, consume power, open security vulnerabilities and exclude people.

I'm running into this issue now using React/TailwindCSS to create a modern UI for a website when I'd much rather use native/built-in UI elements, especially since these Javascript frameworks are hit-or-miss for SEO. The needs of the modern web and the tools available are very disjointed at the moment, and I hope this initiative is successful is in addressing the issue.

xp84 - 11 days ago

> Web designers demand the ability to express their project's branding across every element on the page, including all user interfaces.

Truer words never spoken. Unnecessary and arrogant, but true.

> Current form and website-level UI controls do not allow for this.

While there are more advanced controls like 'combo box with search bar' that indeed have no native HTML option, there are millions of examples out there of controls on websites that could use completely vanilla HTML controls with CSS to sufficiently trumpet The Brand™ while also being reliable, well-tested, and accessible, and "Web Designers" and frontend developers don't use those either, preferring hundreds of lines of JS to (poorly) reimplement things like `<button>`, `<input type="tel">`, etc. Because they think users need The Brand shoved in their face more than they want a UI designed for the device and environment they use.

We've even come full circle now, as you see things like the iOS horizontal switch element reimplemented in JavaScript and transplanted to the Web and deployed on desktop even though `<input type="checkbox">` has always existed and has zero usability issues.

Still - I'm all for this project, as at least in areas I control like hobby projects I'll be glad to have even more reasons not to adopt bloated "UI Libraries," but I assume the piles of <div>s and <span>s and controls that only work well on the happy path* will continue forever.

* try the less sophisticated fake `<select>` replacements, when the element happens to be at the bottom of the viewport and watch the menu pop up offscreen and force you to scroll. Even ones that do this correctly add so much code bloat just to reinvent the wheel.

bilater - 11 days ago

I think the more critical thing is an open UI protocol.

Let me explain - imagine generative AI is good enough we can just generate a UI on the fly. Take to its extreme every user can have a personal block of UI components catered to their preferences (dark mode, blue color scheme, bigger fonts etc). Then instead of every business designing their own UI for their website they just send over the information and the UI is compiled for every user baed on their own personal set of blocks.

We would very quickly need to have some sort of standard protocol to make this work. I think that would be a way more efficient world because companies can focus on the content and not on tweaking design. And every user has a lot more control over their user experience.

Of course a lot of companies may want to control the experience themselves so maybe its not one way or the other but a good chunk of websites cna use this pattern and in time it may actually become an advantage as users expect you to follow this UI protocol.

lacoolj - 11 days ago

For a proposal about UI, they kinda phoned in the UI of the site.

For instance, the graph on "Component Name Matrix" - can't read any labels at the top, and hovering them doesn't give tooltip. You also can't read many of the component names themselves in their respective blocks.

pembrook - 11 days ago

This is sorely needed and best path forward out of the OS-specific walled gardens and rent seeking of Big Tech. If building interactive applications wasn't so difficult I think we'd see a big revival of the open web.

We basically have teams independently re-creating the entire MacOS UI component suite in the browser out of various duct-taped libraries every time somebody wants to build an application. And don't even get me started on Rich text editing.

Arguing against this is like arguing against supporting images on the web in the early 90s.

troupo - 11 days ago

And their website: https://open-ui.org/

There's a lot in terms of reference on how the menu controls are defined and used across many libraries and frameworks.

Some of these are slowly making their way into the web

vlad-roundabout - 11 days ago

Some fruits of this project have already landed in some browsers:

* Popovers: https://open-ui.org/components/popover.research.explainer/, https://developer.mozilla.org/en-US/docs/Web/API/Popover_API

* Exclusive accordion: https://open-ui.org/components/accordion.explainer/

* New select, already in Chromium only: https://open-ui.org/components/customizableselect/

doug_durham - 11 days ago

This feels like it's from the 1990's when grand consortiums attempted to develop common windowing systems, and object systems. These produced more paper than shipping code. UI styles are ephemeral. What is popular today is unpopular tomorrow. At best it seems like this will be chasing trends. It will deliver changes long after the change has gone out of style. I am sympathetic to the underlying issues. I've been scarred by past attempts. People should ship code. Instead of debating, develop and ship new code. If it is popular it will be picked up, and later integrated into standards.

andy_ppp - 11 days ago

It’d be nice if native date, time and number pickers were good and not super weird (in most browsers anyway).

IanCal - 11 days ago

Meant with all the love in the world:

If you want to show show things please show them. Particularly when it's something you can show with html and I'm looking at a web page! We see so many so many new proposals and things you have to show me something early or I'll move on.

My path was

GitHub. Text starting with "in the beginning". The first link is to a page maybe from 1993?

I scroll to find the webpage which is not clearly linked but under "scope of work - plan".

Website, talks about plans.

Look in the menu. Only in the third section are graduated proposals.

Open one. Nothing showing me any examples.

Someone else here says that customisable select came out of this and link to a Google page which has code, screenshots and I think a live code editor.

You can accuse me of being lazy. Sure. But this setup feels like it's putting a lot of roadblocks in the way where people who want to care about this and help will drop out.

skrtskrt - 11 days ago

I like the focus on accessibility. Standards & Accessibility go hand in hand, the splintering of approaches means accessibility is always playing catchup.

It's not in the business of pushing for RFCs, but the U.S. Web Design System (USWDS) has done some really cool work here: https://designsystem.digital.gov.

wdb - 11 days ago

OpenUI, OpenUI5. I wish people would check names before they start using it. Starts to get so confusing

Nesco - 11 days ago

Most of the usual components listed should be standard at some point. The main issue is still that the Web was thought for documents, not apps. The current mess is partially due to OS vendors not agreeing on a standard, cross platform GUI API, so it was done via the Web

90s_dev - 10 days ago

I dunno. Seems to me the organic and natural way is for these things to evolve and then become standardized de facto like TypeScript did. I guess this is kind of just that, but formalizing it? Still seems excessive.

chenzhekl - 10 days ago

Personally, I don't get why there are so many standards for the web platform. Can't we just provide a minumum set of APIs that developers can build their own UI on top of just like what we do for the desktop?

breadwinner - 11 days ago

After 35+ years, the standard for UI intuitiveness and beauty continues to be NeXTSTEP:

https://en.wikipedia.org/wiki/NeXTSTEP

desertmonad - 11 days ago

Extending something built-in instead of adopting a bloated leaky abstraction?

Heresy!

Happy to see this and imagine this with htmx could be clean minimal and maintainable. Front end bloat is ridiculous imo

exabrial - 10 days ago

Please, whatever you do, write a spec document, have some sort of machine readable schema, and publish versions.

INTPenis - 11 days ago

A standard for UI will never work because UI is so closely tied to marketing of a product.

But the field sure needs a list of deadly sins.

infogulch - 11 days ago

Is this a xkcd: Standards situation? https://xkcd.com/927/

upcoming-sesame - 11 days ago

Maybe the focus should instead be to dumb down ui elements and remove all the styling noise so that LLMs can operate the UI most efficiently

cratermoon - 11 days ago

Alternate title: Create a set of requirements for browser standards so burdensome that no small group of individuals working out of a garage can ever hope to disrupt and replace Big Tech's browsers.

reactordev - 11 days ago

Is it just me or does the first bullet of “Scope” contradict the first bullet of “Out of Scope”?

I’m not sure what the objective is then based on the conflicting narrative.

- 11 days ago
[deleted]
damnitbuilds - 11 days ago

UI Anti-patterns: Everything flat, no distinction between clickable buttons / text-entry fields / plain text.

UI patterns: Buttons with raised borders, entry fields with sunk borders, etched lines between sections and to group radio buttons, for example.

We had this right 30 years ago. "Material" (Edit: and others) ruined it.

kittikitti - 11 days ago

Just a coincidence this occurred after the Justice department sold Google to sell off Chrome, right? I, for one, welcome W3C instead of big tech dictating web standards.