Skip navigation.

Log in | Sign up

Opera Dragonfly

Bug control, accelerated

Opera Dragonfly updated for Opera 10.60

, , ,

Those of you who love traveling by trains or planes will enjoy the latest update to Opera Dragonfly. To sync up with the Opera 10.60 release, we have added offline support to Opera Dragonfly. We now take advantage of the Application Cache feature (commonly known as AppCache) of HTML5, which has just landed in the desktop browser. This is not the first time we have taken advantage of a feature from the HTML5 family of specifications; we recently used Web Storage (introduced in Opera 10.50) to save user preferences, such as colours used in the element highlight. The added power of HTML5 JavaScript APIs allow us to get closer to the capabilities of native applications.

We recently launched a survey of developers to find out their needs and wants for a tool such as Opera Dragonfly. The ability to work offline was close to the top of this list, so we are pleased to be able to offer this feature right now. Many of the top requests are already in the pipeline or under active development. Examples of the top requests include:

  1. Enable/Disable CSS rules (Close to completion)
  2. Improve icons and UI intuitiveness (Design work ongoing)
  3. Offline support (Implemented)
  4. Right-click (context menu) support (Planned)
  5. Firebug Console API (Supported in Scope. Under development in Opera Dragonfly)
  6. Requests around inspecting bodies of HTTP requests and page resources (Under development)

There were of course many more requests and suggestions, and we’ll release a more in depth summary at a latter date. The feature closest to release in the above list is the ability to be able to temporarily disable and enable individual CSS style rules. This was heavily requested, and we hope to get it out on the cutting edge path in the near future.

One big improvement you will see in this release is the speed of the application. This speed increase is achieved two fold. Using AppCache really speeds up the start up time of the application, as well as allowing it to work offline. This will be even more clear in areas with slow network connections. The overall responsiveness has also improved, and there we didn’t have to do so much extra work in the Opera Dragonfly team. Opera Presto, the engine behind the Opera browser is speeding up dramatically in each release, which has a big knock on effect for complex web applications such as Opera Dragonfly. Opera 10.50 concentrated on JavaScript and graphics speed with the introduction of Carakan and Vega. Opera 10.60 improves JavaScript performance even further (up to 50% in some cases), but also concentrates on DOM and selector matching improvements. When inspecting a page with a deep DOM, Opera Dragonfly really has to do a lot of heavy DOM lifting, so those improvements are very welcome. We are not stopping there of course; Opera’s rendering engine will continue to get faster (which Opera Dragonfly will automatically take advantage of) and we plan to optimise the CSS used in Opera Dragonfly while we are developing the upcoming redesign.

As always, let us know what you think, and we hope you enjoy the latest update to Opera Dragonfly.

Opera Dragonfly developer survey

,

We are always looking for ways to improve the quality of Opera Dragonfly and our developer tools offerings. As part of this process we have produced a survey to understand the needs, wants and work flow of the developer community. We will use the results of this survey to hone our product offering and as feedback into the roadmap process. We want to make sure we understand the issues developers are having with Opera Dragonfly, and what features developers and designers can not live without.

The survey is currently available in English and Japanese, and is currently being translated to a number of major languages.

We appreciate any feedback that you give, and if you wish to be contacted about any specific replies or points in your survey, then remember to leave your email address. We respect your privacy and will not share your personal information.

Take the survey:

100,000 Milestone, and changes to the licence

We’re happy to announce that Opera Dragonfly has reached the 100,000 active daily users milestone. While it pales in comparison to our browser usage–where Opera Mini and Opera desktop both hit 50 Million active monthly users recently–it is an impressive amount of Web developers who test in Opera each day. With the help of those developers, we can improve Opera’s Web site compatibility, and create a better experience for our users. A big thank you to all our Opera Dragonfly users so far. We hope to rapidly increase this figure as Opera Dragonfly matures.

One change we’ve recently put in place for the Opera Dragonfly project is to switch from the BSD licence to Apache 2.0. While BSD is a liberal licence, the reason we switched to Apache 2.0 is that we wanted to have a patent promise which covers Opera Dragonfly and the Scope protocol. The following is stated in Opera’s Vision:

Opera Software does not believe innovation in the software industry is protected or encouraged by software patents. In particular, we believe interoperability on the Internet should be encouraged, and we actively work to ensure that software patents do not stand in the way of interoperability.

Although Opera doesn’t believe in software patents, and only applies for them to protect ourselves from attacks by other aggressive patent holders, it is important to have a patent policy in place to protect any company that makes use of the Scope protocol or Opera Dragonfly, from any patents held by Opera or any other contributor. This reduces the risk of adopting the Scope protocol, in similar ways to how the W3C has a patent policy to protect companies implementing their specifications. We found when evaluating this issue that the Apache 2.0 licence has the patent policy built into it that we need, as well as being as liberal as the then current BSD licence. We hope this will encourage other browser vendors and user agents to look into the Scope protocol, which was designed from the ground up to support advanced features such as remote debugging.

Opera Dragonfly alpha for Presto 2.5

, , ,

Opera 10.50 has been released as a final version, which brings with it a new rendering engine — Opera Presto 2.5 — and a new version of Opera Dragonfly, featuring some important new features and fixes. In this post I will take you through these Dragonfly updates.

The biggest change is an upgrade to the STP/1 version of Scope. This, combined with Carakan, Vega and other speed optimisations in Presto, make Opera Dragonfly noticeably faster, giving us a solid foundation to build more features on to in the future.

Next, Opera Dragonfly now includes the initial implementation of a storage inspector. The initial implementation supports inspecting cookies and Web Storage data (localStorage and sessionStorage — for more details on these, read Shwetank's Web Storage article). The storage inspector shows the currently stored data, along with the option of creating, deleting or editing a record. This feature will also eventually allow for the inspection of Web SQL Databases, which is also supported in Opera Presto 2.5.

The next major new feature is the colour picker. This is the first tool in the new utilities panel. The feature zooms the area of the page under the mouse pointer and reports the colour value in three different formats: HSL, RGB and Hex. The area and scale of the magnification can be customised, and the colour returned can be the exact pixel selected or an average of the surrounding pixels. Once the colour is selected, it can be stored (using localStorage) for later use. This can be handy for creating colour palettes of commonly used colours.

It is also worth pointing out the new element highlight again, as Opera 10.50 is the first desktop browser to support this feature. The metrics are highlighted on the page in the element highlight. Hovering the different parts of the box model in the Layout panel of the DOM inspector changes the highlight focus. Multiple elements can be highlighted by enabling the button labelled draw a border on to selected elements in the DOM panel’s toolbar. Once this is enabled each element that is clicked on retains a light highlight and border, similar to the hover highlight. This can be useful for testing how elements align.

Opera Dragonfly open for business

, , ,

Since the inception of Opera Dragonfly, we planned for it to become an open source project. It has always been released under an open source BSD licence, but the source repositories were on Opera servers. Starting today, Opera Dragonfly is a fully open source project, hosted on BitBucket. Since the previous version of Opera Dragonfly, a lot of work has gone on behind the scenes replacing the existing architecture with a modern version of the Scope Protocol – STP-1. Opera Dragonfly has been rewritten to use this faster and more efficient version of Scope. Now that we believe that the underlying protocol is stable and performant, and a public desktop build has been released with this included, it is time to put Opera Dragonfly on a public Mercurial repository.

If you have a Mercurial client you can visit the Opera Dragonfly STP-1 repository and check out the source code. We have provided initial documentation in the Wiki to get you started. This is Opera’s first full open source project, so there will be a learning curve. We ask you to bear with us while we get everything up and running and policies in place. Coming from a closed source background there are some hurdles to overcome, such as the current bug tracking system being on a closed server. We hope to migrate to an open bug tracking system as the project gets on its feet.

As well as the current and previous versions of the Opera Dragonfly source code, we have released a couple of tools to help with Opera Dragonfly development. The first is Dragonkeeper. This is a standalone proxy, which translates STP (Scope Transport Protocol) to HTTP. This can also be useful for remote debugging. The second tool is Hob. Hob is a utility to create code from Protocol Buffer descriptions. Protocol Buffers are one of the formats Scope STP-1 supports along with JSON and XML.

The focus of the current release of Opera Dragonfly was stability and performance. As such you will not see a great deal of new features. We believe it was invaluable to build a strong foundation, so we can advance faster, with less issues in the future. Two new features you may notice since the previous desktop release are a new element highlight (first introduced in Opera Mobile), and a colour picker utility. The highlight has been optimised since the mobile release, and supports visualising the metrics of an element on the page, and multiple element selection. The colour picker is still in early development. It allows for the magnification and selection of colours from the Web page. The value of the colour is displayed in both HSL, RGB and hexadecimal formats. Work has also began behind the scenes to take advantage of HTML5 Web Storage to store users settings and preferences. This will eventually allow the application to be greatly customisable, and to remember layout and settings from a previous session. One of the biggest usability issues has also been solved, with inspect element being available from the Web page context menu. This reduces the steps needed to start debugging a Web page.

The current focus for the Scope protocol is improving the JavaScript debugger. This work is nearing completion on the Scope side, and will provide functionality such as the Firebug Console API.

We hope you enjoy this version of Opera Dragonfly, and that some of you will be inspired enough to help with the Opera Dragonfly project. If you like a challenge, this is a great place to start. Visit the Opera Dragonfly repository to find out more information.