Two words: No debugger.
Part of our charter here in the Windows Live team is to support as many browsers as practical. I’d received reports that our Windows Live Contacts control doesn’t do much in an Opera browser, so in the calm following the signing off our most recent “sprint” I indulged in a diversion to trek off to Opera land to install their latest incarnation.
It’s a great looking browser – slick UI, slick PR packaging, slick photos of monochrome Scandinavian 20somethings suffering from incurable coolness. And red hats. For a browser, it does what it needs to do well – it browses.
I couldn’t find a debugger in the Opera options or add-ons, so I looked in the FAQs and questions on the Opera community forum. No dice, other than an item in the FAQ heralding Opera’s error dialog as infinitely better than IE. It’s true, it is a much better error dialog. But an error dialog is reactive, and after the fact. A debugger is proactive, and lets you look around inside the box. You can learn more about a program’s actual execution in 5 minutes in a debugger (with an inspector window / expression evaluator) than in a week of staring at source code. Diagnosing problems by looking at source code is speculative, based on your assumptions about the execution environment. Diagnosing problems by looking at them execute is as close to touching binary reality as we’re going to get.
So I created an account on the Opera community forum to ask the question.
(Curious: the Opera community account creation confirmation email to my Microsoft email address never arrived. The confirmation to my home address arrived in a matter of minutes. Is that an Opera filter banning messages to Microsoft or a Microsoft filter banning messages from Opera? I can’t tell from this end.)
That’s nuts. What would normally be a 5 minute spelunk through the code in any serious browser suddenly becomes hours of crawling around in a haystack. I’d love to add Opera to our list, but it’s not worth that much effort. Omission of script debugging support may not be a show stopper for hacks working on small apps, but it definitely presents an obstacle for large, complex web apps. Without a script debugger, Opera does not scale.
All hope is not lost, though. I know Opera gets lost somewhere in the Atlas initialization. Perhaps the Atlas team has a newer build we should be using, or some other opportunity to divert / share the pain of diagnosing this Opera issue.
This post was originally published on my MSDN blog while I was at Microsoft.