Path: utzoo!mnetor!uunet!husc6!think!ames!pasteur!ucbvax!BU-CS.BU.EDU!bzs From: bzs@BU-CS.BU.EDU (Barry Shein) Newsgroups: comp.society.futures Subject: Interesting note in input devices Message-ID: <8803251909.AA18070@bu-cs.bu.edu> Date: 25 Mar 88 19:09:52 GMT Sender: usenet@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 112 Around the middle of the article there's a description of a product which uses a glove as an input device. Not new, but as far as I know this is the first orderable, commercial version I've seen for the general public. The discussion list it comes from is discussing extensions to the X window protocol. -Barry Shein, Boston University Date: Fri, 25 Mar 88 10:26:21 PST From: longo%flume.DEC@decwrl.dec.com ( Mark Longo) To: xtensions@athena.mit.edu Subject: multi-dimensional input For general consideration, here are a few notes about what multidimensional input devices are used for and some questions about what this means to the input extension protocol. Picking: When picking vectors/surfaces from a 3D display model, pick computation can be significantly simplified if the pick input device reports 3D positional information. Drawing: Take for instance a 3D touch pad. A drawing application might use the Z dimension of 3D input to control line width. As a human pushes harder on the pad, the line becomes broader. This same technique is also useful for controlling color shading. Motion Buttons: Further, a 3D touch pad (or other 3D device) can deliver "button" type functionality. A human uses the touch pad to position a cursor over a display button and "pushes" the button by increasing finger pressure on the pad. This example is interesting since a "button" event is not generated by the hardware, but rather, motion events are reported in the Z direction. At some level in the window system, the Z value of device input is seen to cross a predetermined threshold and is interpreted as a "button" event. (in this case, should the protocol event be for button press/release or motion?) N-Dimensions: Increasingly, we are seeing application for multi-dimensional input devices. The above examples are for three dimensions, however more dimensions are useful. Input devices that report six dimensional motion are useful (X-Y-Z position and yaw-pitch-roll). Initially, one might guess that input devices having many dimensions would be awkward to use and therefore uncommon. But Bill Buxton, a human interface researcher and designer, researcher on input devices, and consultant to Yamaha Music Corp. on synthesizer design, points out that multidimensional input can be very natural. Witness musical instruments. Many have scores of dimensions for input, yet they are readily mastered and exploited far beyond the imagination of the designers. An interesting example of multi-dimensional input is an input glove, currently on the market. VPL Research Inc. of Palo Alto, Calif., demonstrated what was perhaps the most unusual product of the 1986 Summer Conference Electronics Show. The Z-Glove, a $39.95 peripheral for the Commodore 64 computer, looks like a regular glove but includes sonar and bend sensors that describe a user's hand position in three-dimensional space, determine its tilt, and follow any finger movements. VPL demonstrated the Z-Glove with a paint program that changed brush type with changes in finger position, and a music program that changed pitch, instruments and volume as the user "conducted" an invisible orchestra while wearing the glove. Exploration of the potential of human interaction with graphical display is just now beginning. The input side of the interaction model remains crude. A quote from Harry Hersh, author of 'The Human Factor': "Graphical output approaches reality at this point in time. Graphical input is still at the level of the fat crayons they give you in kindergarden." Questions: As witnessed in the success of the Macintosh, a robust and intuitive human interface is very valuable. As human interface designs become more sophisicated and as the cost of high performance workstations continues to drop over the next few years, the use and need for multi-dimensional input support in X will increase. Are two or three input dimensions enough? What allowances should be made in the input extension protocol to generalize input events to 'N' dimensions? Should extension events be chained to allow N-dimensions of position (motion)? Using the above functional models as examples, what support should exist on which side of the wire? Farther along, how do we move from the simplistic I/O model represented by X to an input design that supports a multi-media workstation environment? How might sound input be incorporated into the input stream?