TouchStream LP Revisited

I received a mail today, asking:

I am considering the Touchstream LP keyboard, but I’d like to hear more about your experiences now it has been nearly a year since you started using one. Is it really worth it? Please note I am also an emacs user and python programmer and I expect my keyboard usage is similar.

Eight-Month-Hindsight: My Thoughts on the TouchStream LP

This might sound as a bit of a sales-pitch (it’s not meant to be), or overly negative (again, it’s just personal opinion). I’ll also ramble on about non-coding aspects.

Abstract

The TouchStream hasn’t “changed my life”, but I love it. :-)

Justification

I’d say that the my experience with the TouchStream depends on what I’m doing. I 9-till-5 and moonlight. 9-till-5 is software development, managing software development, being a manager, doing a lot of policy/project/other document writing aswell as Zope/Python/SQL. Moonlighting tends to be security, software development (C/SQL/Python/others) and running some networks and servers.

In my 9-till-5 job, I’m 50% technical, 50% management. The management angle necessitates writing a lot of English-prose documents (ok, so it’s management-speak instead of English). Here, the TouchStream doesn’t come into its own. There’s no nasty key combinations, occasional mouse-pointing, and I tend to be sparse with formatting the documents. Microsoft Word picks up most of the typos I make, but mistaeks do creep in occasionally. For that I find the left-hand cursor-key movement makes editing a breeze, but at times it can feel a little fiddly. I could probably go quicker with a “normal” keyboard and my “classically trained touch-typing”.

A bit of moonlighting I recently did was 100% very intensive C programming. Here the LP came into its own. No nasty C-x or M-. stretching. I did suffer from “Golfers Elbow” about 6 years ago while doing a summer vacation job which was basically typesetting and proofing documents in Emacs, in addition to playing guitar 2-3 hours of the day and piano 2-3 hours of the day, but that went away with a bit of physiotherapy and reduction in the intensity of work — AKA going back to University! I partly attribute that injury to Emacsing, and partly to trying to learn nigh-impossible riffs and solos on the guitar. It has never recurred, but I felt it was important that I invest in a good keyboard last year, hence the TouchStream. Partly it was to prevent me re-injuring myself, and partly it looked damn cool and I could see some advantages using it with (X)Emacs/IDEs.

Ok, back to the moonlighting. Editing was made a breeze. Left-hand moved the cursor, right hand moved the mouse, and I remapped a couple of gestures to my more commonly used Emacs keystrokes (I found that the TouchStream’s Emacs mode was good, but I needed something that wouldn’t confuse the motor-responses for all the gestures I’ve learned doing my day-job). Editing large numbers of files, totalling about 10k lines of C was very efficient. Occasionally I’d make a typo for some of the less frequently used C-M-something commands — this seemed largely down to not being able to feel exactly where you are on the surface. But when you’re into it and zooming through Emacs editing C coming out of your ears, committing and merging from source trees, compiling and testing the application without moving your hands from the two pads in front of you and you’ve not actually moved your little-/pinky-finger to do it, you really do feel as if you’re “coding with the Force” (borrowed that simile from a post on the FingerWorks Forums).

Supporting Thoughts

CamelCaps_and_underscores

I don’t think my coding style has changed much, but sometimes the PalmOS functions and related code on the moonlighting job, which can be very shift-key heavy (FntSetFnt(), FrmGetActiveForm(), tbl_job_newResult()), ended up feeling as though there should have been an easier way. Maybe I’ve just not found it yet (probably will do something about moving underscore closer to the middle of the keyboard — I tend to use it a lot in Python and SQL code).

programmers keypad

just never got around to learning it for day-job, and no time during the moonlighting sessions — but probably something I will invest time in Real Soon Now

number of gestures

you learn them very quickly if you use them regularly (obviously), and the best way I’ve found is to change the defaults to something that makes sense — the right-hand open/close/new/save gestures are a good example of something that makes sense, so I now use the same gestures on the left-hand for source-control (I use GNU Arch, but haven’t yet integrated this with the xtla bindings for (X)Emacs). The parallels of save/commit, get/open, et cetera made learning these easy.

other gestures

Post-It notes stuck on my monitor remind me of the gesture(s) I’m currently learning or have changed. There’s been an almost exponential decay in how much I change the settings on the TouchStream, but every couple of months or so I’ll tweak something because I’ve not learned it or am not using it or I find I do something different to achieve the same goal.

static/crashed TouchStream

occasionally I find I plug it in and nothing seems to happen (gets detected, but mouse doesn’t move and keyboard doesn’t seem to do anything). I used to just unplug, wait 4 seconds and plug in again, but then remembered the “flat hand covers panel” gesture and that works a treat.

wear-and-tear

the surface on the right hand side home row has been polished a little bit “shiny” in a year, probably down to “scroll-wheel” use. Left hand side home row is less polished but you can see it in the right light.

typing speed

definitely decreased, but efficiency has probably increased. Bear in mind, though, that FingerWorks claim you’ll get around 70wpm out of the LP, while Mavis Beacon Teaches Typing suggested I’d get around 100AWPM on an average day. While I do have to type slower with the TouchStream, I find it doesn’t really hold me back doing coding or writing documents. The efficiency of the left-hand cursor movement makes fixing changes a breeze (especially once you learn the left-hand gestures for “Home” and “End” :) Bear in mind that it did take me a few weeks to really get into the feel of the keyboard, and I had 17 years’ of playing piano, using “normal” keyboards and probably 12 years’ playing guitars behind me which probably means my finger coordination/dexterity were pretty good to start with (playing piano with eyes closed became part of practice routine as I got to the higher grades of exams and playing performances, so I was fairly comfortable “feeling” little bumps to know where I was about to put my fingers).

incidents

I do get involved in sorting out security/business continuity incidents where the emphasis is very much on speed. The TouchStream _is_ a hinderance here, because I find I’m not concentrating on the typing at all, and I’ll make loads more errors. I fall back to a “normal” keyboard for these rare occasions. This is also important because I will often end up having to use a “normal” keyboard on another machine as part of the incident investigation, so it doesn’t any good if that feels “weird”.

support/installs

I do support some servers and the LP is handy if they support USB and there’s no KVM. Plug monitor, plug TouchStream, away you go.

KVM

haven’t yet found an affordable USB-based KVM which doesn’t suck. Additionally, not all the servers I maintain have USB (either hardware or software support), so perhaps it’s a moot point. I also suspect that the four-second reboot time of the LP would be a problem unless the KVM is smart about its power-switching.

laptop

I do use the TouchStream with my laptop (if you have any Athlon64 machines, you’ll be glad but probably unsurprised to hear that it works), but do end up using the normal keyboard (which is surprisingly spacious for a laptop) when space is tight. The LP will sit on the laptop, on top of its keyboard, but if you press too hard then you end up with extra random keystrokes going through. Additionally, the “bent-stand” you get doesn’t sit comfortably on the laptop (but fine on a desk in front of the laptop). Moonlighting, where I’ve been working with other coders, the LP has found secondary use in letting me hold one keyboard/mouse and letting the other coder use the “normal” ones to browse about. Less messy than passing keyboard and mouse down the desk or moving chairs, but I wouldn’t call it a selling point.

“bent-stand”

the gel-wrist-rests are coming a little unstuck at the edges, I’ve lost one of the rubber feet off the bottom in the commute (I take the stand and LP with me to and from day-job). I imagine I’ll end up using contact-adhesive to re-affix the rests when they come loose, as this seems to be the best solution people on the FingerWorks Forum have found. Don’t leave your “bent-stand” thingy at home: I find that my typing accuracy just goes down the pan when I place the TouchStream on a flat desk, and I start having to think about typing again. Either carry it with you (bit big and bulky) or maybe get a second stand for work (I plan to, but just haven’t got round to it yet).

crash resilience

a Win2k box threw a hissy fit while updating the firmware of my LP. I feared I’d need to RMA or buy a new keyboard. Turns out the guys who designed the LP weren’t the same guys who designed the BIOS flashing process. Just ran the update again (with a “normal” keyboard and mouse connected as the LP wasn’t doing anything) and all back to normal. Panic over.

cleanliness

there are no biscuit crumbs in my keyboard — lots of us eat at our desks at day-job (which would probably explain the high sickess absence rate). And the LP is far easier to clean if you end up snarfing your drink/lunch while browsing the web at home too. A past keyboard of mine needed opening up and soaking in hot water to de-Cola the bottom left corner (this was particularly noticeable thanks to Emacs). Alternatively use a normal keyboard and don’t drink and surf.

DVORAK vs QWERTY

I stuck to my familar and tried-and-tested QWERTY layout. Emacs kinda doesn’t work on other layouts (just look at combinations like C-x C-s). I didn’t have time to devote to learning a new layout either, and I’ll remain unable to escape the QWERTY monoculture, especially in environments where we cannot change a system configuration (to install a DVORAK keymap, for example) without voiding the warranty on the kit which the computer controls, which in turn means results the kit produces are no longer certified to the appropriate standards (important in hospitals laboratories, and universities — and day-job is at a university hospital :)

“wow, what’s that?” appeal

you do get interested comments and some amount of “that’s so cool where can I get one I must have one now!” from other coders/geeks/gadget lovers.

Overall

There are a few days when I go, “Gnngh, what is this stupid thing doing?!” There were quite a few at the beginning, less annoying because of the “cool-newness” and understanding that it was a learning process. Still have those days occasionally, and as one might expect with learning the frequency is decreasing, albeit at a decreasing rate!

The vast majority of days are “life as normal”, only more comfortable to type. I wouldn’t go as far as to say that I stroke my fingers on normal keyboards to try and mouse, disappointed that nothing but a random keystream is emitted. But there are times when it feels clunky to reach across and move a rodent. To be luke-warm about it, on these days the TouchStream is “just a keyboard” (probably more impressive to someone suffering an RSI where it’s “the only keyboard that doesn’t cause agony”, but I don’t really know).

And then there are the days where it all comes together and I’m zooming through code and wonder how I got by with PgUp/Dn and C-M-combinations. The frequency of those days goes up in fits and starts, as more of the functionality of the LP becomes natural/instinctive. For me, these are the days that make the LP worthwhile, and it’s been worth its weight in gold.

Conclusion

Yes, I would buy it again, but it will still feel a little bit expensive both in money and learning at the beginning.

Hope that helps you decide!

Submitted by marek on Mon, 05/23/2005 - 23:00