←back to thread

133 points avan1 | 6 comments | | HN request time: 1.469s | source | bottom
Show context
osigurdson ◴[] No.45078470[source]
Sometimes I think we should go back to basics: pixels, data, latency / bandwidth. The web is an optimization problem in the sense that we want to render correct pixels at perceptual speed given latency and bandwidth constraints.

It should be more like: what pixels is the user about to see? What data is need to set the the pixels? What data is likely needed next and optimistically pre-fetch - something like that.

replies(3): >>45078683 #>>45078991 #>>45080169 #
1. singinwhale ◴[] No.45078683[source]
Thinking about user seeing pixels is seeing just a part of the picture. As all software projects you don't optimize just for immediate user experience but also development time. Time to first draw rarely coincides with development time.
replies(2): >>45078810 #>>45079902 #
2. redwall_hp ◴[] No.45078810[source]
And I don't care about pixels; I want to see structured documents. How I choose to view those is my business.
replies(1): >>45080857 #
3. osigurdson ◴[] No.45079902[source]
Dealing with over-fetch / under-fetch most certainly does chew up development time. Creating endless api endpoints that are only used by the web UI is also very time consuming (the industry is finally recognizing how dumb this is and moving back to older SSR approaches). How about, "the user is allowed to access this information on the server - system you figure out what / when to fetch portions of this information for viewing"?
4. osigurdson ◴[] No.45080857[source]
Got it, you don't care about how the sausage is made. That's totally fine.
replies(1): >>45083682 #
5. networked ◴[] No.45083682{3}[source]
It doesn't sound like this is what redwall_hp meant; it sounds like what they meant was that pixels are the wrong level of abstraction. If so, I agree: the web is about marked-up text. When you break it down to the very basics, what you get is a teletype, not raster.
replies(1): >>45087804 #
6. osigurdson ◴[] No.45087804{4}[source]
I'd say that is more like a terminal than a browser. Regardless, what I really mean is some data is needed for the pixels (or whatever abstraction you want above that). You don't need data for anything other than the current viewport and whatever is likely needed next. No less, no more. No over or under fetching. This would be much better imo.