Entries Tagged ‘Touch Buttons’

User Interfaces: Introduction

Tuesday, April 13th, 2010 by Robert Cravotta

[Editor's Note: This was originally posted on Low-Power Design

The pursuit of better user interfaces constantly spawns new innovative ideas to make it easier for a user to correctly, consistently, and unambiguously direct the behavior of a machine. For this series, I propose to explore logical and direct as two user interface categories. Both categories are complex enough to warrant a full discussion on their own.

I define logical user interfaces as the subsystems that manage those signals and feedbacks that exist within the digital world of software after real-world filtering. Logical user interfaces focus on the ease of teaching/learning communication mechanisms, especially via feedbacks, between user and machine to enable the user to quickly, accurately, and intuitively control a system as they intend to with a minimum of stumbling to find the way to tell the system what the user wants it to do.

I define direct user interfaces as the subsystems that collect real-world signals at the point where user and machine directly interface with one another. For a keyboard, this would include the physical key switches. For mouse-based interfaces, this would include the actual mouse mechanism, including buttons, wheels, and position sensing components. For touch interfaces, this would include the touch surface and sensing mechanisms. For direct user interface subsystems, recognizing and filtering real-world noise is an essential task.

A constant challenge for direct user interfaces is how to accurately infer a user’s true intent in a noisy world. Jack Ganssle’s “Guide to Debouncing” is a good indication of the complexity that designers still must tame to manage the variable, real-world behavior of a simple mechanical switch with the user’s expectations for simple and accurate operation when the user toggles a switch to communicate with the system.

As systems employ more complex interface components than mere switches, the amount of real-world input variability these systems must accommodate increases. This is especially true for the rapidly evolving types of user interfaces that include touch screens and speech recognition. Similar to the debounce example, these types of interfaces are relying on increasing amounts of software processing to better distinguish real-world signal from real-world noise.

To begin this series, I will be focusing mostly on the latter category of direct user interfaces. I believe understanding the challenges to extract user intent from within a sea of real-world noise is essential to discuss how to address the types of ambiguity and uncertainty logical user interfaces are subject to. Another reason to start with direct user interfaces is because over the previous year there has been an explosion of semiconductor companies that have introduced, expanded, or evolved their touch interface offerings.

To encourage a wider range of developers to adopt their touch interface solutions, these companies are offering software development ecosystems around their mechanical and electrical technologies to make it easier for developers to add touch interfaces to their designs. This is the perfect time to examine their touch technologies and evaluate the maturity of their surrounding development ecosystems. I also propose to explore speech recognition development kits in a similar fashion.

Please help me identify touch and speech recognition development kits to try out and report back to you here. My list of companies to approach for touch development kits includes (in alphabetical order) Atmel, Cypress, Freescale, Microchip, Silicon Labs, Synaptics, and Texas Instruments. I plan to explore touch buttons and touch screen projects for the development kits; companies that support both will have the option to support one or both types of project.

My list of companies to approach for speech recognition development kits includes (in alphabetical order) Microsoft, Sensory, and Tigal. I have not scoped the details for a project with these kits just yet, so if you have a suggestion, please share.

Please help me prioritize which development kits you would like to see first. Your responses here or via email will help me to demonstrate to the semiconductor companies how much interest you have in their development kits.

Please suggest vendors and development kits you would like me to explore first in this series by posting here or emailing me at Embedded Insights.