I was flicking through the IKEA catalogue the advert (see diagram) struck a cord with me. An LED bulb had been created which was 85% more energy efficient than a traditional bulb. However the designer and retailer have seen fit to put 16 of them into a single housing. I calculated that they had created a fixture which would use 140% more energy than that of a single incandescent bulb. As we innovate and create a more efficient ways, the market appears to unconsciously find a way of utilising the spare capacity given.
I see many parallels within the IT industry. I’ve seen chipsets get faster and the supporting software get bloated (MS for instance) – negating the increased and intended benefits. Within the web industry we see that as the average bandwidth capability increases, the average size of web-pages increase. Every low level improvement (SPDY, Broadband, CDN’s) seems to be met by a general tendancy to gobble up the spare capacity given. It’s almost as if there is a unconscious and self-regulating mechanism at play.
No matter how much we increase the available capacity the marketplace seems to find a way of utilising this, through bad practice or good. I have a theory as to one reason why this may be the case and it’s one of the costs associated with encapsulation and abstraction. The hardware, OS, software services, compiler, back, middle and presentation tier are essentially abstracted. The people that implement (developers, web designers) are so specialised and siloed they have little regard or interest in these components until they realise the application is unacceptably slow; then improvements are made up until application performance becomes acceptable, thus filling all available capacity.
I’m going to make an attempt at a general industry Rule:
Buksh’s Web Capacity Rule:
Any gain in bandwidth capacity through efficiency techniques will be short lived, as increases in functionality, bad practice or abstracted inefficiency will absorb that initial saving quickly
Also by implication, the rule is saying that the marketplave will average a page to reach the target audience within an acceptable industry response time (2-3 seconds)
Average Page Size = ALT * Average Bandwidth Capacity
ALT = Average Acceptable Load Time, lets say this is 3 secs.
ABT = Average Bandwidth Capacity of target market.
This means we can probably work out the average bandwidth capacity of the world (western) by taking the average page size and dividing by 3 secs.
….looking around, the average page size is now 1024k (according to Strangeloop). So:
Average Bandwidth Capacity of consumers is 341k == 0.3 of a MB ==2.5 Mbps
This means if a page is to load in 1 sec, it should be approx. 0.3 MB in size. (Of course this is a very course calculation, but it should provide a good guide)
This as a rule has some other implications. It’s fairly safe to assume that the average bandwidth (to consumers) will continue to increase. This means the industry is forever going to be in a continuous game of cat and mouse. Pages will continue to gain in average size no matter what. Client browsers will experience larger demands on their resources and continue to grow in complexity.
Dancing is better than waddling
So back to the lights – I suspect if we ever reach a point where too much performance capacity is cheaply given, then as a whole we will have a tendency to over utilise & become bloated. Our nature and practice seems to dictate this. Having performance and capacity restrictions ironically makes us leaner, meaner, inventive and more responsive. I think if we get to a point where bandwidth capacity isn’t a restricting factor then this will have a tendency to make us lazy, fat and bloated with a host of unintentional and indirect consequences. Thankfully those that are lean, dance a lot better than those that are not at present, I hope it remains that way.