

Share HN: I wrote an app to help my paralyzed cousin type significantly faster. - chime
http://chir.ag/projects/ktype/

======
chime
Submitter here. My cousin has not been doing too well for the past few months
and so I put this project aside for now. However, a friend suggested that
there might be many others who could benefit from such a tool or its
derivatives.

This isn't a startup and I honestly don't want to treat it like a business.
However, I do think it qualifies as a hack because of how it works. It uses
Google Suggest in addition to a dictionary to try to guess the next word that
the user is going to type. If you type WHERE, the next word is most probably
going to be IS, THE, or DID. If you then select IS, the next word after WHERE
IS will probably be THE or MY. KType uses this and a few such principles to
make smarter, better guesses. It is not perfect but I intended to make it
extremely smart and customized per user. When I was actively working on this,
I had 100 ideas per day on how it could basically read the user's mind and
suggest words and phrases most effectively.

My family and I looked at many existing systems for making typing easier but
there wasn't anything out there so I decided to roll our own. As of right now,
I don't know where to go with this because of my cousin's uncertain health
condition. I would love to hear from medical and text hackers about developing
this further.

Note: Currently I use Google Suggest localized for India so many of the
suggestions may seem weird to non-Indian users. However, it's a simple change
in URL to get localized suggestions for any country thanks to Google. Also, I
wrote it for 1280x1024 resolution but it can be resized for most screen sizes.

~~~
felipe
I think you _should_ treat it like a business. Profit will maximize the impact
of your change, and allow you to sustainably provide this solution to many
more people than you would otherwise.

Google "Social Entrepreneurship" for more details.

------
Sam_Odio
Very cool. Feature requests:

\- Accept keyboard input. Some users might find it easier to press a key
rather than use a mouse or even a touch screen. It would enable support for
stuff like this: <http://www.usm.edu/ids/tlc/images/hw-ikeys.jpg>

\- Feature a big "copy text" button so that the user might be able to use your
service and paste said text somewhere else on the web.

~~~
I_got_fifty
This could actually go well with the CrunchPad.

------
icey
I wish we would get more of these types of submissions on HN. Well done.

~~~
bdotdub
Indeed! Things like this are so inspirational

------
ars
Are you aware of the dasher program? Because if you are not you really need to
take a look at it.

It can let someone who is fully paralyzed, with just eye movement, type at a
very good speed. And it works for less paralyzed people too (it has
configurable modes).

I don't know why it's not more frequently used, but it should be - it's much
better than most other typing software used in these cases.

Edit: I just noticed you listed it on the page.

Edit2: And I see everyone else told me that too.

~~~
chime
Dasher was the first app we tried but it did not work for him because it
requires a very high level of steadiness. My cousin's hand and eye is not
steady enough. Plus you still have to type all the letters to spell any word.
KType is not a replacement for Dasher but rather works at another layer (TCP
vs HTTP) as it has more to do with guessing full words than typing individual
letters.

~~~
ars
You write that dasher is for the average person. I've only played with it, but
the authors claim it's specifically for paralyzed people. I guess the claims
don't live up to reality, it's quite disappointing.

~~~
snprbob86
There are different types of paralysis. Imagine a quadrapaledric who can
control a pointer with his or her chin. This is a space where some tool is
going to have a general success rate with each type of disability, but every
case is going to ultimately come down to individual preference. Oh, and
practice, practice, practice.

------
tezza
Hi Chirag,

My cousin's child has severe Cerebral Palsy. He has a dedicated device[1] to
help him interact.

Maybe you could include some ideas from these existing devices?

\---

BTW, well done on your implementation.

\---

I develop a mouse accelerator which makes moving the mouse a lot easier. When
it is ready, I will post that onto HN. Your article has shown that the
reception will be good.

It suits disabled people who have poor muscular control over the mouse.

\------------

[1] MyTobii ::

[http://www.inclusive.co.uk/cgibin/sh000001.cgi?REFPAGE=http%...](http://www.inclusive.co.uk/cgibin/sh000001.cgi?REFPAGE=http%3a%2f%2fwww.inclusive.co.uk%2fcgibin%2fss000001.cgi%3fSS%3dtobu%26ACTION.x%3d0%26ACTION.y%3d0%26PR%3d-1%26TB%3dA%26SHOP%3d&WD=tobi&SHOP=%20&PN=mytobii.html%23a365#a365)

<http://www.mytobiicommunity.com/>

------
jacquesm
That's one very cool hack man, something to be proud of.

There are large bodies of text such as wikipedia and others that you can
download, maybe you could use them to aid your prediction ?

It would also make the application work when offline.

~~~
chime
I had originally planned on making this an offline app but scrapped that when
I realized it would lose the ability to do real-time Google Suggest (or
similar searches via Yahoo/Bing/Twitter). Search engines have a huge database
that I can use to help with suggestions.

Even if I make an app for iPhone/iTouch, most users can still access the web
and make use of Google Suggest so the effort to go through 20GB of
Wikipedia/DBPedia/Freebase data and implement my own intelligent search didn't
seem worth it.

~~~
jacquesm
Ok. If you ever want to go 'offline' let me know I'll be happy to contribute
to your project, it looks like it would be a worthy way to spend some time.

------
mrlebowski
Hey thats a good use of bigram probabilities :) Try reading in loads of text
(Indian blogs if you want, but wikipedia would be more accessible) to build
bigram probabilities, this way you can totally remove dependency on google
suggest (and things people do not search for that often). I can help if you
want :)

~~~
jacquesm
trigrams probably work even better, two words preceding gives a lot more
certainty about the third.

~~~
mrlebowski
yeah, but then you need orders of magnitude more data for building the
dictionary which is orders of magnitude larger :)

~~~
eru
I'd say going from two to three is `half' as more effort as going from one to
two (in logarithmic scales). And that is precisely because trigrams can
predict better --- they are even more redundant than bigrams.

------
sharpn
This is very cool - stroke victims could benefit from this too.

------
Pistos2
Sorry for being dense, but although the clicking and prediction and word
selection are just fine, I don't understand how this is used to actually type
anything _into_ any place else? I couldn't select the typed text by dragging
my mouse, or anything like that. How is this intended to be used?

Also: Interesting that you laid out the letters simply in alphabetical order
(as opposed to QWERTY, Dvorak, or anything else).

~~~
chime
> KType is currently only useful for typing in short phrases and hasn't been
> integrated into a large text-editing webapp yet.

It shouldn't be too difficult to incorporate this into a webapp that lets the
user type lots of text - sort of like the T9 mode on your cellphone. The
original goal was to allow the user to type about 140 characters (SMS/Twitter)
and hit a Submit button.

The reason for choosing alphabetical layout was to minimize mistyping due to
unsteady hands. Three rows like a QWERTY etc. keyboard means when user is
trying to hit a key in the middle row, they could accidentally hit a key above
or below the desired key. In two row layout, this issue is minimized. Also
notice the keys are in a piano-keyboard style layout with ample gap around
each key, thus reducing the chances of error further.

------
pbhjpbhj
reminds me of the system that Prof. Stephen Hawking uses. Also it seems there
would be some benefit of acceleration at the word and phrase level by using a
system like the awesome bar. You want to analyse the persons own output and
prioritise phrases based on that. You could also have a top phrase list -
"where's my drink" "i need the toilet", etc. could be highly optimised that
way.

------
pbhjpbhj
didn't work for me, but then i am using links2

------
keltecp11
This is awesome! Congrats... seriously well done.

