12 ms·
WASM Wayland Web (WWW)
- baudaux 2y agoYou can also do what I did in https://exaequos.com https://exaequos.com: implement Wayland in WASM and Javascript. The browser is the compositor. And your browser is your computer…
- disqard 2y agoWow! Thanks for sharing this!
- baudaux 2y agoFeel free to give your opinion or ask questions
- anonzzzies 2y agoThat's very nice, thanks.
- Max-q 2y agoThe issue I first think about if HTML goes away and the web is WASM blobs instead is text. Accessibility, rendering, all the different languages. The amount of code in the browsers making HTML accessible and working in all languages is enormous. If we are going in that direction, we at least need a standard library handling this, so that we don’t take a big step back to the times of Flash.
- jy14898 2y agoI was thinking the same until they mentioned "WASI components" for using HTML. I'd still prefer HTML first though
- Maledictus 2y agoyeah, maybe, but I fear ad blocking would be much harder.
- onion2k 2y agoThe most effective ad blocker is choosing not to use websites that display ads. That won't ever change.
- lillecarl 2y agoInsightful, which search engine do you use? Where do you buy things online? How do you keep in touch with relatives? If your answers are "Kagi, no online purchases (or reviews), phone calls" sure... But it's not the world we live in
- onion2k 2y agoIn the context of a discussion about websites becoming binary blobs of WASM code that make it essentially impossible to block ads on, the choice will be to use a site and see adverts or not to use that site. I'm saying that we should make the choice not to use a site that displays ads. It will require some sacrifices (or, more likely in my opinion, spending some money for some subscriptions.)
- spankalee 2y agoThis post is so wrong and right at the same time. On the set up: First, there are 3 major engines, and even if Gecko dies there will be two. Second, both users and developers want a more capable web. Don't blame browser vendors for giving it to them. The web is wildly successful because of its continued evolution, and if it stopped evolving, native mobile apps would have beaten the web back even more. WASM could indeed make for a simple, yet powerful, web-like platform, and I hope to see this! But a lot of the new web capabilities would still need to be there. All of the I/O bits of the modern web: networking protocols, GPU, USB, MIDI, local storage, filesystem, etc. WASM doesn't make the need for that go away. Those things still need to be there as WASI services or similar. And I hope that such a WASM-based browser would not throw out a markup document completely. Flutter did this and it just isn't the web anymore. Documents and links are critical to being able to build useful services on top of the web. I want to keep the web web-like, not just have Flutter but WASM instead of Dart.
- fresh_geezer 2y ago> WASM could indeed make for a simple, yet powerful, web-like platform, and I hope to see this! Careful what you wish for. WASM-rendered pages could spell the end of ad-blockers and other extensions that modify or read page content. You'll have only binary blobs being downloaded rendering something on a canvas surface.
- lukan 2y agoThat is in theory already possible today, also just with obfuscated js blobs. But the way the ad networks work, is that they do dynamic content loading. So knowing where the ads are coming from and just blocking those lists will continue to work also in WASM. But indeed, modifying the content specifically, when all you have is a canvas, will be close to impossible.
- icar 2y agoWe would then get some WASM blob that only works on a signed Google browser.
- shellac 2y agoThose who don't remember OpenDoc and Cyberdog might want to get reading.
- skerit 2y agoFunny to read this: > So there are only 2 web browser engines, and it seems likely there will soon only be 1, and making a whole new web browser from the ground up is effectively impossible because the browsers vendors have weaponized web standards complexity against any newcomers Ladybird seems to be thriving. Sure, they themselves only plan on releasing a beta version next year, but still. And it's even on the Hacker News frontpage right now! https://github.com/LadybirdBrowser/ladybird https://github.com/LadybirdBrowser/ladybird
- aredox 2y agoWhat is ladybug's marketshare? Does it work flawlessly with "This webpage works better with Chrome" webpages? It is not even mentioned on https://caniuse.com/?search=web%20components https://caniuse.com/?search=web%20components
- ahmedfromtunis 2y agoI spend a lot of time on the internet and try to avoid the socials, so I visit a healthy variety of websites of all kinds. But I never encountered a single "works better with chrome" message. Am I missing something?
- csomar 2y agoIt was a thing before Chrome/WebKit became the "only" browser. People mention Firefox but last time I checked its market share is in the single digit.
- ncruces 2y agoPeople complain about Google killing projects that have only a few hundred million users, but then claim Firefox is dead at single digit market share because that's… 150 million users.
- JimDabell 2y agoI see those messages all the time on Google websites and web apps.
- jillesvangurp 2y ago> So there are only 2 web browser engines, and it seems likely there will soon only be 1, and making a whole new web browser from the ground up is effectively impossible because the browsers vendors have weaponized web standards complexity against any newcomers. Maybe eventually someone will succeed and there will be 2 again. Best case. What a situation. The premise of this article seems completely wrong. Chromium, Safari, Firefox. And a longtail of half implemented alternatives. But the point is that there are 3 independent browser engines that are fairly widely used. They also have their own indepenedent javascript and WASM implementations. There are a few non browser based WASM implementations in addition to that. As standards go, that's a pretty widely implemented one. There are some people working stubbornly on completely new browser engines even. The standards are in better shape they've ever been since the inception on the web. HTML 5 is way better defined than most of its predecessors. If everybody was like this, we'd all be using Internet Explorer. Firefox would never have gained any traction. Chrome would have flopped and Google would have killed it. Apple would have given up on Safari. None of those things happened. Because we are not all passively whining on the sidelines about how things used to be better while not lifting a finger to do anything about it.
- aredox 2y agoLook at the market share. And look at how much breakage report there is with Firefox vs. Chrome or Safari (not to say the return of "this website works better with Chrome" disclaimers, as if we were back to IE6).
- TingPing 2y agoDo you have a source for real world sites broken? It’s extremely rare for me and I exclusively use Safari and Firefox.
- brabel 2y agoThere's a lot of websites that break for me on Firefox. Most examples are things like small businesses contact forms... I also had trouble with a kitchen design website. I can't remember what it was, but one just showed me a blank page unless I was on a Chrome-based browser.
- smcl 2y ago> it seems likely there will soon only be 1 What have I missed, will Firefox adopt Webkit?
- jvdvegt 2y agohttps://news.ycombinator.com/item?id=43200065 https://news.ycombinator.com/item?id=43200065
- aredox 2y agoYou've missed Firefox's marketshare inching towards irrelevance, its revenue - "charitable" donations from competitors worried about monopoly lawsuits that can stop at any time - in freefall, and more and more websites not working with anything other than Safari or Chrome.
- smcl 2y agoI’ve not missed that Firefox’ market share is declining, but the word “soon” implied it’ll be gone within the year or so
- _glass 2y agothis might be in the way of alan kay's core idea, sending messages with interpreters. if we want to go all the way of the snowcrash pipe dream, then imagining objects with programs thrown around is more realistic than making it somehow work with html. on the other hand, in brings back bad memories of flash silverlight, java applets, that almost destroyed the open web. there is a beauty in easy-to-read text rather than binary blobs.
- youngtaff 2y agoMight work as an application delivery platform but most web content is text WASM blobs will make the web harder to index, link around, that doesn’t require a compile step, has a built in security model and all the other things that made the web easy to develop for and helped it to grow. Can you imagine HN delivered as a WASM blob it would be awful… P.S. How many people really understand canvas? A WASM engine would end up having to implement some form of of markup renderer which we already have in the browser
- torlok 2y agoYou can already do this. You don't need a special browser. This approach always sounds great until you consider how native input, text selection, copy-paste, etc. behave on mobile. Not to mention accessibility, screen readers, and so on.
- OvbiousError 2y agoMy first thoughts exactly. How do you prevent this from turning into what we had with flash if you don't provide the framework to build the UI components.
- jeroenhd 2y agoTurning the web into what we had with flash except for the many security issues seems to be the way things are headed. Not that I'm happy about it, but more and more web applications are going that route. The design behind WASM helps keep this iteration of Macromedia/Flash/Java/ActiveX stay quite secure, at least until people start adding the extra APIs that a certain subset of WASM enthusiasts trying to turn WASM into another JVM are going for.
- abdellah123 2y agoBrowsers are dead anyway ... Most people visit Google, AI chat, fb, instagram and TikTok. For devs, it's same + HN & github. The point is that it's less than 15 websites (at least the top level ones), not counting where they take you to next! What's coming is a malleable OS that runs natively + in the browser ! probably uses WASM and that breaks the barriers between apps. I need to build one to show my point.
- gizmo 2y ago> and making a whole new web browser from the ground up is effectively impossible because the browsers vendors have weaponized web standards complexity against any newcomers I would argue the exact opposite. Web standards have steadily increased in quality. The web has become much less quirky over the years and you no longer need to emulate broken browsers in order to get a functional browsing experience. Building a web browser is hard, but it's not impossible. Just look at how much progress Ladybird has made in a year. If Ladybird isn't an existence proof I don't know what would qualify. Our industry as a whole is way too willing to put up with broken software for literal decades because building a better version is believed to be impossible. And that's how we end up squandering endless (volunteer) resources to marginally improve old projects that essentially have no future. We can have a better future, but only if we choose to build it. As Henry Ford said: "Whether you think you can, or you think you can't – you're right."
- KingOfCoders 2y agoExactly, impossible is what Google, Apple and Microsoft (and Mozilla) want you to believe - and they do everything to make it happen with more and more, ever more irrelevant APIs. And people believed them for a decade now. Very happy that Ladybird doesn't believe the monopolists propaganda.
- jpswade 2y agoThis sounds like flash all over again.
- benob 2y agoI think the point is that there is opportunity for splitting the browser in multiple components with a defined interaction surface. Have a component deal with network interaction, another with playing media, another with text layout. This way subprojects are more manageable for a small player.
- christkv 2y agoJava applets are back wohoo.
- JimDabell 2y agoThe web had this before briefly. Back in the 90s and 00s, some people just wanted to use Flash. They treated the web browser like it was just a way to run executables in a window. Nothing worked right. Bookmarks, search engines, command-line tools, user preferences for font size, user scripts, view source, right-click menus, ad blockers, auto-translations, user stylesheets, assistive tools, bookmarklets, deep links… you name it. The more conscientious developers tried to reinvent some of this stuff on top of their own system, but it never worked quite right. One of the main strengths of the architecture of the WWW is that it isn’t merely a mechanism to ship executable code. It uses the Principle of Least Power, which ensures that you don’t have to execute code to understand what’s on the page. And a huge proportion of the utility of the web is derived from that principle. https://www.w3.org/DesignIssues/Principles.html#PLP https://www.w3.org/DesignIssues/Principles.html#PLP If you only see the web as a way to ship no-install executables to people, you’re missing out on basically everything that makes the web what it is.
- tabinno 2y agoThing is - it’s even worse when people sit down and create actual real alternatives to desktop apps in a document distribution system. For apps, Canvas is the solution. For pages - DOM.
- nmfisher 2y agoThis is exactly how Flutter (now) works on web - the browser loads a JS/WASM blob, and your app renders everything to a canvas - and you're right, almost everything you mention is problematic. There is a time and a place for that paradigm, but it's niche. The lack of SEO alone is usually enough to stop it in its tracks.
- deleted 2y ago[deleted]
- chrismorgan 2y agoFlutter even had a DOM renderer which should in theory have fixed approximately all the issues (I don’t know for sure, I never knowingly encountered anything using it), but they’ve killed it off fairly recently, doubling down on the fundamentally unfixable direction that is the pure-canvas approach.
- csomar 2y agoIt seems most people here are concerned about the readability of web content. Text is already gone with SPAs and React. The only reason we still have an index-able web is because of Google and websites still want to get indexed and ranked. In fact, I'd say Wasm is probably better for text since now you have to provide text in a raw format (ie: JSON) for it to be linked/indexed which is much better than trying to crawl incomprehensible HTML. I'd say the biggest bottleneck for WASM adoption is the current "establishment" of computing. In order to serve a simple web application, you need an Operating System, Networking stack, a Web Server, a language interpreter, etc... With WASM, all of this disappears and get abstracted away behind a single (or few) solutions. Instead of paying for a full virtual machine to process a few web requests that sits idly for 90% of the time, you only pay for CPU time when your worker is computing stuff (Durable Objects). There is little incentive for the industry as a whole to move to this model since the end user is the one who is paying for all of this compute. Maybe the Chinese will figure this out and finally push toward that direction.
- deleted 2y ago[deleted]
- guelo 2y agoWhat do you mean that Text is already gone? SPAs and React render plain HTML.
- pjmlp 2y agoThey do, but anyone trying to see how a Website works will find the developer tools as usable as with any browser plugin, unless they have the right plugins installed, and running the developer build.
- csomar 2y agoInside the browser but the code is gibberish/chunked and the HTML is not there until the component is mounted.
- kome 2y agoThe absolute lack of professionalism among most web developers—many of whom are essentially glorified framework developers, barely understanding what they’re doing—is what led us here. This, combined with a complete disregard for web standards and the W3C (dismissed as too consensual, too European, and too slow of an approach), created the perfect shit-storm. Google insists on pushing its own "standards". And other browser vendors are criticized for being slow to conform to these non-standards. The result? A web cluttered with pointless animations, devoid of cross-browser compatibility, and drowning in superficial bells and whistles. And the irony? It’s boring. Every website looks the same. If you’re not testing across browsers and engines (including non-Chromium ones), you’re not building for the web. You’re shipping Chrome-specific extensions that happen to use HTTP. You are not a developer, you are a plumber, and an incompetent one. Good plumbers are so damn rare.
- rbower 2y agoCost/benefit. If 95% of your users are on Chrome, that's where the business wants you to spend most of your development effort. It's the same issue with game dev. Most games don't support Linux natively because the small user base doesn't justify the time sink for developers. Not saying I like it, but I'm not surprised at the current state of the ecosystem. All developers should understand basic web standards, particularly accessibility.
- Xophmeister 2y agoPart of the beauty of the (current) WWW is that last W: the web. By design, everything is (or at least "can/should be") interlinked and scripting/computation is a layer on top of that. (See Fielding's thesis.[1]) Inverting to opaque WASM blobs as the information layer seems like throwing all that out. Sure, WASM could still simulate interlinking -- because it's so general -- but that generality also imposes an implementation bar. Who's going to write an HTML renderer in WASM just so they can get links to work how they used to? If someone comes up with some simpler WASM-linking solution, how long will it be before there are 15 competing simpler solutions which are all mutually incompatible? [1]: https://ics.uci.edu/~fielding/pubs/dissertation/fielding_dissertation.pdf https://ics.uci.edu/~fielding/pubs/dissertation/fielding_dis...
- jchw 2y agoI'm personally hoping for Ladybird and Servo to eventually grow into usable browsers. Ladybird is making faster progress on actually delivering a browser to end users, but if Servo gains foothold in the embeddable use case it should help them gain more stakeholders with an interest in keeping development moving forward.
- floating-io 2y agoEvery day we get closer to reinventing the Java applet. Again.
- spintin 2y ago[dead]
- wffurr 2y agoWebAssembly is explicitly a new native plugin like API but cross browser, standardized , and with lessons learned for complexity and security. You can see it skimming the WebAssembly high level design goals: https://webassembly.org/docs/high-level-goals/ https://webassembly.org/docs/high-level-goals/. Many of them directly address limitations of past web content plugin systems.
- floating-io 2y agoLast time I looked, you still can't touch the DOM without a JavaScript shim. You can't use it to write "normal" client-side web applications without hacks and workarounds. IOW, it's a VM-style environment that pretty much lives on its own and completely ignores the elephant in the room: that it's running inside a browser that deals predominantly in HTML and CSS. Just like Java Applets, Flash, ...
- yoz-y 2y agoSometimes I wonder whether having the document-based-web and application-web in one place a good thing or bad. Ideally the document based web would require only a subset of standards (html, css, and javascript) and should be much simpler to implement a browser. Then anything more complex could just "Open in an app runner environment". But then of course since the application-web subsumes the document based one, there is no necessity for vast majority of people to ever care about the pure documents. Maybe gemini people were right and we need a completely different protocol.
- crabmusket 2y agoI think your "app runner environment" is just turning JS on. It's interesting to think about what if scripts weren't allowed to run by default, but that ship has well and truly sailed. Who do you think would benefit from having two webs, and how?
- palata 2y agoFor a very long time, I was pissed at "the web" being abused by heavier and heavier "apps" instead of staying "websites" and keeping "desktop apps". Now I am starting to think that this is maybe just a super inefficient way to improve the technology for desktop apps: after years and a shit load of money put into running apps in the browser, maybe the end technology will just end up being used for desktop apps. And going through the browser will just have been a detour. ElectronJS, Tauri... as if there was a realisation that actually, we want desktop apps, but unfortunately we invested in web tech, so we recycle it however we can. Not sure if that makes sense, but that's how I feel. I liked desktop app, I'd be happy if it all cycled back to proper desktop apps.
- johnisgood 2y agoYour comment reminded me of https://en.wikipedia.org/wiki/Joli_OS https://en.wikipedia.org/wiki/Joli_OS.
- pepsi-not-coke 2y agoI proposed a similar idea (before WASM was a thing) in 2015 on the W3 TAG mailing list, where I simply said why can't the site owners tell the user's browser what browser engine, including specialized ones, should be loaded to render and interact with their site/app. It was dismissed with idiots from the browser vendors saying it's impossible because of ABI compatibility etc. I kid you not, 10 years ago, and then someone from Meta tweeted the same idea 2 years later (the guy behind Slick Carousel) when WASM was a thing, but he did not specify WASM, and I told him that I had brought it up, too. This is not a new idea, but I'm glad to see renewed interest and WASM as the way to do it.
- immibis 2y agoThe Content-Type header tells your Firefox 3 browser whether to use the HTML rendering engine, the XHTML rendering engine, the XUL rendering engine, or the Adobe Flash rendering engine. Is that what you mean?
- pepsi-not-coke 2y agoNo, that does not solve the problem of the Google monopoly. Not a fixed set contained within one browser engine, but the browser engine itself, like Webkit vs some other engine vs some specialized engines. If your engine-host browser does not have a give engine or specific version of an engine it downloads it and caches it. WASM/Wayland makes the idea feasible, loading lightweight WASM modules.
- jcmontx 2y agoThe author implies the hardest part is HTML+CSS rendering + a JS engine. You still have to implement all of the IO and permissions etc, which I'd argue is still pretty hard. I'm a bit sceptic about this approach.
- stakhanov 2y agoWhy is he writing that there are only 2 browser engines, soon to be down to 1? I thought there were three (Webkit, Blink, Gecko). I assume the "soon to be" part is referring to the expected demise of Gecko?
- nsonha 2y agoMy take would be starting with WAI-ARIA, or create a new standard with similar goal and keep the standard minimal and single-purpose. We are heading into the era of AI driven UI anyway.
- AshleysBrain 2y agoIt's nice to throw around ideas like this sometimes, but the reality is if a new browser is not compatible with 99.9% of existing web content, nobody will use it.
- jeswin 2y agoI know it's a rant, but it makes no sense. The web is complex, but for 90% of the web I can still manipulate the DOM - even in apps which use frameworks like React. The ability to manipulate the DOM makes the internet so much more pleasant than otherwise - a world without ad blockers would be quite bad. Rendering on to a surface would be bad for everyone. Tbh, I think the web is doing great. I am among those (perhaps a minority) who think that web apps should occupy space which is currently held by native apps; even at the cost of complexity and new APIs.
- jfoster 2y agoThere's only two browser engines? Which two? Blink, WebKit, or Gecko?
- pilgrim0 2y agoSomeone tell him that web is about data, not apps. A markdown only web has much more chances to be relevant than this.
- Philpax 2y agoWell, I don't know about that being relevant [0], but at least it isn't blatantly offensive to the concept of providing information like this proposal is. [0]: https://en.wikipedia.org/wiki/Gemini_(protocol) https://en.wikipedia.org/wiki/Gemini_(protocol)
- Jotalea 2y agoTime to go back to Lynx ;)
- imcritic 2y agoWhy would anyone want this? Is the author evil or just stupid?
- spintin 2y ago[dead]
- bla3 2y agoSimilar to hixie's https://docs.google.com/document/d/1peUSMsvFGvqD5yKh3GprskLC3KVdAlLGOsK6gFoEOD0/edit?usp=drivesdk&resourcekey=0-bPajpoo9IBZpG__-uCBE6w https://docs.google.com/document/d/1peUSMsvFGvqD5yKh3GprskLC...
- paulrouget 2y agoThat's something I was thinking a lot about back when I was working on Servo. Wasm + a protocol to talk to WebRender (expose display lists [0] to the wasm runtime). Some sort of "mini web", a minimal runtime that would do just enough that most web APIs could be re-implemented and shipped from the webpage directly. The DOM, the CSS parser, the layout engine, … could just be shipped as wasm modules. Kind of defeat the purpose of view-source, but nowadays, it's a lost battle already. And I didn't think too much about sandboxing, accessibility, network or whatnot. Just a fun idea… [0]: https://github.com/servo/webrender/blob/c4bd5b47d8f5cd684334b445e67a1f945d106848/webrender_api/src/display_item.rs#L164 https://github.com/servo/webrender/blob/c4bd5b47d8f5cd684334...
- indulona 2y ago[dead]
- Vermeulen 2y agoBeen arguing for this for years now https://news.ycombinator.com/item?id=33415400 https://news.ycombinator.com/item?id=33415400 The main argument against it seems to be that a browser forces standards - while really the the strength of this approach is that standards will naturally evolve, rather than forced by 2-3 companies
- bittlesnet 2y agoI couldn't agree more with this sentiment
- ilaksh 2y agohttps://github.com/runvnc/tersenet https://github.com/runvnc/tersenet
- anymouse123456 2y agoWe had this 20 years ago. It was a rich, interactive, streaming vector file format with a gorgeous and tiny code execution engine. It was an incredible time of creative exploration with many thousands of people figuring out how to make beautiful and ugly and funny and sad things and share them with each other. Steve took this from us 18 years ago because it clearly threatened his ability to enclose the entire application ecosystem, control who can and can't publish, and charge a 30% tax against every dollar spent on the internet. Please note: Many of the very same people who shit all over Flash as some proprietary, ethical violation, happily tap away on their iOS devices, sending billions of dollars to Tim. Of course I'm not talking about you, it's those other people over there.
- ericyd 2y ago> no HTML, no javascript, no CSS. Just HTTP of WASM blobs. This is where the web browser is going eventually anyway Uh, hm, I think this critical assertion requires some justification.
- wffurr 2y agoGo one step further and run the browser in ring 0 with minimal overhead. Rely on the security guarantees from WebAssembly and the runtime sandbox for memory protections. Throw out the rest of the OS too. We seem to be on track for the 2035 timeline in https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript https://www.destroyallsoftware.com/talks/the-birth-and-death....
- Gazoche 2y agoHa, I floated the same idea in a random HN comment a few months ago. https://news.ycombinator.com/item?id=40756196 https://news.ycombinator.com/item?id=40756196
- Thorrez 2y agoWould this break all existing HTML websites? That seems pretty untenable.
- deleted 2y ago[deleted]
- dormento 2y agoI wonder how much of the W3 standards one could ignore and end up with a functionally useful web browser. Technically you do not need javascript to create say a checkout flow, though you'd need TLS...
- jauntywundrkind 2y agoNote that there's a really good HTML Wayland composer already. Existing Wayland apps run via a proxy process injecting apps into the browser. And there is a web+wasm stack using Wayland constructs for apps that run purely in the browser+compositor. Incredibly cool work. Greenfield: https://github.com/udevbe/greenfield https://github.com/udevbe/greenfield
- vagab0nd 2y agoIt wouldn't work. The WASM blob would just run Electron with a webpage inside.