People who know me are aware that I have been, and still am a long time supporter of the open web stack, and I have talked a dozen times about how HTML5, CSS3 and JavaScript is the only way to produce apps, sites and games that run cross-platform, accessible to the widest audience possible. Now don’t worry – I’m not changing my opinion. Native is out, HTML5 is the future. Period. But there’s something I have to tell you. It’s about finding the right compromises.

I’m getting bored of people publicly yelling and complaining at people who have build something great that only works in a limited set of browsers.

“Uh noes, you can’t ignore [insert browser of your choice here, i.e. Opera]! You’re fighting the open web!”

There, I said it. A couple years ago, as a developer, I could see their argument. Open, interoperable, non-monopolistic and awesome and all. A couple months ago, I was angry. And now I’m just bored.

Imagine somebody grants you a budget of three months development time, and it’s up to you to make the right compromises. You can either create an ‘okay’ product that runs on 95% of today’s browsers. Or instead, you create something unbelievably great that runs on 70%. What would you pick? And no, you absolutely cannot have both. I spent too much time with outdated browsers to still believe there’s a way to achieve both.

I find it amazing that many people will pick the ‘okay’ product, just because the ‘open web ethics’ demand it. If you are creating a consumer point, there is absolutely no reason to go that route. None. Let me repeat that, as it is important. You should always – always focussing on creating a great product. Great in absolute terms, not relative to the browser. Achieving 15fps in a game on IE7 is not great. It’s great relative to what the browser can offer. In the case of a game, your baseline is 60fps.

You don’t want people to play your game at 15fps. “Their game is so great it only runs on latest browsers” almost definitely sound better than “Many people complain about the bad performance in their favorite browser.”. Hell, maybe your favorite reporter is using IE7. It unfortunately doesn’t stop here, as there is more harm to be done supporting outdated browsers. Progressive enhancement almost never works. I guarantee you that if IE7 is your baseline, you won’t be using all the cool features you get with, say, Firefox 7. And another project that focusses on the right compromises will always win.

So please, please, please! Focus on creating absolutely great products. Literally.