Earlier quoted context omitted.
Where do you think all that code lives, then? The support for dark mode, the ability to look at the pixel data of an image so that you can display text with the right color on top of it to have high enough contrast, the subtle animation when you tab between elements in a scrollable grid, the annotations for accessibility, the code that makes drag and drop work like you expect... As much as you don't think it is "hund…
Hey, I share your passion for human interfaces - huge kudos to you. I built the main interface for the redesigned Amazon Photos iOS app and went through a lot of the things you mentioned - totally agree that it pays off. If you ever want to chat over coffee my email is johnanthony.dev@gmail.com
Prime Video Uses WebAssembly
171–180 of 254 posts
Re: Prime Video Uses WebAssembly
#172Re: Prime Video Uses WebAssembly
#173Earlier quoted context omitted.
That's why I said as it's being adopted. Right now it's just the very beginning of this phase (for instance AMD just started providing hardware decode in RDNA2). So I expect this to become a non issue at some point .
As long as they don't take it as an excuse to reduce bitrates further. It's getting pretty bad these days with macro-blocking everywhere. This practice really took off when covid started. I actually cancelled Netflix because of it. Amazon is not as bad for macroblocks, but I have run into a few shows that show macroblocks, such as Mr. Robot.
Re: Prime Video Uses WebAssembly
#174Personally, to me , whenever I read these stories about how Amazon is doing this novel use of WebAssembly, or how Uber is doing ludicrous engineering effort to keep their React-based app under 300MB for the App Store, I can't help but think: "Man, that's an awful lot of work to avoid writing a native app."
Writing a native app for every conceivable platform someone might want to watch Prime Video on seems an awful lot of work
If streaming services desire to replace local playback, they’ll also have to replace the convenience that provided.
Re: Prime Video Uses WebAssembly
#175Earlier quoted context omitted.
It all kind of undermines your original comment tho that they're trying to avoid native. It seems more likely that they're goal is to reach as many devices as they can and be able to do updates frequently. In the first paragraph of the linked article the guy says the trade-off is between "updatability and performance".
I am really sick of fast-churn and forced updates. Guys. Settle. Write a native app or three. It’ll be ok.
Re: Prime Video Uses WebAssembly
#176Earlier quoted context omitted.
The biggest downside of this is that everything is painted as "graphics", and you can no longer use the web inspector to modify the fonts, colours, etc. While few people (like myself) do this directly, lots of people use it indirectly through extensions like Adblock, Stylus, etc. For example, I find the fonts hard to read due to the colour choices; then I zoom in and it's better, but now this "Widget gallery" no long…
Yes, I really hope this doesn't become common. By not utilising the DOM, you're killing accessibility, autofill, customization (things like reader mode, automatic dark themes...)... These are things that regular people rely on every day (not just us techies writing userscript a and Stylus themes).
Re: Prime Video Uses WebAssembly
#177Personally, to me , whenever I read these stories about how Amazon is doing this novel use of WebAssembly, or how Uber is doing ludicrous engineering effort to keep their React-based app under 300MB for the App Store, I can't help but think: "Man, that's an awful lot of work to avoid writing a native app."
Uber is a bad example because they need to have support for literally every payment method on the planet. And all of that needs to be preloaded ahead of time just in case the user decides they're going to fly to Mumbai tomorrow. Their app absolutely needs to be bloated or it won't work at all. Likewise, Amazon needs to run on all sorts of different smart TV platforms, not just iOS and Android. All of those apps need…
It really doesn’t. I remember this being brought up back when the Uber engineer crying about how their compiler couldn’t match their scale was making the rounds, and in the end the numbers just did not add up to support the app size they have right now.
> All of those apps need to be consistent to each other, rather than to their host platforms.
Why? Platform-specific apps, for the most part, should feel at home on their platforms. Not doing this is how you get YouTube for Apple TV and similarly bad apps.
Re: Prime Video Uses WebAssembly
#178Earlier quoted context omitted.
I can dislike Rust too, but the facts are facts. Emscripten is the leader of WASM world and lot of its code is based on C++.
Emscriptem is targeted at browsers and for that rust does have the target wasm32-unknown-emscripten However, when targeting wasm outside browsers wasm32-wasi is usually a better option.
Modules are small and fast, virtually all existing code is compatible out of the box and the standard library comes with full WASI support. And enabling runtime-specific optimizations such as SIMD is as simple as adding a compilation target flag.
While I maintain quite a few Rust crates specifically designed for WebAssembly/WASI usage, my personal experience is that Zig is often better, even from a performance perspective.
TinyGo is also amazing at producing optimized modules, and a lot of existing Go code can be compiled with it without any changes.
Re: Prime Video Uses WebAssembly
#179Earlier quoted context omitted.
Yes, I really hope this doesn't become common. By not utilising the DOM, you're killing accessibility, autofill, customization (things like reader mode, automatic dark themes...)... These are things that regular people rely on every day (not just us techies writing userscript a and Stylus themes).
It feels like a huge step backward in terms of all of that. It's what Flash used to be, except less blatant security risks I guess.
For now. Flash was also fine in the early days.
Re: Prime Video Uses WebAssembly
#180Earlier quoted context omitted.
" But why , though?" I keep asking myself, from a "how many darn buttons and doodads does it really need to have?" perspective. I suspect the issue is that people write entirely too much dang code to solve what is, after all, a fairly simple UI problem [1]. I mean, seriously. The Alto had less than a megabyte of RAM and managed to invent the GUI--menus, mouse, all. How have we managed to make this harder in 40 years?…
Because it's not just buttons and doodads, it's all the error handling and loading indicators and UI edge cases that are needed to make it seamless and good. Title too long? Does it get truncated or shrunk? Does the UI reverse itself for RTL languages? Does the focus ring move in a sensible order? This is front end engineering. It's a whole profession, and when it's done poorly, folks think your software is garbage.…
You mean the single instance of “owo we are very sorry” that shows up for any error, including the case where you might just have the gall to use the app on a non-perfect connection? The lack of a loading indicator? The poor and non-seamless experience because somebody wanted to ship Branding™?