Tuesday, September 16, 2014

Caught in the Eternal Browser Wars!

During the cold war days the British used to joke that should America and Russia go to war all the bombs will be thrown on Europe. If you are in the business of online web application development this is exactly how you would feel in the midst of the never ending browser wars.

Internet Explorer, Firefox, and Chrome are the three most commonly used browsers (apart from various mobile browsers, Opera etc.) eternally fighting for market share. Every few months a new version of a browser is released. Besides, every few weeks these browsers undergo some fix or the other. To complicate things the ubiquitous Flash plugin (which is on its way out as a  technology) gets frequent updates too. E-learning content often uses flash and invariably something breaks. That's when the story begins.

The poor end-user who often pays for online content sits staring at the monitor expecting something to play in his browser. All he gets is a blank screen. Frustration creeps in and out goes the support email: "Fix it or give me my money back". The client forwards the same to the vendor and it goes to the application developer who has to sort it out like a puzzle from another planet. What are his issues? Well here's a start:

Say, the course material has MP4 content in one page and an MOV or a WMV in another. Not all browsers handle these formats without the appropriate plugins. MP4 and MOV plays with Quicktime player (provided they are H.264 compatible), but  WMV requires the WMV player. So the problem at hand is that "Video is not playing in the system".

He begins his job. Tirelessly goes through the fixes and everything seems to go in the right direction and hello! Here comes another case: A Mac user with a WMV content is experiencing the same issue! (for those who are wondering what's wrong with that, WMV does not play on Mac without an external plugin). 

OK, so our tech-guy fixes up the whole thing in his own style (by using custom players within the system and the like) and transfers the whole thing to the testers (translates into: thank god, it's out of my way!). The tester who has become sort of a human octopus (with 8 different browsers all around him, 5 of them being multiple versions of IE; Yes, the great IE6 included.) goes through rigorous testing and give a thumbs up. The fix goes live. The boss is happy. The client is happy. The end user who... well, still gets a blank screen in his browser. 

The whole issue re-starts. It's back to square one. The only difference is that the overall frustration levels of all the parties involved has gone up a notch. 

Extensive research by the developers (read "Google") finally reveals the truth. The particular browser, IE, has a compatibility mode, which is like a switch, used to play 'non-playable' (?) content in a website. The end-user has to turn ON that switch in order play the content. Problem solved.

Suggesting these plugins and/or to play with the browser settings  to an end user (who is an anxious non tech savvy person in most cases), is not easy. Besides, end-users don't expect anyone to have make changes to settings on their computer, they just expect it things to work magically from the get-go. 

Interestingly, for some reason, the other browser's don't seem to find any use for such a switch. They do not mind playing this 'non-playable' content at all. A much scarier thought that is bugging us right now is if other browsers would introduce this feature just to compete with IE!

So for now our end user is happy, thanks to the compatibility mode in his browser, and no thanks to the developer and support team who needlessly spent hours troubleshooting the issue.

But of course, the issue could happen again for another end user who has not yet turned ON the switch in his browser. So the issue isn't completely out of the way yet.

So, what happened to our developer? At the moment the guy is breaking his head to figure out a way to keep this switch ON all the time for end users! He is the real victim of the browser wars!