Long-time browser competitor Opera is out with a new piece of software today: Opera Dragonfly. Web developers (especially those concerned with cross-browser compatibility) will want to have a look at this first release and keep track of it as it evolves.
If you know your biology, you know that dragonflies hunt other bugs. This particular dragonfly is designed to “debug Web pages, Widgets, and Web applications on any device.” Or at least, on most devices where Opera runs (with plans to improve that reach later). Today’s release is an alpha drop, but it’s already functional enough to use.You’ll find five main tools in Dragonfly:
Error Console – Even if you’re not debugging, you can track all of the scripting and CSS errors that are happening in an application so that you can filter them later.
DOM Inspector – This tool lets you see the current state of the Document Object Model, which may or may not match what you find in the page’s source code. For debugging dynamic sites this is a must. Right now, this is a read-only view, but support for editing the DOM is promised in a future release.
CSS Inspector – You can use Dragonfly to see the exact CSS applied to any element, and where it comes from. As with the DOM Inspector, the CSS Inspector is currently a read-only tool.
One nice thing about Dragonfly is that it can connect to Opera sessions on other computers, or even other devices (as long as they’re running Opera). The support is limited to Opera for Desktop v9.5 beta 2 at the moment, but they promise to port this to the other Opera versions in the future. They’re also planning on publishing their SCOPE protocol so that other browsers can implement Dragonfly compatibility as well.
The Dragonfly code is released under a BSD style license, and they’re asking developers to help them tune the feature set. Right now the project isn’t far enough along to be the best debugger out there (my nod for that still goes to Firebug running in Firefox). But there’s at least one scenario where it will quickly become indispensable: when you’re trying to figure out why a site behaves differently in Opera and other browsers.