Better Tools For Disabled Geeks?
layabout writes "We've seen tremendous advances in user interfaces over the past few years. Unfortunately, those UIs and supporting infrastructure exclude the disabled. In the same timeframe there has been virtually no advance in accessibility capabilities. It's the same old sticky keys, unicorn stick, speech recognition, text-to-speech that kind-of, sort-of, works except when you need to work with with real applications. Depending on whose numbers you use, anywhere from 60,000 to 100,000 keyboard users are injured every year — some temporarily, some permanently. In time, almost 100% of keyboard users will have trouble typing and using many if not all mobile computing devices. My question to Slashdot: Given that some form of disability is almost inevitable, what's keeping you from volunteering and working with geeks who are already disabled? By spending time now building the interfaces and tools that will enable them to use computers more easily, you will also be ensuring your own ability to use them in the future." Follow the link for more background on this reader's query.
This question is aimed mostly at the kind of disability we are susceptible to and I have been living with for the past 15 years. Even though we have speech recognition, it doesn't solve any problem except writing text. There have been a couple of attempts at making speech recognition more useful to programmers [0], but they have failed. The needs are clear:
[1] A working full-vocabulary, continuous recognition system on Linux.
[2] Tools that don't expect you to "speak the keyboard."
[3] Tools that let you edit as well as create code.
So why don't more geeks work on securing their own future, or at the very least, work to help their fellow geeks to stay on the economic ladder?
[0] VoiceCode and VR-Mode: VoiceCode or is an amazing piece of work. It makes it possible for a disabled programmer to generate Python code very quickly. Unfortunately, it does not solve the editing problem. Even more unfortunately, it's hand-wearingly complicated to set up and get working. VR-Mode makes it possible to use Naturally Speaking's "Select and Say" mode in Emacs — that is, if you can get it to work. It seems to have drifted into non-functionality as Emacs has moved forward.
[1] Naturally Speaking works well, is reasonably cheap, and works somewhat under Wine today. If we can make it work reliably under Wine, it solves the problem in months rather than decades. Other tools such as Sphinx 1-4 are great IVR systems if you have a vocabulary and grammar under 15,000 words. In contrast, Naturally Speaking's working vocabulary is in the 100,000-word range. Any disabled user will choose Naturally Speaking because it works so much better than the nearest alternative. We have people who are injured now and need these tools. They can't afford to wait 10 years or more for an OSS solution.
[2] "Speaking the keyboard" refers to speech user interfaces developed by people who don't use speech recognition. They expect you to say too much, which creates a vocal form of RSI — see [3]. Listen to what disabled users do, not to what you think they should speak.
[3] See VoiceCode in [0]. Unfortunately, today's tools are only for writing code, not correcting code. Code correction is a very different process and must be spoken in a different way: "change index" instead of "search forward left bracket leave mark search forward right bracket copy region." This is also an example of "speaking the keyboard."
This question is aimed mostly at the kind of disability we are susceptible to and I have been living with for the past 15 years. Even though we have speech recognition, it doesn't solve any problem except writing text. There have been a couple of attempts at making speech recognition more useful to programmers [0], but they have failed. The needs are clear:
[1] A working full-vocabulary, continuous recognition system on Linux.
[2] Tools that don't expect you to "speak the keyboard."
[3] Tools that let you edit as well as create code.
So why don't more geeks work on securing their own future, or at the very least, work to help their fellow geeks to stay on the economic ladder?
[0] VoiceCode and VR-Mode: VoiceCode or is an amazing piece of work. It makes it possible for a disabled programmer to generate Python code very quickly. Unfortunately, it does not solve the editing problem. Even more unfortunately, it's hand-wearingly complicated to set up and get working. VR-Mode makes it possible to use Naturally Speaking's "Select and Say" mode in Emacs — that is, if you can get it to work. It seems to have drifted into non-functionality as Emacs has moved forward.
[1] Naturally Speaking works well, is reasonably cheap, and works somewhat under Wine today. If we can make it work reliably under Wine, it solves the problem in months rather than decades. Other tools such as Sphinx 1-4 are great IVR systems if you have a vocabulary and grammar under 15,000 words. In contrast, Naturally Speaking's working vocabulary is in the 100,000-word range. Any disabled user will choose Naturally Speaking because it works so much better than the nearest alternative. We have people who are injured now and need these tools. They can't afford to wait 10 years or more for an OSS solution.
[2] "Speaking the keyboard" refers to speech user interfaces developed by people who don't use speech recognition. They expect you to say too much, which creates a vocal form of RSI — see [3]. Listen to what disabled users do, not to what you think they should speak.
[3] See VoiceCode in [0]. Unfortunately, today's tools are only for writing code, not correcting code. Code correction is a very different process and must be spoken in a different way: "change index" instead of "search forward left bracket leave mark search forward right bracket copy region." This is also an example of "speaking the keyboard."
"Depending on whose numbers you use, anywhere from 60,000 to 100,000 keyboard users are injured every year â" some temporarily, some permanently. In time, almost 100% of keyboard users will have trouble typing" Cite please?
"Eve of Destruction", it's not just for old hippies anymore...
"Given that some form of disability is almost inevitable, what's keeping you from volunteering and working with geeks "
I'm disabled.
> By spending time now building the interfaces and
> tools that will enable them to use computers more
> easily, you will also be ensuring your own ability
> to use them in the future.
Nobody thinks they are going to be disabled.
It's as simple as that I'm afraid.
In the Perl world I know one major hacker that has done a ton of accessibility work. In his case, it's his daughter that has the the disability, so he has a direct and immediate interest in helping her.
I lost a fingertip in an encounter with a circular saw.
Later I bought an iPhone, and the documentation was titled "Fingertips".
I've also used a fingerprint reader to try to log into a friend's computer - it said "too short", so I can't blame SteveJ for everything.
I do hope that multi touch input does consider people who have less than full dexterity/digits, but somehow I suspect there are another class of people waiting to be left behind.
I have a friend who was born with one arm and is about as geeky as they get. She uses voice recognition software for most online things (although apparently voice recognition software isn't so great for programming). I know someone else who developed hand injuries much later in life and has had a lot of trouble adjusting. It is much easier for people to adjust to being disabled at a young age than at an old age.
At my work, they're grappling with the same problem. They have a number of blind people working the phones, and their workstations have all sorts of expensive specialised hardware to help them work. The problem is, as more apps move from older green screen technology (yep, there's still lots) to newer wiz-bang web applications, those web-apps have to be created with accessibility in mind. They use JAWS (a commercial product from Freedom Scientific) to make internal applications accessible. As for why there's not much work on the open source front, I guess it's one of those things where a competent developer hasn't had the urge to work on it. But I agree that making computers accessible at a reasonable price (or free) is very important, especially given as a huge chunk of society is getting to the age where this stuff will be needed a lot.
It's not repetitive use of keyboards that is ultimately going to get me into trouble.
Just reading your question makes my fingers hurt. Doing what I do every day is clearly destroying my hands but its easier to just not think about it.
How we know is more important than what we know.
Dasher is a great text-input interface: mouse driven, and you don't even have to click (very often). Not as fast as a keyboard, but still respectable.
Heck, I wish it worked for my N800, and I don't even have any disabilities.
What if I do the same thing, and I do get different results?
There are custom solutions for disabled people on the market -- if you have health insurance, you can ask them if they are going to pay for it.
BTW, I always worry about things like accessibility, but employers for instance don't pay attention to that, and programming APIs for accessibility often dramatically increase the complexity of an application. That's why so few applications make use of accessibility functions. That must be changed someday. Thanks for the reminder. If I can, I will incorporate some of your ideas into an easy-to-use GUI framework, that frees the programmer from all extra work associated with it.
My question to Slashdot: Given that some form of disability is almost inevitable, what's keeping you from volunteering and working with geeks who are already disabled?
Nice -- throw out the guilt card right there at the end, when I'm just about to decide whether or not following the link is worth my time. That really makes me want to read more of what you have to say, yessir.
If I was going to work on hardware or software for disabled people, I'd be more inclined to work on stuff for people with little or no voluntary muscle control. What fraction of disabled geeks also can't speak?
[b.belong('us') for b in bases if b.owner() == 'you']
I own two programming companies. We work on things that are a) profitable, in the short or medium term; and b) have the expertiese and understanding to accomplish.
I am not presently disabled. None of my employees / contractors are disabled. So it won't help us any time soon, and we have no experience in the field.
Here's the ironic part. I've built three development platforms (one for each type of device that we create). Each of the three "languages" (mark-up, script, whatever) have such stringent conventions that it wolud be pretty easy to develop a "vocabulary" to reference areas of the platform code such that while worknig with the platform code (as opposed to developing and enhancing the core elements) would be quite doable. That would cover about 90% of our workload too.
But in the end, it will never happen. Here's the thing. Right now, it's more profitable for me to work as-is, than to work on accessibility. The day I become disabled, even if it were to be tomorrowb morning, it would still be cheaper for me to hire a co-op student to type for me, or to read to me, or both.
Now, if hundreds of thousands of dollars of disabled clients were knocking on my door, it would take me fewer than six months to build the tools needed for a skilled programmer to navigate through my platform code with simple commands that could be mapped to .V.R., or a joystick, or a head-bob, or whatever. Right now, there are no such clients at my door-step.
What about the LOMAK?
http://en.wikipedia.org/wiki/LOMAK
GrpA
Enjoy science fiction? "Turing Evolved" - AI, Mecha, Androids and rail-gun battles. What more could you want?
verb-noun requires less typing
Instead of "search forward left bracket leave mark search forward right bracket ..."
You say "find left bracket change matching", which is the verbal equivalent of "f[c%" in vi.
Not quite "change index", but THAT could be a macro for "f[c%".
not 100% though... you see, I'm planning to buy a big box, go inside along with a device that releases / exposes a radioactive material based on a randomly-timed trigger.
It is about the law of diminishing returns. It might sound cold. It might suck. But you really need to consider why Pizza Hut doesn't offer Pickle Chocolate pizza... The effort and cost to patronize the .01% of potential users just isn't worth it.
"When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
Text to speech in Linux actually works pretty well according to the people I've talked to who use it, in some cases better than the windows options. (GTK integration is pretty complete to my understanding). Some complaints of stuttering though. Ubuntu, and probably others, even have text to speech available in the installer.
The big problem is that the kernel likes to randomly drop one the text to speech modules thats needed for geeks who want to hear the start up messages.
Braille readers are a much bigger problem than the text to speech in Linux, the old serial port ones work fine, but expansion serial ports don't work right for it, and those are getting hard to find. Very few USB braille readers have Linux drivers. (Which i don't get, braille readers + a command line interface seem such a good match).
Liberte, Egalite, Fraternite (TM)
That's the equivalent of when did you stop beating your wife. Everyone has their own lives & interests - do not expect us to drop them to suddenly start developing accessible apps.
The answer is simple: people with serious forms of disability are in fact the minority. Temporary disability is just that - temporary. Time resolves that issue on its own. Accessibility, as you seem to recognize given your unhappiness with speech recognition, is a difficult topic with actual expertise required. Few OSS developers will have that or have picked it up. The OSS community in general has issues trying to attract (& keep) talented UI people to create usable interfaces for normal users, let alone those that are disabled, which I imagine would be even more difficult.
I'm not saying it's not a worthy goal - it is. But there needs to be some direction & an idea of what exactly makes something accessible. Not to mention that disabilities are unique, meaning what is accessible for 1 person isn't necessarily for another. Accessibility needs to come in at the toolkit layer & make it easy for developers to provide the semantic information so that the toolkit can do what it needs to automatically. Otherwise, you're essentially recreating the wheel every time you want to create an accessible app.
I have a seriously hard time believing this. There are a lot of keyboard users out there - I think we'd hear if there was a sudden disability that was affecting everyone. If you mean age-related issues, we may have to eventually face that. However, the elderly do make up a tiny portion of the electronics-using population. Then you also have to come to terms with that perhaps if you can't use the mobile device you have, maybe you should get one that better suits your needs. My mom wants a Pre for instance - obviously it doesn't suit her for all sorts of reasons, top of which is that the text on the screen would be too small for her too use & the keyboard keys too small as well.
Furthermore, whatever effort is put into accessibility will be for the average user surfing the web, accessing email, etc. A disabled coder is too small a minority to target. As you see, the only ones that appear to be putting in effort are for-pay products because it's a niche that requires non-programmer collaboration with programmers & they can charge enough money to be profitable since the product becomes pretty necessary day-to-day for this niche.
As someone who's been managing RSI for some time, and still needs to be careful to avoid overdoing it, I'd be very happy for a way to supplement keyboarding and mousing with even limited additional input methods, preferably methods which used a different paradigm altogether.
I've been checking out neural impulse actuators, like the one by OCZ, but it looks like they only provide 2-3 buttons, need recalibrating every time, and are only really supported for gaming. Does anyone know of similarly commercially available hardware? I'm aware of research systems which can control a mouse this way noninvasively, but surely it's time they came out of the labs.
I'm also curious about the long-term effects of devices which detect muscle action. People who migrate to voice recognition can damage their voice from the new strain. Would your face start creasing or cramping after a long time using a device which relies on facial muscles? It seems like some form of non-muscular neural interface is the way to go.
> Follow the link for more background on this reader's query.
Apparently I have a disability that prevents me from seeing the link referred to in the story.
> Given that some form of disability is almost inevitable
Somehow we got from 60,000-100,000 people injured either temporarily or permanently every year to "we're all going to be disabled". I don't see anything that makes this conclusion logical at all. It's almost as if the writer hasn't really done any research, and OH MY GOD MY HAND!!!!! AGHH!!!!
Insanity is a gradual process; don't rush it.
Assuming that you're talking about the U.S., Social Security Disability a) only covers you if you can't do any other form of work (so if you can't type, but can hold a chainsaw, have fun being a lumberjack), b) benefits are based on your current salary, so you have no chance to improve your situation, and c) are also a lot lower than your actual salary. According to my last Social Security statement, my disability benefit would be around 40% of my salary, which I could live on if I had to (I did right out of college), but not well, and certainly not where I'm living now, which is nothing at all like retirement.