Tuesday, May 29, 2012

Dealing with Wrist Pain

Towards the end of 2010 my hands and arms started aching whenever I worked on the computer for more than a few minutes at a time. After a particularly full on November featuring some work deadlines and Nanowrimo it was bad enough that I was dreading typing. My work reflected this and my output of code and writing decreased dramatically.

Even when I felt like the pain wasn't that bad it was easy to see that I wasn't working as consistently or for as long periods of time as I had been previously. This is a particularly bad position to be in for programming considering how much time I actually need to work uninterrupted to have a chance of getting into a state of flow.

So I set out to try and fix the problem in the usual fashion of trying things until something worked and being entirely too stubborn to visit a professional.

First Change: Advantage Kinesis Keyboard


My first big change was moving to the kinesis keyboard. I'd heard good things about it and figured the change would help. Of course it was an effort to learn how to use a different keyboard layout. 

In the end it took a couple of months to get back to my usual typing speed with it, the first week was particularly hellish. Learning a new keyboard had some side affects though, in particular I seemed to have slightly higher accuracy when I type on it than other keyboards, I suspect this is because of the key layout enforcing some more disciplined typing on me.

I find the kinesis particularly enjoyable to type on, due to the comfortable form and high quality keys. The presence of macros turned out be unexpectedly useful, I didn't expect to like them as much as I do but having key combinations for common bits of code is excellent.

The kinesis did improve my hands a bit, but in the end it turned out to be a long way from a cure. After a few months I moved onto the next project, one that I regret not having started off at the same time as moving to Kinesis.

Second Change: Dvorak


The next change I tried was moving to Dvorak.  I wish I'd done this at the same time I moved to the kinesis I expect it wouldn't have extended learning time too much. As it was I spent a while thinking the new keyboard and better posture was enough until an intense period of work left me in significant pain again.

Learning Dvorak took significantly longer than moving to the kinesis in terms of regaining my typing speed, although I found I was able to touch type again in the sense that I had a working mental map of which key was which quite early on. Being able to hold conversations online again(~40wpm) took a week or so, but actually getting back to being a decently fast typist was closer to 4 months.

I've also found that the move to Dvorak means I can no longer use qwerty, while I can still type fine on non kinesis keyboards.

Like the move to the Kinesis, changing to Dvorak improved matters a bit but wasn't enough. Particularly when it came to wanting to write longer pieces. 

Third Change: Voice Recognition

Another batch of work left me in pain and with Nanowrimo coming up again I needed something that would support writing large amounts over short periods of time. 

I'd tried Dragon: Naturally Speaking a few years ago and it had fallen over on my accent. I decided to give it another shot though and it turned out to have come a long way in the last couple of editions. 

It required a silent room and a decent microphone to work decently. But once I'd spent a couple of hours teaching it my speech it was able to recognize the vast majority of what I was saying and at speeds far beyond anything I've ever been capable of typing. It also had an interesting side-effect in that the "writing" I produced with it had a much more conversational tone than most of my other writing does. 

The biggest issues were that it didn't have certain words in its dictionary, finding the requisite quietness and dealing with the higher amount of editing required to catch small errors. Mostly these were manageable but it meant I had limited periods when I could get the ongoing privacy necessary. There were particularly irritating moments when someone started saying something to me and my laptop froze up trying to process all the input that was suddenly coming in.

Voice recognition has come a long way and I can recommend it for longer form writing; however, I hadn't managed to use it with any great success for coding or technical work, so another solution was needed.

Fourth Change: Rob


Rob ended up being the best answer to actually giving me the ability to not type at all for three months or so, actually letting some of the damage I've done to my hands heal. He was an experienced developer who wanted to learn Rails. This meant I could pay him a modest amount in exchange for me teaching him about Rails while he did all my typing. 

In essence, it was a training style pair programming arrangement with me always navigating. It turned out to be an excellent fit for both of us. Rob learned a lot about Rails in a short period of time and we had most of the focus and problem solving benefits that come from pair programming as well. 

After three months of us traipsing around cafes and coding together Rob had learned enough that I hired him as a full time developer and my hands had healed enough to be able to type reasonably comfortably again. Possibly the best win-win working arrangement I've managed to create. 

If my hands ever start to bother me too badly again then I'll go straight to finding a new Rob.

21 comments:

dave smylie said...

Hey Breccan

Just curious how you've set up your keyboard for use with the mac. I made the move to dvorak + kenesis years ago, but have only recently started using apple.

This has caused a bit of grief in that whilst I used to only need Control + Alt in linux, now I need Control + Alt + Option - and the kenesis only gives you room for two of them under each thumb.

I've tried with a few different options, but muscle memory in vim really starts to get upset when I move control and alt (linux at work, and mac at home, so never a chance to fully adapt to something different...) In the end I've sacrificed my home button and made it an option key. Which works . . . but sometimes I miss having a home button!

How have you got yours configured?

Breccan said...

I copied alt down to delete. So both those keys are alts now. Works pretty well for me.

Also done the classic change caps lock to escape.

miguel said...

Hello, you didn't mention your choice in mice but in case it might help I've had great success with the Evoluent mouse.

Anonymous said...

Vertical mouse for the win

Unknown said...

I too have wrist pain some time back.
To my understanding this kind of pain will come due to stiffness in the muscles in hands,shoulders,neck.This stiffness radiates the pain to wrist.After some months of pain i visited a famous doctor (http://www.deepaksharan.com/ (india)) he asked to take 6-7 session of Myotherapy (http://en.wikipedia.org/wiki/Myotherapy) and also suggested few exercises , good posture which has removed the pain from my wrist and hands.
If you want i can send you scanned copy of those exercise posters.(rama.vadakattu at gmail dot com)
I feel you should also consult a professional and get rid of that pain by myotherapy ,regular exercises and good posture.
It is defintely curable (although they may be few exceptions).

Anonymous said...

I wonder if you use a break reminding program? Personally I can recommend http://antirsi.onnlucky.com/ designed to make you take breaks, but without getting in the way.

developmentality said...

I started getting wrist pain recently and started wearing wrist braces as a result. They helped but didn't fix the problem.

I switched to a standing up desk for at least half my work day and now I don't have any noticeable problems in my wrists. Take that with a grain of salt, but it made a big difference for me.

Justin George said...

Why didn't you try physiotherapy?

It worked wonders for me, and in a lot shorter time than three months. Although I suppose it was a fair bit more expensive than the Rob solution.

It's very effective, and as a bonus, they'll work with you on preventing the problem in the future.

David Suggitt said...

Contrast bath therapy works wonders. two buckets of water. one ice cold and the other hot hot hot. Immerse arms up past elbows, way past, as far as your bucket allows. Start with the cold. This will hurt. You'll feel it radiating pain to your spine. That's good. That means you're compressing all the capillary beds and pushing out all the toxins. Then switch to the hot bath. Open everything up. Stay there until the water doesn't feel hot anymore. Don't use water that is so hot that it will burn you, but hot enough that it's right on the edge of burning you. Repeat several times for about 10 minutes. Musicians have done this for decades with huge success.

Do this daily for a month. Then switch to weekly.

Henrik Warne said...

Hi Breccan,

I started having problems with my arms in 2005. It gradually got worse, until I thought I would have to give up programming all together. I tried a lot of different things, and eventually found a combination that worked for me.

The most important component for me was to start using a break program that forces me to take regular "micro-breaks" and longer exercise breaks. I also use a split keyboard (qwerty) without a numerical pad, and a pen shaped mouse. This combination really saved me, and I can now work without problems.

I wrote about my problems and the solution at http://henrikwarne.com/2012/02/18/how-i-beat-rsi/ and about Mac break programs here: http://henrikwarne.com/2012/02/26/mac-os-x-break-programs-review/

Dominic said...

Hey,

I used to have wrists-on-fire problems. At its worst, I was using a special ergonomic chair; wearing wrist supports; using an ergonomic keyboard; burning through painkillers; takign frequent breaks; and still only just making it through the day.

Then I got recommended a book called Pain Free - It does exactly what the title says.

I read it over a weekend, went back to work, switched back to a normal chair & keyboard, put the wrist supports & pills in a drawer, and got on with my life. I'm now working 8-hour days as a programmer and I'm in less pain now than I was back then - which considering I've got massive upper-body issues from a motorbike accident and a car crash last year is quite an acheivement.

Anonymous said...

I had the same problem and I solved it first by using a trackball and then by doing some exercise. You can try the powerball.

Dave said...

I have had wrist and forearm pain for years, until I switched to a vertical mouse. Now, going back to a regular mouse, I can feel the difference after an hour or so of use.

Jonny said...

I got bad wrist pain in my right wrist from the mouse. Switched to one that didn't have such a high back and had weights to make it heavy. It's surprising how much difference the heavy mouse made over the light one. It was almost instant. I tried using the same mouse with and without the weights to know for sure. I think that with a light mouse your muscles have to do more work to move it accurately over small distances.

Scott Johnson said...

Hi,

I went thru much the same and I solved it with a track point keyboard from Lexmark. Highly recommended.

Anonymous said...

You may want to try Colemak - I had started learning dvorak and it was breaking my pinkies, and I must say I find Colemak infinitely better -

James Taylor said...

Treating trigger points saved me. I had terrible wrist pain and then I read about trigger points. I found one in my upper arm, massaged it out over a few days, and the pain was gone. Look for spots painful under a little pressure, massage it for 20 seconds. Repeat several times for a few days. Done.

Read more at http://saveyourself.ca/

chx said...

The Contour I could never get used to. Also it puts additional load on your thumbs by moving some function keys. I am using the Kinesis Freestyle with an Ascent -- vertical keyboard with traditional layout FTW.

Andrew said...

I've had wrist tendonitis for a couple months now and highly recommend wrist guards.

I bought a pair from Amazon for $7 and it's really helped.

Anonymous said...

I've used the smartnav (by naturalpoint.com) for over 7 years and it makes a world of difference. It's a hands free mouse that is the cornerstone in my being pain free. A kinesis freestyle with an empty cell phone box under each half - to make them vertical - also worked wonders. The smartnav is the key though.

Nilbus said...

I also love the Kinesis pro keyboard! It really helps. But what ended up fixing things for me was a chiropractor! I almost didn't believe it when my co-worker told me that he used to have carpal tunnel and that his chiropractor fixed it, but it was bothering me enough (even with the keyboard) that I gave it a try. They physically adjust the (8) little bones in your wrist so that the tunnel is open enough like it should be. Now years later after getting that taken care of and letting myself heal, I have absolutely NO wrist pain at all even using a regular keyboard on a full time job. It's so amazing! I would absolutely recommend finding a chiropractor who can work on your wrists to get rid of the problem, instead of just trying to work around it. It takes time to get everything in your wrist to move and stay (like with braces?), but it's absolutely worth it.