Skip to main content
Wikispaces Classroom is now free, social, and easier than ever.
Try it today.
Pages and Files
IA01 Background Survey - 1/29
IA02 Arduino Graph - 2/13
IA03 Partner Eval for MPA01 - 3/10
IA04 Partner Eval for MPA02 - 4/02
IA05 Partner Eval for MPA03 - 4/21
MPA01 Input Inventions - 3/3
MPA02 High-Low Tech - 3/26
MPA03 Kinects & Motors - 4/16
Semester Project Assignments
SPA01 Project Pitch
SPA02 Project Presentation
SPA03 Project Instructable
SPA04 Project Video
SPA05 Project Artifact
RA01 Tangible Bits - 1/29
RA02 Arduino Intro - 2/3
RA03 Electricity Intro - 2/13
RA04 Switches (p 39-59) - 2/19
RA05 Input Technology - 2/26
RA05 Sensor-Based Input - 2/26
RA06 Prototyping 3/5
Stealth Text (mini project 1)
Max Potasznik, Richard Johnson
Motivation and Introduction
The motivation for Stealth Text came after watching the movie
which includes many interesting ideas about the future of human-computer interaction. In the movie, almost all interaction is done through conversation and voice recognition. However, this (and one scene in the movie in particular) made me think about situations where you might want to interact with a computer, potentially in a public setting, without anyone noticing you're doin
g so. And so Stealth Text was born.
The use case for Stealth Text is one where you are in the presence of other people and would like to communicate (either take notes or message someone), but due to your location/surroundings directly typing on your phone is either prohibited or considered rude. In this scenario, we assume you have the normal everyday items that people carry with them throughout the day. Of all the items that people carry with them, we thought that the ubiquitous coffee mug might make a great stealth input device. The reason for this is twofold: first, coffee mugs are so commonplace that nobody would think twice about someone carrying one into a meeting where cell phone use is restricted. Second, the form factor of a coffee mug is both easy to grip and also large enough that even quickly prototyped hardware might be small enough to fit below or in the bottom of the cup.
Modified Tap Code Protocol
After deciding on our input object, we had to determine our communication protocol. As the space and stealth requirements of our project preclude the use of a full keyboard, we needed a reduced keyspace. Several popular options are available for reduced size keyboards such as T9, however these systems are designed for thumb usage and require that the thumb physically moves over the various keys. Stealth Text requires that the users fingers stay relatively stationary so as not to draw attention to themselves. This means we will only use 2 or 3 keys and instead use a method of sequential or long presses to select various letters. Luckily for us, a similar code already exists.
(and illustrated above) uses an implicit matrix consisting of characters in the chosen language. Sending a letter requires creating two series of taps and the length of each series determines both the row and column of the matrix used to receive the letter. For instance, to encode the letter 'm' in the traditional tap code, a user would enter 3 taps followed by a pause followed by a second set of two taps. The 5x5 grid tap code (with 'c' and 'k' co-located) has been used successfully by prisoners of war dating back to WWI and was popularized by its widespread use in the Hanoi Hilton prison during the Vietnam War.
One of the main drawbacks of the Tap Code is the long time it takes to send messages. In order to improve on the standard Tap Code, we use two buttons (one each for row and column) and two additional rows. This provides us room for 10 numeric digits in addition to the abbreviated alphabet. Our tap code is pictured below. Being able to enter both row and column simultaneously allows selecting a character much faster than the original tap code. In addition, by long pressing one key or the other, or both, we provide functionality to enter spaces, delete characters and send/confirm the message. To enter an individual character, simply stop pressing all buttons and the character will be entered after 1 second of both buttons being idle.
Finding the correct sensor
we tried 5 or 6 different types of sensors, buttons, etc until we found one that was a)not too sensitive and b) would lay flush against the mug surface
Making the GUI look acceptable.
The arduino code and code to handle messages was finished probably in the first day or so... making it look respectable is another story.
Thoughts about Project
On a high level, I think non-overt input mechanisms need to see more research. There are tons of new gesture and/or voice control systems which make overt input easier and easier. The next frontier will be input that nobody knows about but you... How can we make that more intuitive?
This project helped me relearn some basics of electrical engineering such as how a different pull-down resistance can change the sensitivity of a sensor.
I also like the idea of everything for this class being on github and youtube because it makes me think about and cultivate my online presence in places that are normally a bit out of my comfort zone.
Git repository (
2 x Force Sensing Resistors (
2 x 10k resistors
help on how to format text
Turn off "Getting Started"