Over the past few weeks, I’ve been watching the slow-motion train-wreck that’s the debate over whether the HTML5 spec should use srcset or picture polyfill to deal with responsive images (see .Net for a good round up). I’ve covered Responsive Web Design before. In fact I’m a passionate advocate for all things responsive but even I’m not sure I’d take the whole thing as personally as those who are deep in the trenches of this particular battle.
If you’re new to this particular bun-fight, the story goes like this: Back in around February time a working group was set up to propose how HTML5 could tell browser pre-processors to use the best image for a particular screen. They came up with what they believed to be a solution only to see another option from someone at Apple get what they saw as fast-track acceptance. As a result, they were all pretty hacked off (understandably I guess).
While I’m not going to get into which option I think is the better one, to me the episode is pretty telling about the world we developers all live in.
If we’re honest, developers aren’t great at managing conflict. Don’t get me wrong, many can flame with the best of them, but coming to an accommodation with others we disagree with isn’t generally our strongest skill.
We tend to work in a world of binary absolutes. We’re used to God-like control over our creations – control we exploit to pixel-perfection. But, of course, the real world of real people just isn’t like that.
Some years back, I remember having a 2-hour argument with another developer over whether private variable should start with an uppercase or lowercase letter. I was convinced I was right of course. But so was he.
The uncomfortable fact is that sometimes there just isn’t a perfect answer. Whatever we choose will be, to a greater or lesser extent, a compromise. Sometimes good enough is, well, good enough.
We can all wait for a perfect solution that never arrives. Or, for right or wrong, we can make a decision. And in my experience, even the wrong decision tends to be better than no decision.
Ironically, the fact that we can all get so bent out of shape when the decision doesn’t go our way shows a certain lack of empathy for everyone else involved. Yet, considering what we do, empathy for other people should be at the absolute centre of our skill sets. And maybe if we all got over our personal God-complexes, we might just see that.