IE9 & salesforce.com: When the cloud rains

04/01/2011

UPDATE: See below.

If you don’t know already Internet Explorer 9 and Visualforce are a complete train wreck. Every single Visualforce page that performs a rerender (ajax operation) will not work with IE9. The operation appears to start and then never finishes. This has probably led to thousands of force.com developers scrambling around to find and implement a fix. The good news is fixes are pretty easy, you just need to force IE9 to run in IE8 compatibly mode. This page on developer.force.com has all of the dirty details.

So who’s is at fault for this? Microsoft’s IE9 or salesforce.com?

IE9!!! IE9!!! IE9!!! I can hear the pitchforks being raised and the chants being cheered. Yes, a lot of the blame falls directly on IE9 as they only partially implemented certain XML features that caused this big problem. I absolutely despise all things Internet Explorer and even to this day they still can’t build a browser that follows standards and just works most of the time. It’s easy to place all of the blame on IE9 but I actually place equal blame on salesforce.com.

For the longest time salesforce.com has had a policy that if a browser is not on the list of supported browsers you are basically screwed and receive little support. This type of policy is simply not acceptable anymore. This may have worked when salesforce.com was an app used primary by internal users as it is much easier to put controls about browser usage in place. This all changed with the release of Visualforce and more specifically the Sites functionality. You now have the ability to build public facing pages that anyone in the world can visit and you can’t control what browsers they use. If these customer facing sites don’t work you loose money and your reputation can be tarnished.

But it’s not really salesforce.com’s fault because they are using third party solutions and these are what actually broke some may say. A lot of Visualforce is based on the RichFaces technology which from what I understand also uses a JavaScript library called Sarissa and this is what broke with IE9. Salesforce.com is now a huge company and I would be willing to guess that when you factor in all of the Visualforce pages using these technologies they are one of, if not the biggest, user of these 3rd party solutions. I would argue they have a responsibility to take a vested interest and contribute to these projects as they are all open source. Maybe they are, I don’t know.

I always assumed that if you are the market leader in cloud applications you would have a group dedicated solely to supporting the latest browsers but salesforce.com browser support is always way too far behind. It seems to be more reactive than proactive. As far as I’m concerned it is inexcusable to not support new tier 1 browsers shortly after their release. This rings especially true when all of the browser companies make available betas and release candidates months before the final release. I’m no Marc Benioff but if the main tool for humans (ignoring API operations) to access my application was a web browser I’d make sure that latest and “greatest” are supported as soon as possible. Yes, I completely understand this is WAY easier said than done, but like I said, salesforce.com is huge and I think they can swing it or at least be better than they are today.

This story does have a happy ending though. Once again the salseforce.com/force.com community rose to the occasion working together to find a solution. Tweets were exchanged and blogs were updated as users around the world tried to isolate and fix the problem. In the end the solution was an easy fix, albeit a bit manual, as you must patch every affected Visualforce page. While I may have ripped in to salesforce.com throughout this post I still think in most areas they are doing a great job. They also deserve mad props for openly discussing this issue on their developer site. I doubt most enterprise companies would opening discuss problems with there products, even if the problem is not directly their fault, but doing so earns you some serious street cred with the people that use your product everyday.

Update:
salesforce.com has come through on this one. After a little over two weeks when this was first reported salesforce.com was able to release a patch and get this IE9 issue fixed. It’s very refreshing to finally not get the “browser is not supported response” and based on Stephan (PM for Visualforce) comments below this will get even better in the future.