4 ms·
WebAssembly is great as a developer, but it’s bothering me as a user that some websites require it for what looks to me like basic functionality. The last one
by AlbertoGP 4y ago
WebAssembly is great as a developer, but it’s bothering me as a user that some websites require it for what looks to me like basic functionality.
The last one to bite me is Linode’s login: I can’t even login to my account to adjust a DNS setting without WebAssembly. That’s a problem because the browser I use, Firefox on PowerPC 64 (a current production CPU, not an old Mac) does not support it.
Yes, I can and have found workarounds, and I do have a variety of machines around that include AMD64 CPUs. It’s still an annoyance for no good reason that I can see.
As for the linked article, I’m not surprised to see Rust rising there because in some quick tests I did, everything worked as advertised with minimal friction.
- timw4mail 4y agoUnfortunately that kind of (now) obscure platform is unlikely to get great support from web browsers in general.
- sp332 4y agoThis is really basic functionality though. It could gracefully degrade to an HTML form.
- babypuncher 4y agoIt could, but it is a bit of a stretch for your average web developer to 1: Know that webassembly does not work on the PPC version of Firefox. 2: Have access to a PPC machine for testing in 2022. It is an unfortunate but exceptionally rare edge case that few websites will ever actually encounter.
- watersb 4y agoI disagree. Bog-standard functionality like a login form on a web based service should at the very least have a version that uses HTML. (I wrote a web app in 1998, pushed the team to adopt shiny new HTML 4.0 and Java, but all the front end was data validation that was replicated on the back end anyway. In retrospect it was a lousy way to develop the system - I started with fancy and worked my way down, ass backwards that blew the dev budget - but at least the damn thing had a layer of fail-safe server that worked (handled errors and notifications) no matter what you threw at it.) I'm writing this on an ancient iPad with JavaScript disabled. This is a text site. It works.
- babypuncher 4y agoIf you are building an app that requires Javascript in order to do what the customer wants, then having the login form also use Javascript does not seem like a problem to me. Building an HTML-only fallback that successfully logs the user in but takes them to a page that does nothing without Javascript seems like a waste of resources.
- woojoo666 4y agoTons of websites don't have html fallbacks for the small userbase that disables javascript. You'd be hard pressed to convince them to support html fallbacks for what I assume is an even smaller userbase (PowerPC)
- AlbertoGP 4y agoPlease note that Javascript works well (no JIT but fine otherwise) in Firefox on PowerPC 64, things like ProtonMail, GMail, YouTube, diverse online maps etc. work fine, even WebGL (Shadertoy, Three.js etc.). It’s just WebAssembly which doesn’t.
- heinrich5991 4y agoHuh, TIL. There's no C interpreter fallback for WebAssembly in Firefox that works on all platforms?
- AlbertoGP 4y agoIt seems that WebAssembly support requires the JavaScript JIT (Just-In-Time) compiler: > “Unfortunately I have not had time to do much more work on the JIT because of the holidays, family responsibilities and $DAYJOB. I won't be offended at all if someone beats me to the punch especially as I'm starting to see WebAssembly becoming a hard dependency even for some add-ons (without the JIT there is no support for wasm).” > https://www.talospace.com/2019/12/firefox-71-on-power.html https://www.talospace.com/2019/12/firefox-71-on-power.html That’s from December 2019. As of 2022-05-31, there has been some progress but it’s still not working: > “I can't figure out where the bugs are in our POWER9 Ion JavaScript JIT implementation, though I still strongly suspect it's because we use sign-extended 32-bit ints. This is enough to pass the test suite but still breaks with the web. MIPS does too and we are strongly based on the MIPS port, but one wonders if MIPS suffers from the same issues, and I'm quite sure it's not tested anywhere near as well. As 32-bit arithmetic instructions aren't orthogonal in Power ISA this change would require some significant rearchitecting and I've just come off a really bad week at work, so I'll just try to pull up the current JIT to 102 so that those of you building the new ESR can continue to use Baseline Interpreter and Baseline Compiler, and then it will be time for more major surgery on the source code. You can help (please!).” > https://www.talospace.com/2022/05/firefox-101-on-power.html https://www.talospace.com/2022/05/firefox-101-on-power.html Looks like it’s not that simple.
- buu700 4y agoThis seems really odd to me. If it's possible to convert wasm to C[1], then it should be possible to convert wasm to asm.js and just execute that. That may not be ideal, but surely it's a better stopgap solution than letting the happy path fail for years on end. 1: https://github.com/WebAssembly/wabt/tree/main/wasm2c https://github.com/WebAssembly/wabt/tree/main/wasm2c
- flohofwoe 4y ago