Towel-snapping optimisation =========================== Monday 13 February 2012 22:44 When your audience is mostly n00b front-end strugglers, as a medium existing because of publications and not solutions it's perfectly reasonable to waste everyone's time adding another chapter to the circle jerk that doing some Boston Globe website apparently was. Otherwise it makes no sense, for the following reasons: There is no reliable way to determine the amount of bandwidth a user is willing to spend on a single resource. Because screen size is all we've got to query in some mobile curious way that doesn't mean it's usable or efficient to do so. So it's some Spielerei to prepare for the magic event when there is an API that we can use to determine the bandwidth on a device? No, because mobile means there isn't a single bandwidth on a device. Even an API can't predict when conditions suddenly get worse because a device moves from Wifi to Edge. In such a volatile environment it's backward to keep thinking in monolithic bitmapped resources arriving after crafting a single request for it. There's wavelets, progressive schemes and vector based images that are much better at using bandwidth flexible and efficiently because they can stream until something determines there is enough resolution, and resume when more is needed. But if you're looking for a markup solution - because that is what your audience is craving for - it's just moving the same old protocol into another layer, effectively offering the user no advantage. Just wasting time waiting to get something into a standard it shouldn't be in in the first place, but apparently it's to hard to get designer-slash-developers to ask server specialists to solve their problems properly. That's why hey are called HTML monkeys. And even if you've gone through such great lengths to prevent sucking redundant data over someone's precious connection, only one click seperates that user from going to another website that didn't and makes the effect of your optimisations seem pretty useless. It's like risking your life to remove a single mine from a minefield and then claim you've made an improvement in safety for the user. But that user isn't going near your single safe spot as long as all the other mines are still there. Nice tech demo, but in the real world the whole ecosystem the user operates in has to have some minimal level to make it usable in he first place. And the core of that ecosystem is still the browser. Browsers should do a lot more than just implement web standards flawlessly. Initiatives like Opera Mini show users can be given good tools without some standards body first have to make a standard for it, or every webmaster come up with his own reinvention of what should be browser funcionality. But if all HTML monkeys can do is markup and think in markup they will never understand how to build a browser and solve the real problems. They seem to have enough issues grasping why browsers don't function as they would expect them to work from their markup viewpoint anyway. by Roland van Ipenburg http://www.xs4all.nl/~ipenburg/blog/posts/work/2012/02/13/towel-snapping-optimisation/