Designing special-purpose input devices

For an increasing number of applications, we may be reaching the point of diminishing returns with general purpose computer input devices, such as the keyboard and mouse. At Digital Image Design Incorporated (DID) we've created special purpose input devices to perform tasks that are commonly addressed with software and general purpose devices alone. These more specific devices have led to significant advantages in accomplishing the tasks, and we've developed an approach to designing these devices that I hope will help others in doing similar work.When someone says "Build us a system to speed up computer character animation," the typical solution is purely software. This is not necessarily optimal or even cost effective, and the only way to determine that is to consider developing a hardware device during the initial project exploration. Let's go through the process of designing a special purpose device together. Real-world details are critical to this process, so we'll do it in the problem domain of animation, where DID and others have previously developed special purpose input devices. I'll generalize where appropriate.