Dragonfly is so powerful that it’s easy to forget that Dragon does some things well out-of-the-box. To maximize your efficiency, it’s important know when it’s not worth it to reinvent the wheel. In this post, I’ll describe when I prefer to use built-in Dragon functionality.
Dragon’s strength is natural language dictation and editing. It allows you to speak continuously for any length of time, and it’s very convenient to correct words and move the cursor by referring to previously dictated text. But as soon as a Dragonfly command is uttered in an unsupported text field, Dragon will no longer let you make corrections. So when dictating English text, I generally try to avoid using Dragonfly commands. If I want to dictate variable or function names from code, I just use “cap”, “no caps”, and “no space” to help. This way I can keep dictating without any pauses. I will occasionally switch to Dragonfly commands when making small corrections, but I try to avoid it. When possible, I try to use the built-in “correct …” commands, and when that is not sufficient I use “go back” after making an edit to quickly jump back to where I was.
Whether dictating text or code, I prefer to add misrecognized words directly to the Dragon vocabulary instead of putting these into my custom grammar. This makes it easy to train the words, and I have designed my grammar so that it works in harmony with the Dragon vocabulary. For instance, if I have a common class name “SimDataManager”, I would add the phrase “sim data manager” to my vocabulary and then I can easily style it with underscores or camel case using my Dragonfly commands, without having to treat it as a special case. Similarly, if I have a frequently misrecognized command that I don’t want to change, I will train it using Dragon, taking care to not add it to the vocabulary (using “train word”), which would create ambiguity between command and dictation.
I recommend familiarizing yourself with the Dragon Command Browser (“open Command Browser”) so you know what is available. Note that the “Show all” button is helpful for expanding ellipses in commands. Some of my favorite short commands are “display text” to open the dictation box, “edit all” to select all and open the dictation box, and “edit words” to open the Vocabulary Editor.
When do you prefer to use built-in Dragon functionality to custom commands? Please post in the comments!
P.S. I would like to acknowledge the help of Mark, one of my readers/commentors, who influenced me on this subject and pointed me to some of the most useful built-in commands.