

The Slouch-Aware Chair monitors its sitter's posture to detect unhealthy back positions and provides subtle visual and tactile feedback to encourage good postural habits. The chair senses orientation of the sitter's back through infrared distance rangers. A physical dial placed on the sitter's desk in the peripheral field of view indicates the current posture state - a green region in the 12 o'clock position indicates a healthy posture, while the two red regions off to the sides correspond to two common types of bad posture - backward slouching and forward slumping. If the sitter's bad posture continues over a prolonged period of time, the chair will notify the sitter via intermittent vibration. Vibration will cease when the sitter corrects her posture. The chair features instruction built into the armrest.
The Slouch-Aware chair was designed as a project on nearly invisible computing for CS247a, the Human Computer Interaction Design Studio class at Stanford together with Leor Vartikovski. Inspiration was taken from the Stanford posture class taught by Shawn McCracken.
List of Parts:
1 Ikea JULES desk chair (www.ikea.com, $40-50)
1 Phidgets InterfaceKit 8/8/8 (www.phidgets.com)
1 Phidgets Servo
2 AA Batteries w/ battery holder
2 Sharp GP2D120 IR distance rangers (www.acroname.com)
1 vibrating 3V DC motor (www.allelectronics.com)
1 4N4001 diode
1 D44H11 power transistor
1 generic switch
1 small solderless breadboard
2 custom sheet metal brackets (PRL)
tape, 1/4" foam core, wire
Technical details: coming soon...

Phidgets InterfaceKit, batteries for powering the motor, and protoboard to hold the simple circuit are all hidden in the armrest.

The 'Slouch-O-Meter' desktop display box.

Sensor and motor assembly on the back of the chair - sensors mounted with custom bent sheet metal brackets to guarantee minimum sensor distance of 1.5 inches to closest object.

Sensor and motor assembly on the back of the chair seen from above.

Flip-open instructions in the armrest.

In-class demonstration.
Karl T. Ulrich and Seven D. Eppinger
Product Design and Development - 2nd ed.
Irwin McGraw-Hill, 2000
ISBN 0-07-229647-X - Stanford call number HD 31 U47 2000 ENG
Chapter 12 of this textbook presents an overview of the functions of prototyping in the industrial product design process. A running example is used throughout the chapter - the redesign of the trackball for the Apple Duo notebook computer. A prototype is defined as "an approximatrion of the product along one or more dimensions of interest." Prototypes are classified along the following continua: physical--analytical, comprehensive--focused. Often, separate "looks-like" and "works-like" focused prototypes are created side-by-side. The reason given is that building comprehensive prototypes takes longer/is costlier. Comprehensive analyitcal (mathematically modeled) prototypes are not feasible in practice. Prototypes have four main uses: as learning tools; as communication artifacts for management, team members, customers; as integration tools to check if sub-assemblies fit together; and as milestones to demonstrate progress and existing functionality. (Note: user testing is not mentioned.)
Principles of prototyping: analytical prototypes are more flexible than physical prototypes since parametric models can be changed without rebuilding everything. Physical prototypes are necessary to check unanticipated behaviors due to the laws of physics in the real world. Prototyping can save money by moving iteration cycles away from the costly manufacturing stage. Prototypes may expedite other development stages such as mold design if prototype artifacts can be reused for production (e.g., CAD files?). Prototypes may restructure task dependencies?
Two particularly important prototyping technologies are 3D computer modeling and free-form fabrication (3D printing). Stereolithography itself is often referred to as rapid prototyping in the community - a source of confusion.
Prototyping brings with it the danger of sinking into Clausing's "hardware swamp" - spending time building and debugging prototypes that do not substantially further the larger product development project. Careful definition of the purpose and scope of the prototype is needed. Purpose: what are the learning, communication, and integration needs the prototype should fulfill? What is the level of approximation? Ignore all factors that are not part of the analysis. Come up with a testing plan for the prototype, make a schedule and stick to it. A real-world fact: it is usual to buld at least three milestone prototypes: alpha, beta, and pre-production. We are targettign alpha prototypes.
What are wire-wrapped boards?http://make.oreilly.com/
http://www.core77.com
I was looking around for free audio labeling and segmentation tools to facilitate working with the hour-long interview files from contextual inquiry. Standard audio editors such as Goldwave allow you to drop markers but annotation is normally not possible, especially if it is desired to have hierarchical notes.
Praat and Transcriber are both made for linguists and can annotate on the phoneme-laval data, but both can also handle long audio files. I am currently test-driving both programs to see which one fits my work flow better.
LDC's Linguistic Annotation page may have more links.
Summary graphic of the approach from the authors' website:

Below is a summary of Beyer and Holtzblatt's main points in the first two parts of the book which are concerned with data collection in the field and initial processing and interpretation of that data. Chapters concerned with turning observation data into design ideas will be summarized as the need arises in our project.
Chapter 1:
Agony comes from not having a ground for making descisions or evaluating alternatives. Data breaks this deadlock. Data is the only reliable outside arbiter for people. But don't just ask what people want - you need a bidirectional conversation.
Chapter 2:
Marketing does not provide the right kind of data to make design decisions - it does not answer questions about the structure of a system. Marketing data gathering techniques may not be useful for the same reasons - they assume the right kind of questions are known a priori and the task of the data gathering is to find answers. Design exploration first has to find the right questions. A hard goal: make customer intuition explicit. You have to see work as it happens to reveal all aspects of it - contextual inquiry is the technique to do just this. CI gathers data in the field from a small number of participants. The goal is to then generalize form the observations. Principles of CI: context, partnership, interpretation, focus. Typical form is the contextual interview - 2-3hrs, introduction, observation with interruption, examination of artifacts. 10-20 interviews total are a good rule of thumb to cover an area of work.
Chapter 3:
Core premise of contextual inquiry: go where the customer works, observe, and talk to the customer about the work. The master/apprentice relationship model is especially useful for collecting data. Acting according to a relationship model is more effective than memorizing interviewing techniques and strategies. Explaining while doing is easier for the "master" than conceptualizing and abstracting their tasks - in the latter case, details get glossed over. Seeing the work reveals what matters, details, and structure. Remember: we don't just observe to understand and learn the tasks, but to then support them with new design.
Context: being at the place of work allows for gathering ongoing, concrete data. Summaries of experiences are not rich enough to generate data relevant for design. Abstraction: "If the customer is leaning back and looking at the ceiling, he is almost always talking in the abstract." Cure: "constantly pull the customer back into real experience". For retrospective accounts, ask questions that prompt interviewee to fill in the skipped details.
Partnership: in many interviews, control and power over conversation resides with interviewer - CI reverses this imbalance. What the interviewer offers: giving the interviewee a better understanding of their own work. Share your ideas that arise during interviews immediately so that your mind is clear and you get on-the-spot feedback.
Interpretation: Data gathering is not enough - you need to interpret the results to generate good design ideas. "Interpretation is the chain of reasoning that turns a fact into an action relevant to the designer's intent." (57) How can one insure the interpretation is right? Share it with the customer while they are engaged in the work - they will validate, refine, or reject it. Listen for "Huh"s, "Umm..could be" and "buts" in the responses.
Focus: necessary framework to make sense of work - set a deliberate project focus; each person also brings in their particular focus. Use group interpretation and interpersonal triggers (?). Listen to internal signals to find situations in which you should adjust your own interpretations: surprise and contradiction - always assume that a "seemingly pointless action hides a key secret of the trade"; Nods: look not for agreement, but for possible divergences; what you don't know (Technical jargon): admit yor ignorance! you are out to challenge your assumptions, not to validate them.
Structure of the contextual interview (p.64): most commonly one-on-one, 2-3hours; four parts:
1) conventional interview: introduction, summary data, 15 minutes.
2) transition: state rules of observation and introduction - 30 seconds.
3) contextual interview proper: keep it concrete, be nosy, take lots of notes
4) wrap-up: skim over notes, summarize with interviewee (15 mins).
Chapter 4: Contextual Inquiry in Practice
Set focus first - transform solution requirements into statement about the customer's work. What is the work we expect to support? How does this work fit into the customer's whole work life? What are the key work tasks?... (p.68) Who is involved in the work? Where does it happen physically? Study analogous work situations - look for metaphors {exactly what we are doing with the photo documentary} to expand focus. Inquiry starting points for commercial software products: designing a known product/addressing a new work domin/introducing a new technology. For IT project: upgrades/new systems/process redesign. Designing the interview situation - different kinds of tasks:
- normal: use standard CI
- intermittent: ask user to keep log
- uninterruptable: videotape, review with customer later
- extremely long: interview range of users at different stages of process; do retrospective walkthrough with a few; use project artifacts
- extremely focused: videotape and interpret with user
- internal- get at mental processes by interrupting a lot.
Who to interview: 2-3 people in every interesting role; 10-20 people total; 4-6 businesses for variety - go for diversity. Look for different business strategies (frelance/constultancies/large companies); cultural differences; physical/geographical situations/diffrerences of scale; *come up with short focus statement in simple language (77)*.
Part 2 - Chapter 5: A Language of Work
Formal languages are good; graphical formalisms are especially suitable for design - but not all are appropriate (cf. Nardi). The authors advocate their "work models" - five types of models are: flow, sequence, artifact, culture, physical - all are described in the following chapter.
Chapter 6: Work Models
Models describe work from the point of view of the interviewee - individual perspective.
The Flow Model: no work happens in isolation - the flow model makes communication and coordination explicit. Work flow model elements make the following distinctions: nodes (“bubbles”) are individuals or groups; their responsibilities are summarized within the node; flow is communication and passage of artifacts – shown as arrows. Artifacts themselves are boxes on top of flows. Communication topics and actions are shown on top of flows without boxes. Places are rectangular nodes with only incoming arrows(?). Breakdowns are shown as lightning bolts. Things to watch out for: coordination with other people – all contacts should be represented. Roles – what responsibilities are people taking on in practice (these are rarely identical with their formal job description). Informal structures: implicit and engrained actions that happen without reflection. Pay attention to real interactions – not the handbook definition of how things should be done.
Sequence model: understanding intent facilitates interpreting the steps taken to realize that intent. Sequence models are similar to flow diagrams or task analysis but make intents and triggers explicit. The show the linear ordering of events as perceived and acted upon by an individual – patterns and repetitions are handled later during consolidation. Graphical elements: intent on LHS of sheet; triggers as events in linear sequence; steps; order loops and branches by connecting steps with unlabeled arrows. Breakdowns are marked with lightning bolts as before. Finding the right level of action recording for your project. User hesitation and error are places where tools do not meet their understanding of the work process – these are design opportunities. Automatized systems have to provide triggers that are analogous to the physical world – users need reminders to take action. Infer intents after writing out sequence.
Artifact model:
Artifacts make users' conceptual distinctions clear. The artifact model is a drawing or photocopy of an artifact. Highlight structure with lines and labels; annotate location, record which parts support which intent; lightning bolts show where tool encumbers process or interferes with it. Look how content/represented information is related to artifact structure. Watch out for informal annotations. What about the format and presentation of the artifact makes it an appropriate carrier of the recorded information? What is accentuated, what is downplayed?
Cultural Model (107):
A new system has to fit with customer's culture, otherwise it will be rejected – so pay attention to the cultural context of work. Factors include self-perception, formal and informal business policy, etc. Components of the model: Influencers as bubbles; Extent of effect of influencer on work shown by size of overlap of bubbles. Direction of influence or pushback as arrows. Typical important influencers: standards and policy, power, values, identity, emotion, team styles and preferences. How to recognize cultural factors: what is the tone of the environment? Is it elegant, messy, minimal? What is the role of policy? How is it recorded? What are motivations for sticking to it?
Physical Model (115):
Physical environment creates design constraints. Environments are organized by workers to reflect the work they do. Model distinctions: places – show size, private or open, cluttered or empty, etc. Physical structures – large objects. Usage and movement within space. Hardware, software, communication lines, and tools. Artifacts and their locations; layout; breakdowns. Pay special attention to: walls – imaginary or real; how does space group people and functions? What is close at hand, what further removed, what inaccessible? The physical model is a drawing of the aspects of the environment that matter. Don’t just draw a floor plan or an inventory list.
Chapter 7: Structure of the Interpretation Session
Shared understanding – let every team member experience all interviews. A method to to communicate to others what you have learned in person. Each interviewer walks through each of their interviews for the team. Team listens, questions, draws work models, records issues, interpretations, design ideas. Ideally the team should be made up of ~4 people - how are we condensing this process down for our two-man team?
Part 3 - Chapter 8: Consolidation (139)
Goal: design for a population of users, but have your solution be flexible enough to fill inividual's specific needs. Segmenting by demographics is a poor substitute for segmenting by work practice patterns. If work practices are common, work models from individual interviews can be fused into a consolidated model. If they cannot be fused, then there is no single market and you need to design multiple solutions.
Chapter 9: Creating one view of the customer (151)
The chapter introduces two new tools: affinity diagrams and consolidated work models. The underlying thread is generalization from examples by induction. Never depend on theoretical arguments - reality often doesn't follow principles of deductive logic. Variations exist within a structure; consolidation makes that structure explicit. Explicit representations of work are needed - nearly all design thinking requires props - only externalized points of view can be used effectively by other team members.
The affinity diagram: hierarchical organization of interpretation session notes; group common themes and issues. Color coded: white-blue-pink-green. Build this after interviewing 15-20 customers with 50-100 notes per customer. Can be done in one day with on person per 100 notes. Ban familiar words to avoid stereotypical grouping - let grouping arise from the data. Put up a note and find others that go with it - no need to articulate relationship yet. "Two notes have an affinity if they are saying similar things about the work as it relates to the design focus of the team" - they are expressing a similar intent, problem, or issue in the user's work."(156) Groups are given their own labels - in customer's voice. The labels are the new info generated by the affinity map. Introduce all the new data at once to think broadly in different paradigms - drop by drop introduction leads to assimilation into existing thought models and results in small fixes instead of holistic redesign.
Consolidating Flow Models: find communication patterns and common roles in different jobs. Roles are collections of responsibilities. THey arise from the needs of the work and are thus often consistent across organizations. Roles are constant but mapping from people to roles changes across orgs. Split all responsibilities of an individual into coherent roles, then merge. Keep track of how roles are linked to observed individuals with another level of color coding. Step-by-step instructions for consolidation are on pg 169.
@book{286067,
author = {Hugh Beyer and Karen Holtzblatt},
title = {Contextual design: defining customer-centered systems},
year = {1998},
isbn = {1-55680-411-1},
publisher = {Morgan Kaufmann Publishers Inc.},
}
In my weekly meeting with Terry Winograd we hit upon an interesting question: What are the characteristic differences in prototyping practice in different media? What aspects are fundamentally the same or fundamentally different about protoyping mechanical devices and software? Some of the first realizations: In product design you build a prototype, then start from scratch for the next iteration. In code, existing files are changed and parts rewritten, but rarely do you simply discard the entire source tree. Are there analogies to writing software with and without versioning? Now how about sketches for paintings, musical composition, or architectural prototypes? A systematic investigation would be a nice side project.
Mike Kuniavsky, in his previously referenced post scored sketching/protoyping systems according to speed, provisionality, and history. What other schemes can we come up with?
The Phidgets toolkit takes a plug'n'play approach to adding physical sensors and actuators to your applications: just connect one of the supplied Phidgets to a USB jack on your computer or to an input connector on the InterfaceKit, drag the corresponding software widget into your C#/VB/.. form, and everything should run. But what if you want to add a different device to your setup, one that did not come in the Phidgets box?
Adding external devices requires a larger toolbox of concepts, techniques, and &emdash; tools. You don't have to be an expert in EE or ME though - a combination of googling and hands-on trial and error will be sufficent for the kind of rough-and-ready prototypes we are building in class. Topics worth familiarizing yourself with include basic electronics (more), machine shop techniques (visit Stanford's product realization lab), and places to order electrical/mechanical parts from. Stanford's product design program has a large list of suppliers - Jameco (in Belmont) and Digikey are the main sources for electronics, but if you're in a hurry and want to stay local, you can get many parts at Fry's and Radio Shack in Palo Alto. McMaster-Carr has every conceivable part of hardware you will ever need, but making your own at PRL may be cheaper and faster. Useful general references are the Physical Computing book by O'Sullivan and Igoe and their web sites.
Let's first look at how to deal with new sensors such as foot switches, rotary encoders, or IR distance sensors. The Phidgets site has a documentation page that describes how to connect sensors with variable resistance/voltage output to the analog inputs of the Phidgets InterfaceKit. In many cases, you may be able to get away with simply connecting Phidgets' "analog input" cable to the appropriate pins of your sensor. The actual lead assignment for the Phidget cables can be found on this page. Unless you can find the right kind of connector at a local electronics shop I would suggest just cutting one of the supplied analog input cables in half, stripping some isolation off the cut end of the wire and soldering or otherwise connecting the wires to your sensor. An example: The Sharp GP2D12 IR distance ranger requires a 5V input and a connection to ground. Depending on the proximity of the closest objects in it's field, it outputs 0-5V on a third pin. The Phidget analog cables have leads for 5V supply voltage, ground, and "Vout" - the voltage coming back from the sensor. I simply soldered a cut Phidgets connector wire to the short cables supplied with the sensor, making sure to match ground to ground, etc. If you're not familiar/comfortable with soldering, take a look at this detailed beginner's guide (check out the photo gallery on soldering). I don't know of any publicly accessible labs with soldering irons though - maybe in the ME buildings? To prevent short circuits from dangling bare wires it is a good idea to cover your connections with electrical tape or heat shrink tubing.


Let us now try to connect a new output device to Phidgets - a motor. You can pick up cheap DC motors like the ones found in RC toy cars from surplus stores like allelectronics.com. Wendy supplied me with a 3V vibrating motor (this is a normal motors with an off-center mass attached to the rotating axis). Most motors draw more current than the InterfaceKit can provide/sink, so you will need a secondary power source (think 2xAA batteries) and some sort of switch that uses the signal from one of the InterfaceKit digital outs to switch the larger motor current. A power transistor (again supplied to me by Wendy) will do the job. Pick a "NPN" type: it will switch on the load (motor) when the chip output is high (boolean true in the Phidgets API). This corresponds to a "normally open" switch, i.e., the motor is off unless you flip the switch/put voltage on the transistor's base. A "PNP" transistor works the other way around - analogous to a "normally closed" switch. You will also need a "snubber diode" (which only lets electricity pass in one direction) to prevent blowback voltage from the motors damaging your other components. Don't worry about the details, simply following the recipies on the last link should get you there. Here is a diagram of how your circuit should look like:
To build simple circuits you probably want to get a solderless breadboard (Pololu | allelectronics) and a jumper wire kit.

Bill Verplank's breadboard sketch from the music250 website
The Phidgets website has a page on Using DC motors with the PhidgetInterfaceKit 0/16/16. Some of this information can be reused for the 8/8/8 kit we have but note that the 0/16/16 Kit has high voltage outputs, which our InterfaceKit does not. Don't connect the motor directly to your board!
Orange Cone:
I've come across this blog multiple times now during my research into prototyping tools and other HCI topics. The article on Sketching and Protoyping is especially relevant. Webmaster Mike Kuniavsky is also the authors of the book "Observing the User Experience."
A comment on the site pointed me towards Hernando Barragan from Ivrea (the Italian interaction design school Bill Verplank is involved with). His Wiring project is "a programming environment and electronics i/o board for exploring the electronic arts, tangible media, teaching and learning computer programming and prototyping with electronics" and is based on the Processing language.
Looking for a history of prototyping, I found the following pages:
http://archive.cpsr.net/program/workplace/PD-readings.html
Castle Island's Worldwide Guide to Rapid Prototyping: http://home.att.net/~castleisland/home.htm
Issues: resolution; power requirements; how to address? via pc/microcontroller? max refresh rate - suitable for animation or not? color or bw? backlit? touchscreen?
Product links:
http://store.earthlcd.com/
- ezLCD-001 is a 2.7" 240x160 512 color LCD display - $200 with RS232/USB board
- Wintek WDG243216WEBA 320x240 mono display, 3.5" - $40 but needs controller board
- XLK-5002T (XLK5002T) 6.5" Analog Color TFT LCD Kit with Resistive Touch - $800
- mARMalade 7.8" 640x480 w/ integrated touchscreen - $400
- MTR-EVUE-4BW 4" Monochrome LCD Monitor w/ S-VIDEO in - $90
- Sharp 4LU4EB 4" B&W Video LCD; 383x234 Monochrome LCD - CCFL, NTSC, Analog RGB, 8 Volt DC Mono
Jameco in Belmont sells mostly B/W text-only LCDs.
http://www.circuitcellar.com/avr2004/grand.html ATMEL-based TFT controller - BYO-LCD. By Michal Sieluzycki - Winner of the AVR2004 Design Contest
http://www.hantronix.com/
Sells PDA-sized "Chip on glass" LCD graphics/character displays. this document describes how to address their displays from an 8bit microcontroller (such as the ATMEL)
General links:
http://www.usdc.org/ United Stated Display Consortium - This document has some projections on the future of small screens. Has lists of display manufacturers.
Society for Information Display
Sharp LCD Integration & Applications Guide
LH79520 System-on-Chip for color LCD applications
@book{160165,
author = {Bonnie A. Nardi},
title = {A small matter of programming: perspectives on end user computing},
year = {1993},
isbn = {0-262-1405305},
publisher = {MIT Press},
}