Hands-free Software Development, Pt I

I thought I would write a little bit about the way in which I develop software. I will try to explain the combinations of tools and the rationale behind the decisions. I will also note my opinions based on the experiences I have had. If anyone has anything specific they would like explained/elaborated upon please post a comment or e-mail whizz2000 at Hotmail dot com.

I rely completely on hands-free solutions, my main tool has been Dragon NaturallySpeaking. I use the most up-to-date version if I can because any performance improvement results in a significant time saving. I do not use the Dragon professional version, to create scripts like you can in the professional version, I use “NatLink” by Joel Gould I think. NatLink is a Python-based scripting extension that can be used to interact with Dragon.

I use Dragon as an input method in a variety of ways. The highest level (most powerful least flexible) being scripted commands for example “search Google for voice recognition” or a NatLink macro command “insert address one”. Obviously dictation is a very powerful feature of Dragon and the autopunctuation (which I usually turn off) can be useful for some people, I find dictation very accurate with Dragon 11.5 (as of writing).
The next level of input is using the “spell …” syntax, which allows you to spell out letters in quick succession. This is very useful when spelling words not in your Dragon vocabulary. Unfortunately with newer versions of Windows and browser-based text input this is not always possible. For example when using the start bar desktop search function in Windows 7, issuing the spell command changes focus out of the desktop search text field. A workaround for this is to “switch to spell mode” and then spell out the word. When using Firefox, if you use a custom chrome file you can remove the orange button in the top left which always opens when issuing a spell command. Even then the spell command can also take you back to the first tab, I’m sure there is another workaround using a chrome file but I haven’t had time to find it yet. You can again use “spell mode” or only a single tab per Firefox window. I always use phonetics when producing characters as it reduces ambiguity, increases accuracy and speed of recognition. It takes a while to learn them but I have found it worthwhile in the long run.
The next level of input is the “press …” command with which you can only issue single or combination keyboard presses (and mouse-keyboard combinations as of Dragon 11). This can be useful when the spell command will not work for some reason. I do a lot of work across different terminal types etc and for example using virtual machines or Remote Desktop/vnc sometimes the Dragon builtins don’t work.
The mouse grid input can be learnt from the Dragon documentation and is fairly intuitive. Learning to use this quickly is a great help but requires you to visualise coordinates in advance of uttering them. The Mac version does not allow you to issue multiple coordinates at once and therefore is unusable for me.

Next time, autohotkeys, putty and NatLink

Leave a Reply

Your email address will not be published. Required fields are marked *