Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have RSI (repetitive strain injury) and no one has been able to help me. I am looking for alternatives to using a keyboard.

I am considering buying the speech recognition software NaturallySpeaking.

Has anyone used it for development work? Is it usable for programmers?

share|improve this question

migrated from stackoverflow.com Jan 28 '11 at 10:35

This question came from our site for professional and enthusiast programmers.

Interesting question, especially if your broaden it to include non-keyboard inputs more generally. –  Flexo Jan 27 '11 at 21:23
Input: for i in xrange-openparen-10-closeparen-colon ... Output: for I in exchange (ten) colon. ... Seems problematic at best. You'd need a naturally speaking that knew your programming language. –  Seth Jan 27 '11 at 21:26
@seth - exactly, but there must be some people in the world who are accomplished programmers but can't use keyboards. –  Flexo Jan 27 '11 at 21:41
I don't believe in speech recognition, tried it many times and it failed. Now I'm quite happy with a microsoft natural keyboard, and if your condition is more severe than mine you'd need an operation. –  SK-logic Jan 28 '11 at 11:00
Don't forget that your company is legally obligated to buy the software under ADA to accomodate your disability. And it may be a way to get them to allow you to work from home as the other folks inteh cubicle around you might not be so happy to hear you talk all day long. –  HLGEM Jan 28 '11 at 14:07

6 Answers 6

I use it. Emacs+Dragon Professional. Tell me what you would like to know.

Here are some Dragon scripts to give you and idea: http://code.google.com/p/asadchev/source/browse/#svn%2Ftrunk%2Fhome%2FDragon

if (text.InnerText.ToString().IndexOf("&") == -1 && text.InnerText.ToString()!=""

if statement text dot Cap inner NoSpace Cap Text dot toString dot indexof parens quote ampersand equal equal minus one ...

You get the idea.

Dragon Professional is expensive ($600).

share|improve this answer
@aaa how would i command something like this: if (text.InnerText.ToString().IndexOf("&") == -1 && text.InnerText.ToString()!="" –  JOE SKEET Jan 27 '11 at 21:31
@sova well, the typing efficiency is certainly less overall than just using hands. however, in a funny way, it may be better quality wise, as I spend more time thinking how to write less and reusing existing libraries/frameworks. I would not however recommend it if there is alternative. –  aaa Jan 28 '11 at 0:25
-1 for for suggesting copying software. Why would one programmer do that to another (the Dragon developers)? –  cjmUK Jan 28 '11 at 12:39
@cjm I myself as grad student not able to afford 600$ tag ATM. YMMV. –  aaa Feb 14 '11 at 22:17
I can't afford many things - therefore I find cheaper alternatives or go without. What is more, as a developer, I know that I would be depriving one or more of my peers some of their income. –  cjmUK Feb 25 '11 at 13:42

I did this for a few years, more than a decade ago when my RSI flared up. The software has gotten better at recognizing words since then, but it's still very painful to write code.

One of the big problems is navigation within a document. Coding requires going backward and forward and up and down and jumping around a lot, and it's hard to set up dictation software to do this quickly and easily. The fourth time you say "up-arrow" in a row, you kind of want to give up and do something else. Nowadays IDE navigation helps a little ("Jump To Superclass") but in half-finished code it's still a big problem.

So if you can use a mouse to augment the voice, that might help.

Good luck surviving the flare-up, and take actions to change your setup, reduce stress, and do gentle exercise (not of the wrists, just in general).

share|improve this answer

I knew a guy with cerebral palsy that got interested in computers and programming back in the 80s and used his voice as the main input device.

The best thing he said about it is that when it gets something wrong, your instinct is to yell at it, which only makes it worse. Remembering to treat it like software and not like a misbehaving child is really the key, he said.

share|improve this answer
Yelling at a misbehaving child isn't really all that useful either... –  GreenMatt Jan 28 '11 at 21:48
@GreenMatt, yeah we know, but it happens. Besides, they should have known better than to go near my PC after they'd been eating chocolate... ;) –  cjmUK Feb 25 '11 at 13:45
@cjmUK: You should have known better than to give chocolate to a child near your PC! :-p –  GreenMatt Feb 28 '11 at 17:53

Speach recognition software has come a long way.
But it is definitely designed for the consumer (non technical) market.

I love this video of programmer trying to write perl with speach software:

share|improve this answer

There is fairly decent speech recognition software built into Windows 7 (and Vista). Professional alternatives might offer better features, I don't know, but it seems like a cheap way of trying it out.

share|improve this answer

I don't think voice commanding works well with programming. Too few words, too many symbols (unless you do Cobol).

Would foot pedals be useful to you? What movements CAN you do? Perhaps there are accesseries for disabled people that could be relevant.

EDIT: Perhaps an iPad would be useful with Remote Desktop or so. The input movements are completely different from those you do when typing.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.