After working on KType for a few weeks, I took a slightly different direction with the software platform. See 2010-11-16: iPad App Design for details.
Originally posted to my blog on 2010-09-17.
For some time now, I've been looking for a good way to build a system to help people with speech/neurological disabilities communicate better and tonight, I found it. After my cousin Keval from Mumbai got in an accident over six years ago, he lost his voice and motor skills. Over the years, he has gained some control over his right hand but it is not enough for him to type on a keyboard or use a mouse. It appeared from some videos that my sister sent me last year that he might be able to use a touchscreen to push digital buttons so I decided to look into developing a software/hardware system customized for him.
I created a rudimentary on-screen keyboard that helped guess what he was trying to type, a “smart” version of the T9 typing-mode on cellphones. I called it KType and it used Google's AutoSuggest feature to “guess” what the next word or phrase would be. That it was a good idea was confirmed when I recently ran across Google Scribe - a simple demo that works on the same principle (and uses the same Google data-source) as KType but offers a different user-interface.
I sat with Keval for many hours during my recent trip to India to try and figure out what kind of system would work for him. Last month, I met a friend's brother who has a neurological disorder that prevents him from speaking and makes motor control very difficult. I know I shouldn't extrapolate too much from just two people's requirements but I know that if I am able to make something that works for both, it will most certainly work for a hundred others, as there are many people who have problems speaking and using general-purpose electronic devices to communicate. With all of this in mind, I started to build a list of requirements for the hardware and software platforms that I will use for the next generation of KType.
The hardware I need to use will:
The software I need to use will:
Having mulled these requirements over and over in my mind for the past few months, I was starting to get disappointed that I couldn't find a viable software/hardware solution. While the Apple iPad definitely met most of my hardware requirements, programming for it in Obj-C hardly fulfilled my software requirements. Finally tonight, I came across AirPlaySDK - a software development system that will let me write code in C/C++ and run it on a variety of hardware devices, including the iPhone, iPad, and Android devices. Though AirPlay may not meet every single software requirement immediately, with the iPad expected to get some competition in the coming months from the likes of Samsung Galaxy Tab and Archos Tablets, I think making a cross-platform software that would work on any of these devices will be the best solution for me and my users.
I started to play around with AirPlay tonight and I'm definitely excited. My iPad is setup and ready to be programmed. Can't wait!