Existing AAC devices just weren't working well for my daughter. With the advent of (relatively) cheap commercial eyegaze hardware, I set out to develop a system that is easy to set up and absolutely trivial to use. All hardware is off-the-shelf. The software is written from scratch. The symbol sets we used are a mix of commercial and free graphics, although there is no limitation on the symbols that can be used.
Wall mount (Ergotron 45-353-026 LX)
Note the 20" vertical adjustment support of this mount. Not cheap, but built well.
23" Touchscreen Monitor (Dell P2314T)
This is the module that actually tracks your eyes.
Small, Powerful Computer (Intel® NUC Kit NUC6i5SYH)
The EyeX requires a fairly powerful computer. This one works well.
This eye gaze solution has really shined where the off-the-shelf system we had before didn't. Although, to be honest, probably the biggest hurdle to using the eye gaze in a meaningful way is building all of the pages, which pretty much amounts to defining a language. It took a lot of time and effort to build that out, but the rewards have been huge. Since SquareVoice is free (as opposed to paying thousands of dollars for a license of something else), it's been a lot easier to put it on more than one computer. I recently put together a third device for my daughter that fits on her wheelchair. The setup has a much smaller screen, but is lightweight and truly portable. Time will tell how well this form factor will work.
I've got to say, it's incredible to now have access to off-the-shelf inexpensive eye gaze hardware that really works well. And also to have a plethora of tablets and ultrabooks on the market that are powerful, have integrated touchscreens, and work great with the eye gaze hardware. Not counting mounting hardware, I think you could build a decent eye gaze system for about $600 if you went with "refurbished" hardware.
This eye gaze setup has been working really well for us. Having a good commercial mount that's really easy to reposition has been critical. Running a higher end processor that's really responsive also is a HUGE boon for usability. It's been so successful at home, that I've made a second one to send to school with my daughter. The picture below is not great, but you can see the custom cart that it's mounted on. I was pretty confident that the school wouldn't take kindly to running lag bolts into their wall for a wall mount. So I instead built a mount out of steel conduit and adapters from the hardware store. I'm really happy with how that turned out. It's easily durable enough to take a beating from other kids in the class-- even if they climb all over the steel cart, it won't have any issue.
Also, the feedback we've received from the school is that they find the SquareVoice application notably easier to use than the commercial software on other AAC devices for other kids in the class. Big plus for usability! I am so glad that I built this system.
The first part of this project was to write the actual software. At its basic level, the software needs to be able to present a grid of options, and perform one or more configurable options whenever an item in the grid is selected. The number of rows and columns should be adjustable, as different users (or even pages for the same user) may use a different number of cells.
This all leads to an object model where you have a collection of pages. Then, each page knows how many rows and columns it has, and hence each page also has a bunch of cells that it "owns." Cells then have to have attributes, like "what picture to display," "text to display", "am I visible/ enabled?" etc. Cells also can have 0 or more actions associated with them. Currently, there are only two action types: "Change to a different page" and "Speak some text." The software is written very generically so that pages and cells can easily have more attributes as the need arises, and I expect many more action types in the future. Consider an action type of triggering a Hue light to turn on or off. Or play a song-- or a movie. Perhaps call someone. Or trigger an If This, Then That recipe. So many possibilities!
Several years ago, we acquired a Dynavox EyeMax for my daughter. The idea is that by changing where she is looking on the screen, she can make selections in a special program, and those selections add up to language. Honestly, it's amazing technology that can open up the world to somebody who would otherwise be trapped in their body. But I really have a love/ hate relationship with that thing. For all that it promises and enables, it is a big, bulky, slow computer that crashes far to often and takes over 5 minutes to boot up. The mount is near impossible to get in the right position. Configuring the software is a horribly tedious affair. And it's not designed to be used by someone who doesn't understand the software. For example, my daughter would regularly trigger the control to re-calibrate the eye-gaze. Except, she doesn't know how to calibrate it. So it gets screwed up and we have to re-calibrate it for her. And the small screen requires a much higher level of eye gaze precision than a larger screen would allow. Lots of room for improvement.
Almost two years ago, Tobii started selling a developer's version of their eye gaze hardware. They've since made some minor inroads in bringing it to the gaming community. At the time, I bought a couple with the intent of making an eye-gaze controlled wheelchair (i.e. the chair drives in the direction you're looking). For various reasons, that project never made it off the ground. But, I had the hardware on hand, and some time off of work this summer. It was time to make a better eye gaze communication system.