Settings

Theme

Ask HN: Why don't we stream websites like movies?

1 points by shanebellone 2 years ago · 14 comments · 1 min read


Streaming data would allow for "browser-based applications" (e.g. single request/refresh-less web applications).

Why is the standard approach still transactional?

edent 2 years ago

Well, 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...

  • shanebelloneOP 2 years ago

    Let 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 2 years ago

      That sounds like AJAX, no?

      • shanebelloneOP 2 years ago

        It 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.

        https://www.youtube.com/watch?v=6eSDuAe3pHA

eimrine 2 years ago

Seems 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.

  • shanebelloneOP 2 years ago

    By snoop-phone, do you mean stalkerware? I have not heard this phrase before. Thanks in advance for the clarification.

    • eimrine 2 years ago

      I 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...

      • shanebelloneOP 2 years ago

        Ah, 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.

        • eimrine 2 years ago

          Do you propose thin or thick client? How about Java applets or MS Silverlight?

          • shanebelloneOP 2 years ago

            Why such archaic examples?

            Imagine visiting this website, Hacker News, to read a few posts/discussions. Does the idea of circumventing a refresh offend you? You could click into a threaded discussion (from the homepage) and back without triggering a reload or needing the data beforehand.

            Other than the indexability problem, it seems like an ideal solution. In many use cases, the indexability problem is actually a feature too.

            • eimrine 2 years ago

              > Why such archaic examples?

              I haven't understood why apps are not what you ask, so I tried to remember some well-known technologies/approaches.

              > Does the idea of circumventing a refresh offend you?

              Yes because I prefer to request things from online when I want but not when my device wants.

              • shanebelloneOP 2 years ago

                "I haven't understood why apps are not what you ask, so I tried to remember some well-known technologies/approaches."

                I'm talking about websites that function like apps but have the privacy/security benefits of being sandboxed inside the browser (accessed by URL or link).

                It seems we may be talking about different things. I am not advocating for downloadable apps (I've never liked the app store paradigm nor the access it grants random developers). I'm advocating for more capable websites (which IMO "ought" to protect user data--not leverage it).

                • eimrine 2 years ago

                  > I'm talking about websites that function like apps but have the privacy/security benefits of being sandboxed inside the browser (accessed by URL or link).

                  What privacy benefits are not being realized by the current approach? If I want privacy, I can just disable JS for not letting some website know too much about my device. But in general, privacy is a joke since Edward Snowden's revelations.

                  > I'm advocating for more capable websites (which IMO "ought" to protect user data--not leverage it).

                  What opportunities are not being realized with the current approach? Who will be responsible for protecting user data, given that every website/resource/service strives to sell Alphabet/Meta as much data about you as possible.

warrenm 2 years ago

Why 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?

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection