This is exactly my experience and I also have a YouTube premium account. I use YouTube religiously and have my own system of improving the algorithm so that the vast majority of content recommended is something I might watch.
If I don't like a video, I hit dislike and will maybe even remove it from my watch history.
I suspect that most who are against this change are not heavy YouTube users.
This is such an underrated part of the experience.
I think we all felt that way. Is that worth the high cost of tuition? Debatable. We're just about all working though.
I was changing careers after a decade plus of low-level grunt IT jobs when I was capable of doing so much more. It took probably 3-5 years just to build my confidence enough to do the bootcamp -- I had developer friends who were telling me for years I was more than qualified and capable but I'd found it so hard just to start.
A huge part of the lack of confidence has to do with growing up always being poor. The idea of a stable, high-paying job that's rewarding is almost unimaginable from that position.
That's one of the reasons SPA aren't going anywhere: trying to handle all the user microinteractions on the server is great when you leave next to it, but it falls apart when your users are spread across the world, especially if it's not western-ish world with fast internet connections.
JS interacting locally can make a web page be perceived to be faster, even if there's no meaningful content yet. Humans enjoy working with systems that so _something_ as soon as they interact with them and a placeholder/spinner/animation is that exact something. Of course, you don't want any placeholders or animations to go on for too long, but it's good to know that the button you just pressed actually did something and the screen hasn't hung.
Minimal JS pages often have very little direct interaction built in, so they feel blazing fast when the connection is good and the payload is small (HN is a great example) but terribly slow if your internet connection is bad and it's not masking the network delays (again, HN is a great example).
The 2-5s mentioned on Twitter are something else though, perhaps the Hey app is being transferred through a saturated connection in the US or something.
Well, a spinner can be added even into non-SPA applications. So I don’t see how that is an argument for SPA.
I presume you can lie to user by pretending that their change was instantly submitted, while syncing in background. In that case, yes, SPA all the way.
Optimistic updates are great for inconsequential stuff like an HN upvote. The user likely doesn't even want to see an error message if their upvote timed out.
But it definitely is "lying to the user", or better phrased "breaking user expectations". It's just that the user isn't likely to care except for important actions.
For example, imagine applying optimistic update to sending an email. The user would expect to be able to close their laptop after sending an email and seeing the UI transition. It would be catastrophic if the email was never actually sent.
Optimistic updates are best relegated to micro-polish imo. Frankly, I think it's overused especially in combination with autosave UI.
Gmail does this all the time, and it makes me mad. I just sort out some mails to have my empty inbox, and then close the browser tab. And it says that the changes haven't been saved, so I need to deal with the popup, and then close the browser tab again...
An app with longer usage leans towards SPA. Quick or sporadical stuff, shouldn't be a SPA.
The problem is always doing, SPA all the things or Do everything in the backend like if it's 2005
It’s not the entire HTML document, it’s piecemeal. As for sizing equivalent data in HTML vs js, I remember reading an investigation that XML and JSON are generally closer than you would expect and that for some data structures, XML is terser.
It's not XML though, it's HTML. HTML with additional nodes for layout, class names, etc.
If you're not invalidating the cached code multiple times per day (which, in fairness, a lot of the stuff from Google, Facebook, etc probably are), an SPA should use less data over time than a comparable server rendered app. The initial outlay is bigger, but once it's cached you only need the raw data as you navigate around.
Hey approach needs server on at least 2 regions to cover 90% of worldwide usage. I guess they only have server in the U.S. and some users may experience some lacking. I'd say having SFO3,FRA and NRT are pretty much enough for global customer.