Well the docs finally said it, I need to take it easy on my wrist for a few months. Being that I'm a .NET Developer this could end my livelihood for a little while, something I'm not anxious to do. That said, are there any good handsfree options for developers? Anyone had success using any of the speech recognition software out there?
POSTSCRIPT: I've recovered my arm again to the point where two-handed programming isn't a problem. Dragon Naturally speaking worked well enough, but was slower, not like the keyboard where I was programming faster than I thought.
Cortana is best for Windows users. Google Now is best for Android Mobile devices. For the dictation on Google Docs, Google Docs Voice Typing is the best option.
Voice Recognition. Type with your voice. Dictation turns your Google Chrome into a speech recognition app. You can use Google Chrome as a voice recognition app and type long documents, emails and school essays without touching the keyboard.
The speech recognition software breaks the speech down into bits it can interpret, converts it into a digital format, and analyzes the pieces of content. It then makes determinations based on previous data and common speech patterns, making hypotheses about what the user is saying.
There are quite a few speech recognition programs out there, of which Dragon NaturallySpeaking is, I think, one of the most widely used ones. I've used it myself, and have been impressed with its quality. That being a couple of years ago, I guess things have improved even further by now.
Even though it works amazingly well, I won't say it's an easy solution. It takes time to train the program, and even then, it'll make mistakes. It's painstakingly slow compared to typing, so I had to keep saying to myself "Don't grab the keyboard, don't grab the keyboard, ..." (after which I'd grab the keyboard anyway). I myself tend to mumble a bit, which didn't make things much better, either ;-). Especially the first weeks can be frustrating. You can even get voice-related problems if you strain your voice too much.
All in all, it's certainly a workable solution for people writing normal text/prose. As a programmer, you're in a completely different realm, for which there are no real solutions. Things might have changed by now, but I'd be surprised if they have.
What's the problem? Most SR software is built to recognize normal language. Programmers write very cryptic stuff, and it's hard, if not impossible, to find software that does the conversion between normal language and code. For example, how would you dictate:
if (somevar == 'a') { print('You pressed a!'); }
Using the commands in your average SR program, this is a huge pain: "if space left bracket equal sign equal sign apostrophe spell a apostrophe ...". And I'm not even talking about navigating your code. Ever noticed how much you're using the keyboard while programming, and how different that usage is from how a 'normal' user uses the keyboard?
Thus far, I've only worked with Dragon NaturallySpeaking (DNS), so I can only speak for that product. There are some interesting add-ons and websites targeted for people like programmers:
It seems that the best solution to this problem is, really:
I dictate VB.net and TSQL using Dragon NaturallySpeaking 10 Professional. VB.net is inherently closer to a "spoken" language, but I don't see any reason why it couldn't work for C# or others. I start with a completely empty vocabulary, and build it from scratch to suit my needs (which is why I use the professional version).
Here's the basic steps (this assumes you have already created and trained a user):
I'll write up something with more detail when I get a chance if anyone is interested.
Edit:
Here's how to dictate SQL code. The word list created here can be included in other vocabularies if you are a database developer.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With