One of the best ways to get started writing Dragonfly macros is to set up web browsing by voice. Thanks to the extensibility of modern browsers, this works surprisingly well. Note that Dragon does have built-in support for web browsing, although I find it doesn’t work very well. The extension tends to cause pages to hang, and it requires that you speak the link you want to click on, which introduces ambiguities and doesn’t work well for all clickable elements. And of course, it’s not very customizable. I do recommend you try it first to see if it works for you, and to think about what you would like to improve in your custom version.
To begin with, you’ll want to decide between Firefox and Chrome. Both of these support the extensions you’ll need, so it is really a matter of personal preference. Firefox is probably the easiest to get started with, although I prefer Chrome.
First, you need to install an extension that labels clickable elements on the page, so you can speak a label to click on an element. I recommend Mouseless Browsing for Firefox and Vimium for Chrome. If you are using Firefox, try out this sample Dragonfly module. If you are using Vimium, you will need to bind one command to label the clickable elements, and another to actually click a particular element. Since you’ll be using these a lot, make them as terse as possible. I use “links” for the former and I simply speak the number for the latter. To make it even faster, I only allow one-syllable numbers to be used in labels. I also recommend binding the Vimium shortcuts that let you quickly open a bookmark.
Next, you’ll want to enumerate tabs so you can quickly jump between them. I think the Firefox extension already does this, and I created one for Chrome, Tab Namer. My extension also extracts the hostname and appends it to the tab name, so you can easily use it to define contexts in Dragonfly (e.g. to bind keyboard shortcuts for specific sites).
The last extension I rely on is Keyboard Shortcuts to Reorder Tabs. The Linux version of Chrome binds these shortcuts by default, but not the Windows version.
As always, if there are extensions you find useful, please post them in the comments!
When you are ready for even faster browsing, check out my post on Custom web commands with WebDriver.