10 ms·
Great idea - your demo made me think that Web assembly finally permits proper Web applications with a proper UX and without abusing HTML, HTTP, XML, JavaScript
by jll29 3y ago
Great idea - your demo made me think that Web assembly finally permits proper Web applications with a proper UX and without abusing HTML, HTTP, XML, JavaScript and the browser.
I wish there was a new standard for that, instead of everyone brewing their own thin client app soup; perhaps now is the time to get something like that started.
On the desktop, there were CUA, MOTIF, CDE, and other proposals [2-10], and ISO has codified UI best practices in [1].
[1] https://en.wikipedia.org/wiki/ISO_9241 https://en.wikipedia.org/wiki/ISO_9241
[2] DIN 66234 part 8 standard [1988]
[3] The Data Company's standard
[4] Apple Human Interface Guidelines [1987]
[5] Motif™ style guide [OSF 1990]
[6] "Advanced CUA" (for graphical interfaces) [IBM 1990a]
[7] "Basic CUA" (for traditional terminals) [IBM 1990b]
[8] Original CUA [IBM 1987] 340
[9] OPEN LOOK™ [Sun Microsystems 1990]
[10] Smith and Mosier [1986] guidelines
- baudaux 3y agoThank you very much for your detailed comment. That is the philosophy behind exaequOS, not rewriting apps. I am porting wayland since recently
- corytheboyd 3y ago> I wish there was a new standard for that, instead of everyone brewing their own thin client app soup One hundred million times THIS. It’s truly insane how much wasted human effort has gone into half-assedly recreating the same UI patterns over and over and OVER AND OVER AND OVER again. If we had this standardized from the beginning, the human race would span the solar system, there would be no war, no hunger, no famine, cancer would be cured, and things would generally be pretty rad. But alas.
- solardev 3y agoDo those older UI standards deal with responsive and touch elements? I agree that it's high time for a set of "web app UI framework" primitives and best practices, something like Material or MUI but actually a collaborative standard. It's stupid to have to reinvent basic cards, modals, wizards etc. from scratch every time. But the web has also rapidly evolved alongside newer needs and form factors (phones, geo stuff, real-time multiplayer, etc.) in a way that a lot of older UIs didn't explicitly account for. And also, WASM right now doesn't really have a UI layer. And Canvas doesn't work that great with responsiveness. Not that I disagree with what you said; it's a great goal to aim for!
- baudaux 3y agoWhy are you saying that canvas does work great with responsiveness ? Do you mean that drawing in canvas is slow ?
- solardev 3y agoDoesn't, you mean? Elements inside a canvas can't be easily reflowed around each other the way you can with divs and blocks and flex and grid etc. You basically have to reinvent the responsive UI layer that CSS has been slowly improving over the last decade or two. Is that what you were asking, or did I misunderstand?
- baudaux 3y agoYes, doesn’t work great (sorry ) You replied exactly to my question. The idea behind exaequOS is not reinventing CSS at all but to support “Classic” apps (terminal, graphic toolkit, OpenGL) and html/css apps
- solardev 3y agoOh absolutely! Sorry, that comment wasn't directed at exaequOS, but discussing some older human interface guidelines and older UX standards. Just pointing out that interfaces have evolved since then. But that's not the point of exaequOS and that's okay!
- baudaux 3y agoExaequOS could also run html/css/webassembly apps in order to take benefit of web ui frameworks.
- BoorishBears 3y agoThose already exist: https://www.radix-ui.com/primitives https://www.radix-ui.com/primitives https://react-spectrum.adobe.com/react-aria/ https://react-spectrum.adobe.com/react-aria/ Even MUI has one :https://mui.com/base-ui/getting-started/ https://mui.com/base-ui/getting-started/ - There are some attempts for a lower level version of this at the web component level, but they tend to do nowhere
- troupo 3y ago> Web assembly finally permits proper Web applications with a proper UX > ... and ISO has codified UI best practices Web Assembly has literally nothing to do with UI/UX. UI in the browser can only be achieved via HTML+CSS, Canvas, WebGL, or WebGPU. And only one of them has some high-level components for UI. And none of them have any WebAssembly bindings. It all goes through Javascript APIs. So if you want to create some UI standard for new apps, you start with a UI standard for WebGPU, or WebGL.