web dev 

really would like it if people stopped pulling arbitrary limits on web pages out of thin air

web bloat 

like one site complains that the guardian uk site is 4 megabytes. so i went to the link and disabled all my ad blockers and it's around 10MB in size and counting as it keeps loading ads, but with compression it's still only 5mb.

ii turn on ublock and it goes down to 3.6MB with 1.76MB transferred. refreshing the page only transfers 188KB. an article is 1.38M with 544KB transferred without cache and 202KB transferred with cache

web bloat 

let's try twitter, cold load of a profile. all ad blocking disabled, it's 6.77MB in size, 3.84MB in transfer. refreshing even causes it to re-download again! gross! but what if we click to another profile? it doesn't load the page again, it only grabs 350k in size and 140k in transfer

web bloat 

let's try viewing my github profile. it's 1.5MB in size, 361k transfered with no cache. refreshes with cache is 688KB in size, with 9KB transferred. loading a repo is 426K with 45K transferred. clicking pull requests pulls down 210k with 46k transferred.

enabling ublock stops the 9-27kb 'stats' transfer that happens each page c

web bloat 

looking at like a github issue it generally downloads avatars which ballons the size of pages to things like 1.84MB with 412KB transfered, but subsequently pulls 72kb down each load

bringing up the polar opposite is drew devault's sourcehut.org page brings down 95kb, transferring 81kb subsequently. actually using sourcehut generally pulls down 20kb size per page and 5kb size transferred.

web bloat 

so you have two kind of different metrics here. page size, which is the size of all resources, including those you only download once, and transfer size, which is the actual network cost of downloading the page

web bloat 

with ublock, if i clear my browser cache and browse a few pages on github, its size is 3.28MB and transfers 526KB in total. with sourcehut it's 339KB size and 50KB transfer in total. browsing a few pages on the guardian takes 7MB total size and 2MB transferred.

web bloat 

if you jump over to reactjs.org/, the home page is 2.47MB in size with 557KB transferred, but after browsing through the docs, tutorial and blog it's gone up to 5.32MB in size with 1.43MB transferred. getbootstrap after a few page clicks is 1.95MB total size and 618KB total transfer

web bloat 

ok, but things use to be better right? we used dial-up for hecks sake, what was the old web like?

jumping over to a web site i use to browse, oocities.org/timessquare/chasm clocks in at 737kb with the maps page landing at 1.6MB and the links page landing at 84kb, 64kb transferred

other websites in geocities range from 74kb, 133kb, 225kb, 24kb, 184kb, 119kb, etc. for page sizes

web bloat 

one phone plan i have is 7.5c/MB (predatory i know), and i have $10 to spend a month. so that's like 133MB a month of data, around 4.4MB per day. with 12 hours of use per day and say an average page time of 1 minute, you'd need a page to be 6kb to be a good web citizen. a simple web page with text, light CSS, no images is like 3KB at minimum transferred.

web bloat 

the other phone plan is 2GB a month, which is 66MB per day and at the same metrics, 94kb per page. a step up from that is wired internet which has higher bandwidth, even at 20GB you get say 940kb per page, and so on.

i can see a case for web bloat there where you'd want to keep your pages around the 50kb mark to accommodate mobile users.

HOWEVER

web bloat 

this random model that i made up doesn't represent reality. people don't just randomly use sites, they often have apps that use their internet much more than browsers, and more importantly: not all content is small. an image gallery is going to take up a lot of space, a video even more. so there's not really a direct correlation between size and bloat.

web bloat 

so what is bloat? well i'm tempted to say 'subjective', but that's kind of a terrible answer. i would probably say bloat is the difference between what the a specific user needs and what the user is given. users are often given extra things they don't want but help the website itself, such as ads and analytics. they're also often given extras that other users need such as integration with other services and pleasant themes, but they don't need.

web bloat 

@jookia the definition I've been working on for 'bloat', which you might find useful, is:

resources used for the primary benefit of someone other than the user

That's not far off of your description, I think

web bloat 

@calcifer @jookia you can't really predict what the user needs, so even very stripped down things might be bloated by that definition.

Almost the same, but not quite, is to look at the purpose of the thing, which you'd express in use case(s).

I find that slightly more fitting because it lets you discuss primary, secondary, etc use cases. The primary use case of a web page would be to provide information to the user, the secondary to discover related info.

Follow

web bloat 

@calcifer @jookia You can of course get more specific than that, but it's not wrong to start there I suppose.

What the user might need, by contrast, is only a specific datum contained in the page contents, though, just to illustrate that difference.

It also allows asking what use case the provider of a web page has. Which opens the can of worms that their use cases may clash.

But it's better than pretending those latter don't exist.

web bloat 

@calcifer @jookia I suppose I'd say that bloat is anything outside of the union of the primary (and secondary) use cases of the page provider and target user.

And you could add that bloat can also be caused by those use cases diverging too widely.

Sign in to participate in the conversation
Finkhäuser Social

A private instance for the Finkhäuser family.