Ask HN: Why don't we stream websites like movies?
1 point by shanebellone 1 year ago | 14 commentsWhy is the standard approach still transactional?
- edent 1 year agoWell, we can - that's how VNC and other protocols work. But it has a few disadvantages.
The first is latency. When you scroll or click, you want the response to happen quickly. If you're streaming the response you have to wait for at least one round trip before anything happens.
Secondly is bandwidth. For all the snark about bloated images and JS libraries, the web is extremely bandwidth light. A 1080p video is less so.
Thirdly, it was tried before. Opera Mini used to render pages before sending them out. It sort of worked for low powered devices but had a lot of quirks which I think gave the idea a bad name.
Finally, it would be impossible to block ads on a streamed website. See https://shkspr.mobi/blog/2023/07/the-future-of-the-web-is-vn...
- shanebellone 1 year agoLet me clarify with some context. I've been tinkering with an infinite grid concept that consumes a streamed JSON feed (plus a sufficient data buffer to hide any delay from the user) to create and then display content with the help of a JS factory. All related media is then streamed to the browser and lazy loaded when needed. With this setup, you can traverse a database without refreshing the page by redrawing the window.
The only potential drawback I see is whether or not search crawlers could index content that's introduced via JS after a page load.
Edit: It also appears to protect from scraping... so I suspect it would conflict with indexability. That's a pretty big downside if true.
- warrenm 1 year agoThat sounds like AJAX, no?
- shanebellone 1 year agoIt does sound like it, but no it's just plain JS. I recorded a short clip; showing is better than attempting to explain.
Edit: It is almost AJAX. The more I think about it the more the boundaries get blurry. Essentially, it's AJAX that does not fetch or receive resources directly. It interacts with a buffer that holds JSON which describes the next batch of cards. The images are streamed via <img> tag, so the buffer is small relative to the media it represents.
- shanebellone 1 year ago
- warrenm 1 year ago
- shanebellone 1 year ago
- eimrine 1 year agoSeems like you have described apps for snoop-phones. Those are a refresh-less, not device-agnostic browser apps with no tabs, no ability to change a font-size and limited ability to block ads.
- shanebellone 1 year agoBy snoop-phone, do you mean stalkerware? I have not heard this phrase before. Thanks in advance for the clarification.
- eimrine 1 year agoI am a big fan of RMS and I find promising to promote his way of naming things everywhere. Here are two recent links which explain this word choice.
[1] https://www.stallman.org/archives/2023-jul-oct.html#26_Septe...
[2] https://www.stallman.org/archives/2023-jul-oct.html#11_Septe...
- shanebellone 1 year agoAh, but that's not that case here at all. It's not an app. It's still a sandboxed web page. The only difference is the communication method. Rather than a transactional client-server relationship, we adopt the media-steaming approach post-load.
That is to say: You would load your desired website (the standard way) and then experience a "refresh-less" session for the duration of your visit.
- shanebellone 1 year ago
- eimrine 1 year ago
- shanebellone 1 year ago
- warrenm 1 year agoWhy do you want to "stream" a website?
An average website is a couple megs (maybe?)
What advantage would "streaming" that have over just loading it?
How would you account for AJAXy sites/services?