Thursday, November 13, 2008

Charging more to support craptastic and/or old browsers

Good God. I literally started writing this entry a month ago, got busy, and left it suspended in draft mode for ages. Let me brush off the dust and get this bad boy ready for publication...

This started as a reply to a post from Philip Beel, which was in turn explaining his thoughts in response to item #10 on Ten Web Development Tips I Wish I'd Known Two Years Ago over at hackification. By the time my comment hit it's 6th paragraph, I figured I'd be better off just putting my thoughts into my own blog post. Ain't the web grand?

Philip says in part:

Consider that you were sold a car, but told you could only drive it on motorways, as the wheels may fall off if you drove it on any other roads.

But I think that's the wrong way to look at the situation. My thinking is a bit closer to the hackification article, which states in part:

Explain to the client that since older browsers work in a different way to modern ones (which they do), that’s extra work and hence extra cost. (I’d suggest approximately 10% on top). Explain that IE6 has approximately 25-30% market share, and let them make the cost/benefit call. Money has an amazing focusing effect: it forces people to really think about what they want and need. (emphasis added)

As designers, we're concerned with stuff like use experience, so we tend to think of things in terms of the end user/consumer. But our clients are often business people, so I think it's more effective to talk to them in the language of business people.

I think the “buying a car that only works on motorways” example wouldn't work well on most clients. The situation is more akin to opening a new convenience store 7 years after the last gasoline powered car has rolled off the assembly line. Would you want to take on the cost of installing and maintaining a gas pump for a market segment that is no longer in the majority and will be forever dwindling? Even installing just a single pump alongside the hydrogen system (or quick charge stations or whatever the new technology happens to be) would require redoing a lot of the same type of work. The systems aren't interchangeable or compatible. There would be redundant systems; more things to build and eventually need repair.

I think most clients would understand that analogy. It probably would not be hard to come up with one more targeted towards their own business model.

But another problem is that consumers are better informed as to the cars they drive than the browsers they use. The owner and employees of the hypothetical fueling station above would probably never have to deal with an irate customer who doesn't understand why the hydrogen hose or quick charge plug won't fit into his gas tank. Sites like Browse Happy can come in handy for educating consumers, but the kind of people who are the most problematic (don't even realize browsers and other software are entities separate from “the computer”, never update whatever shipped with their operating system, etc) are the least likely to go there or truly understand the content once they get there. So the ethical considerations are still not dodged.

But I think the ethical issues are drastically different from the issues involved in getting clients to understand the cost associated with “supporting” old browsers. And a lot depends on how you define “support” as well.

If you want the 0.1% (or hopefully even lower than that) of folks still surfing on Netscape 4 to be able to use some Ajax based enhancement, that's gonna take a heck of a lot more work. What's the return on investment of that work? Expecting the 21.53% (and dropping) of IE6 users to see rounded corners exactly like what someone on Safari 3 sees is like expecting a 1993 Geo Metro to handle and perform just like a Tesla Roadster.

In my current work with jQuery, I'm noticing drastic performance difference even between IE6 and IE7. The features work in IE6, but it's not as smooth nor as quick. With the move towards just in time scripting execution in Google Chrome and future browsers, such performance differences will become even more noticeable. So what's the acceptable level of differences in appearance and performance from browser to browser? That will change from project to project, but the price tag for the work we do needs to also change to reflect the shift in work load (be it up or down).