Running Opera Dragonfly offline

Opera Dragonfly uses HTML5 Application Cache (commonly known as AppCache) to store itself on your machine. The biggest advantage is probably that Opera Dragonfly still works while you are completely offline, updating itself to the newest version available when you go back online. In addition, this also reduces start-up time: Opera Dragonfly will execute from cache as soon as it's invoked, while any newer version will only be downloaded once the tool is already running.

However, there are a few situations in which this use of AppCache won't work, and Opera Dragonfly will need to first be downloaded via a live web connection before being usable:

  • You've never started Opera Dragonfly with this instance of Opera before (for example, after a fresh installation)
  • You're using multiple profiles in Opera and you've have never started Opera Dragonfly in this particular profile.
  • You have cleared the list of Webpages using persistent storage in your preferences or specifically removed the entry for dragonfly.opera.com

In these situations, there are a few (admittedly rare or unlikely) things that can go horribly wrong and prevent Opera Dragonfly from being downloaded correctly:

  • Your browser version is too old to support AppCache
  • Your browser's Use application cache preference is set to No, or you haven't started Opera Dragonfly since you set it back to Yes
  • You don't have enough free disk space for Opera Dragonfly to be stored (currently it needs ~370KB)
  • The file transfer was interrupted (someone fell over the cable while Opera Dragonfly was loading from the Internetz)

To check if your particular instance of Opera Dragonfly will also work correctly offline, unplug the cable disable wifi and try take a look at Preferences > Advanced > Storage and check that dragonfly.opera.com is in the list and takes up a few hundred KBs of space.

We're working on a fancy AppCache status display for Settings > About to show you more clearly what's going on – but you'll see more on that in a future blog post.

Advanced: Clone me, fork me, build me

If you want to be 100% independent of AppCache and are not afraid of a bit of command line work, you can use Mercurial to grab the entire source from the Opera Dragonfly repository on Bitbucket.

$ hg clone https://bitbucket.org/scope/dragonfly-stp-1

You'll get the very latest version of the code from our repository, but be warned: this will include all the latest changes, which will not have undergone testing – so there's a chance that some things may break. Once cloned, enter the local /path/to/dir/src/client-en.xml in the URL field of opera:config#DeveloperTools, and next time Opera Dragonfly will run directly from your machine.

To update your local version with Mercurial, simply issue a pull and update command and restart Opera Dragonfly.

$ hg pull
$ hg update

Although simply running the code from the repository will work just fine, you can also improve your local Opera Dragonfly's start-up time by running our Opera Dragonfly build tools, which preprocess some of the files for greater performance. These tools have recently been rewritten and we'll follow this up with detailed instructions on their function and usage soon.

Future outlook

We realize that it's crucial to have Opera Dragonfly available offline whenever possible – and that includes a fresh install of Opera. As outlined, due to the nature of AppCache, there's currently still a need for the code to be loaded at least once through a live internet connection. Rest assured, though, that we're investigating ways in which even this initial hurdle can be overcome in future versions. Until that point, please make sure to "seed" the cache of your development instance and profile of Opera at least once before embarking on any offline debugging adventures.