SIGCHI 92 - Commentary by Mike Davis, to be annotated by Neli Stinchcomb The Tenth Anniversary of CHI. We stayed at the Double Tree Hotel, which sort of contains/ abuts the Monterey conference center. We arrived Monday, May 4 and the conference ended Thursday, May 7. Upon arrival we registered (a MUCH smaller task than at SIGGRAPH) and were amazed at the size of the proceedings. Neli bought a CHI T-shirt. We went to dinner at Beau Thai, a quaint, small restaurant with good food (where one has to request the food to be spicy!). People kept calling attribute forms: 'property sheets' They expected about 1800 people but 2500 came. The Audio/Visual Support was AWFUL. Fuzzy slides, which didn't work right, big delays between video clips, ... you name it. We liked being in the same hotel as the conference. It was both convenient and we felt more a-part-of things. CHI did not seem to have the 'edge' that SIGGRAPH has. There is not the excitement of new things and the sophistication of the papers is not quite as high. We could not determine whether the sophistication of the audience was also lower, but did notice about half of the attendees were female and there weren't many 'suits'. The next CHI is not in the US. We will not go (unless someone else pays...). CHI 95 is in Denver. Saw lots of C.U. and US WEST advanced technology people (who we don't know) from Boulder. Tuesday: The opening plenary. Peter Pohlson, from CU was the co-chair. There was about 15-20 minutes of administrative talk and patting themselves on the back which was boring for us. There was a panel of 5 people, who gave a statement, and then took questions from each other and written questions from the audience. Bill Buxton was a very forceful, concise speaker which both Neli and I enjoyed and agreed with, I think. Points: Purpose of CHI is not to make interfaces easy, it is to accelerate the process by which novices work like experts. Alternatively: The goal is not to make technology easier to use, but to rather quickly advance to user from novice to expert. (I say: not just easier to learn but easier to use). It should do this by building on current skills each user has (domain specific (specialized) or not). He the displayed 3 graphs: 1. CPU power (a curve with positive slope), 2. What we are promising the user (also a curve with positive slope), and 3. A typical humans capability(i.e. human mips) (a flat curve). These graphs then show that CHI has to fill in the gap between what we can/want to do and what a human is capable of handling. Then he, referring to the UI of common, low tech VCRs, said the future did not look good. I.e. 'functionality we are promising is way too complex, based on failures with current functionality, and we are wasting current user capabilities' (knowing how to walk, pump blood, ...). Donald Norman - author of 'the design of everyday things'. 2 types of technology: interfering (interferes with the direct experience) - video camera intensifying - hand sketching. Wanted appropriate technology. Want technology that intensifies our activity, not redefine it. Marilyn Manlei - where are the design papers anymore? The joining of psychological and computer science ideas? Bill Curtis - Showed various graphs of trends past and present which resulted in the conclusion that software will be a commodity in the 1990s(like hardware has been), CHI will be taken seriously (i.e. there will be a UI 'engineer' official recognized in academia and commercial arena cause the practitioners are getting old enough to move into the managerial and senior professorial roles) in the 90's and be a commodity in the 2000's. Posters: Saw various posters: 1. A animation construction set. Liked the paradigm of a beat (timer events), rhythms (filters), ... which were represented by icons connected by lines (ala AVS). Some of the ideas were not clear and this may not actually be completely implemented yet. 62. 'Integrating animation with interfaces'. 2. Saw Emilie Young's poster, where she took video clips of a proposed user interface drawn with crayons and having crayon drawn object overlays (i.e. a picture of a pizza could appear and disappear on the 'screen' which the vide camera was recording). 3. Saw SUIT - the simple user interface toolkit. Pretty straight forward toolkit with named objects. Free to academia. Showed a code segment that did a 'hello world' window in 11 lines. Complexity rapidly increased for things more complicated. Picked up some literature on this. Randy Pausch does this. 4. Saw various things CU/US West technologies are doing called AgentSheets used to create Voice dialogs. Voice Dialogs appeared to have a nice paradigm for visual programming the common 'press 1 for service, 2 for help, ... ' type of phone mail interfaces. AgentSheets seemed opaque and I don't really understand it yet. Short Talks: Yin Yin Wang from Apple talked about design. Voiced a concern whether a hand drawn 'update' button caused more feedback when presented to people than a smooth computer generated one. She said it caused more discourse about the meaning of the button, as opposed to it's appearance. Also thought, that in general, it is harder for people she presents ideas to to think of other solutions if she presents one already, and that this difficulty increases as the completeness and snasiness of the prototype. Demonstration: Saw demo from TAO corporation. Called their portability layer a 'Universal API'. A small company, their demo locked up twice (PC on MS Windows) and looked pretty bad. Can assign scrollbar, button, push button, ... behavior to arbitrary graphics but the interface seemed kinda hard and kept running out of memory on the PC... Audience: why is your product a UIMS as apposed to a UI builder? No good answer. AT&T Display Construction Set (DCS). Question answered, it is a UIMS if it has 'Dynamic Data'. A good demo: $17500, 4 years old, used internally until a few months ago. Containers of Containers . Attributes can be expressions. Can be combinations of Constants Dynamic data - automatically updated as data changes. User Input - if/then Operators (+/-, pattern matching, existence(if something...)). Any Xbitmap as background of window. Proportion operator means something is proportional to some value. Icons have addressable labels in a diagram map of the US (label set to amount of overflow). expression: Select (red, yellow, green) rngfit (40, 80), rounf overflow > 90. Can assign helpfiles to help buttons. A slider does not send a message, a (for example) text widget depends on the slider value. Can send message to pipe if user clicks on a row in a table, like "user picked "Cleveland" on table "XXX" using pattern matching ... Pipe input was name, value pairs, had others. File Looked like name:---, max:---, current:--- MOCTEC: David L. Maulsby An instructable user interface, He asked for a participant from the audience to try out his demo program. Hot got a rather gregarious, frank guy, more than he bargained for but this person, commenting on each thing about the interface and what was happening, certainly mirrored lots of my questions and misunderstandings about what I was seeing. It mostly created and used a list of search criteria about what the user was doing to a text document. For example, Changing each number that is found at the beginning of each paragraph took 2 manual changes and then the telling of the user interface to 'do the rest'. Paper: Fisheye lens: rather elaborate description of the possibilities of a rather simple thing. Bored Neli. References: Bifocal displays (Spence and Apperley '82), Fisheye Lens (Furnas, '86). Dinner: At the CHI reception at the Monterey Bay Aquarium. Cool fish, I liked the jelly fish the most, Neli patted the Ray. Crowded and hard to enjoy the natural peacefulness of the place. Good veggies (very small zucchini, yellow squash, acorn squash that could be eaten and enjoyed in one mouthful raw). Wednesday: Demonstrations: ------- TAE Plus - A UIMS from NASA Can iconize each panel into separate icon. Have the option a windows without window managers (i.e. unmovable, resizable). Standard color thresholds form for everything. Can tailor to show (list) of only a subset of available X colors. Align: None, Top, Center, Bottom, Distribute Button form options: Define connections Select radio button mode post form (select which form interactively). Next version can execute a line of 'C'. Rehearsal: Automatic generation of data to send to UIMS for test of interface. Can generate one file per panel or one large file containing the generated code. WPT has 40 routines which cover: Xt/Motif 400 routines XLib 222 routines 914 sites, Will include Clayton Lewis's Spreadsheet Engine to do expressions and geometry management. A uniqueness is this can define data-driven widgets using Interviews's idraw editor). Neli likes this cause: Has display only widgets (for data-driven applications) *Mike->tho these widgets cannot ever be interactive. Has data-driven widgets so don't have to specify when the widget is to change (using some kind of timer event). *Mike-> some nice ones are predefined and can define your own. -----CHIRP ---- Proprietary GUI builder has: Various builtin globes(polar, Asia, earth, ... a clock widget a 'row of buttons' widget like FED. Automatic logging with time stamps. Papers: -------- Beyond Widgets - Dennis Debar Uses devGuide with which user drops code with semantic comments into a window and a form is auto generated. Application - Actions - Attributes Uses comments to generate UI, comments have semantic information about the surrounding variable or code... Has a selection rulebase. For example, integer variables can generate various kinds of widgets based on their range and type. User can add, edit rules. Future: Automatic generation of multiple window applications Not to use resource files. Does not propagate UI changes back to application Has no composite objects. -------- Workspaces Talked about editing groups of graphics primitives simultaneously. This was OK, if boring, a small aspect of every CAD editor. Implies, but not quite there, the auto generation of editor icon prototypes and attribute bars. ------- Selectors All this talk about everything but what goes INSIDE the editor. One should make common cases easier rather than focusing on the unusual cases. YEA! Like VisualADE. A Selector is similar to a description of an application. This talk is similar to the Beyond widgets talk. ------ The Decoupled Simulation Model .... A talk about the architecture of VR applications. Neli liked this but I fell asleep. ------ Abstraction-Link-View------------ALVee by Ralph D. Hill Neat idea to have a special PieLink, BarChartLink, ... which are bundles of constraints. This architecture is supposed to be better than MVC (doesn't take much) according to the lecturer. The constraints are declarative and no suitable constraint manager exists at this time. This is a nice, simple architecture. Unfortunately, the lecturer talked down to the audience which sparked some harsh questioning. My question is how are the links notified of changes in the view and application data? The link 'looks down' on the model and view, like my VFace, but how are the changes propagated? Does Ralph just assume the constraint manager does all this magically? Special Demo for Neli and I: DATAVIEWS SCI FI @ CHI Saw it in the overflow room, kinda nice that it wasn't very crowded, but I missed some of the crowd response. ------- Verner Vinge - kinda nervous... Mind-Machine Link, how it can and will be done (actually a brain-,machine link). Drill hole in head, hook up 10^6 neurons to achieve the bandwidth. then lots of training just like the years we spend learning to read, now spent exercising the link with our machine. This implies that mankind can now increase intelligence which would be a break away from the traditional curve of evolution, a totally different species which will not relate much to today's humans. Intelligent machines in ~ 30 years. To keep up with machines we will need the mind-machine link. I.E. AI - IA Artificial Intelligence Intelligence Amplification We need this to keep man a major player. -------- Rudy Rucker - calm with sweater wrapped around shoulders - We are Not likely to be able to hack reality, which has been here for so long. Not to do whatever we want to do like we can in VR. With VR, we don't have to drill holes in head, don't have to worry about bugs in software in a machine wired to your brain, no ctl-alt-delete and you're dead (no core dumps). Can create artificial life in VR. Showed demo of 'boids' running on PC shown on a screen at the hall. Said one could have these boids flying around your head in VR, one carrying your toolbox, so you would just have to reach up and grab it when you needed it. Showed demo of VR ants, making some nice pattern there. ---- Bruce Sterling --- very humorous, and big ham, funny Logon to someone else's body, ... lots of ideas here but it was hard to write them down. Used the recurring paradigm of a 'cloth' computer as being the ultimate ubiquitous machine. ---- Donald Norman ----- Old and in the way Brain to Brain link takes more smarts than humans are capable of. Human - machine links are NEVER going to happen. --- Rudy -- Simulate robots first in VR in your CAD home to see if they tear it up or indeed work correctly. -- Bruce --- A funny tirade -> -Nanotech is not biodegradable. -industrial accidents at the atomic level. -Humans with little nanites in blood, purifying things, and then miscitos suck some out, deposit into someone else who does not need these kind of nanites, whose own nanites have a war with these new guys, ... Listed some female cyber-punk authors, just caught the last one: Gwenyth Jones -- Donald --- Afraid we will be machine dominated people. Define intelligence: amount of info one can pass to next generation. Supper: Chinese Lees - Pretty good family place. THURSDAY: Papers: -Cognitive Process in Logical Design An professor of Iranian descent gave this talk. Very comfortable and professional. Talked about the mental processes programmers go through when they develop software. This was fun for us cause he actually articulated the processes we go through every day without really thinking about them. -Requirements of DesignVision: This talk was about how to asses requirements, I would have liked it much more if it was about the 'Intelligent Software Design Assistant' instead of it's requirements. HUMANOID Model of interface design. As I remember this (3 weeks later), this was a nebulous idea about using semantics to run the user interface processes (like the software automatically deducing that a button should be desensitized when the user should not activate it. Panel: In Search of the Ideal Prototype. A interesting and fun panel. Munoz: We don't save the reasoning behind the decisions why a prototype is the way it is so developers don't know WHY something was done a certain way. QED: Prototyping doesn't help make a better product. Jacobs: Requirements are always going to be changing. Prototypes are for visualizing the functionality of an application. Loop { Analyze requirements users functions Create prototype test usability } (There were a few questions from the audience by people wanting to know when/how to determine when to exit the loop and release the product: We figured they worked for BIG companies with LOTS of money and time to waste). (Jacobs and Spool had a contest before hand where they each took 3 hours to generate a prototype system which will assist people in using a little device runners have that allows them to be continuously and instantly located during a race). Used DataViews for prototype. Thought that 8K was the average price for tools that do animation. Spool: Real design uses the spiral approach. thinks all four quadrants of the spiral should be given equal time (analyze, development, test, evaluate.. or something like that). Paper prototypes were better cause can do them over meals with clients (yes he had a visible belly). Was able to do 9 prototypes in 3 days for a client this way. USER PROTOTYPES Decide user motivations, timing, context, and who the indirect users are (this is an unclear concept - indirect users are kind of the manufacturers who use the output of a CAD system, i.e. the people who use the results of the system rather than the users who use the system to make results). DESIGN PROTOTYPES Include only detail being currently evaluated (i.e. prototype separate parts, focusing attention on each area of the product). and do this reflecting the current stage of the product (i.e. don't make the prototype real fancy at the beginning of the process). This guy used video for the prototyping: -wrote document outlining requirements 1/2 hr. -Did a short video of how it would be used by newscasters .25 hr -Second video with daughter pretending to watch a newsman using it ? - Did a drawing laying out some screens and functionality 15min I think this guy is cheating cause ELAPSED time is much greater than 3 hrs and gives one time to THINK about the design. - Second drawing (Much like Yin Yin Yang of Apple) 30 min. This had pictures form magazines (of runners, and also got names of runners from there also. Put the customers logo in picture (thought this helped out a lot towards quality and customer acceptance that this was real). Used computer to generate some of the text too for this drawing. VerPlank: Spool - who is kinda a ham - took a lot of time so not much left. Very professional and emotionless. Proto Definition: Shapes subsequent attempts of development. Memorable: record results Testable: Understand why one way is better than another. Perils of prototyping: Distraction: Quality of the demo can wow people from actually evaluating it. Seduction: Can't see alternatives. Rejection: Don't reject too soon, or soon enough. (This went by very fast, it was hard to keep up and all this is not quite right). Standardization: Don;t get stuck with just using standard UI techniques which may not be the best method. All previous and current products are prototypes of this new one. Sequence: Painted screens->Animated screens->interactive screens. Painted High Tech Scrollbar, lists | | | Appearance---------------------->performance? | | | | crayons Lo tech Programming Lang. pencil/paper Then said that his own personal philosophy was that there was a line extending from lowerleft hand corner to upper right going from LIFE to DEATH. Then, gave examples of how they prototyped a toy guitar, that had built in tunes, like elec. keyboard. Then he pulled out the actual product (which is no longer available cause parent company went under) and played a little rock-and-roll. Questions and Answers Tests rule out alternatives: document them. Crayons and paper- big and unerasable, photocopy them, pass around, bigger than a screen, everyone participates Not respected - real thing looks better and you get a better response from customer. Don't show customer anything you can;t deliver. Show to developers- make them prove little examples if there is doubt it can be done. Demonstration: UI3 ->Demo on NeXT - IRCAM - Took some time, some problem with the NeXT box and its projection onto a screen. A complex pattern of boxes and lines that specify filters, performed DSP, generated sounds. It had a rubber banding rectangle called a ruler which was placed around objects to measure them (numbers on sides of rectangle continuously changed to show current size). Another application, which tried to provide a better interface than the clutter of rectangles and lines had rectangles annotated with x,y,width,height text entry fields. These could each then be mapped: x->volume y->pitch ... The DSP diagram now referred to named variables in this other editor. When the box is moved, music is made. ->Pre-And-Post Conditions for User Interfaces The first 1/2 of talk was typical stuff. Connecting UI items together to disable or activate each other. Built on top of devGuide which Neli says already has these links anyway so it was unclear what this guy had actually added. Second 1/2: The help system can be automatically generated from these conditions. (I.E. the system can deduce why a button is currently disabled- the English generated is not so good - but is is automatic. It is also probably limited to a real low level description, can't see the overall reason why). This system can also display a help message describing what a button will do it selected (automatically of course). An answer to a question indicated that conditions for the contents of a whole panel may be set by just setting them on the panel itself. Closing Plenary : A talk by John Seely Brown - PARC Alot of talk about applying everyday thinking and doing to the UI, letting the world do some of the work: Representational Computational Complex Abstract reasoning->use environment to help out, off load work onto world. Somebody- I think it was Bruce Sterling - said that of the whole body, The GUI only uses the 2 eyes and the finger tips, leaving out the rest of the bodies capabilities. Use some of the physical and social capability of humans (i.e. there is no need to have a sign on a house called 'Main Entrance'). We are good a physical things and bad at social designs GENRE Books and newspapers give lots of peripheral clues: Books-one can feel how may pages are left -One knows top of fold is more important, Larger font is more important than small... Cover of a book says a lot about a book...We all know story ends near end of book. Email genre (I am not familiar with this so it is not intuitive for me): Office memo - formal email(flames ok)- less formal phone - much less formal Genres encultured - not taught, invisible, makes things understandable, are not designable, constantly evolving. Can turn foibles into features: Here he said something like... Apple wrote the MAC manuals (intentionally?) which caused a lot of user groups to form to figure them out and communicate their ideas. There are no computers to help people listen or read, just write. Should have tools to amplify mind and relationships. Tools for: Working Learning Reflexive Communicate Said PARC? had a system where everyone in one building in a different city had a video slice of each of the cubes of the people in another building, updated every 30 seconds or so. So each person was 'videoed' every 30 seconds and could see the videos of others peripherally. This was so the two groups would learn to know each other and feel more comfortable working together. Neli and I thought this was a real invasion of privacy. Questioner thought there might be a danger of Too much Demassification (i.e. making genres real specific so not shared by populace at large). P.S. EuroPARK has a digital desk. The computer observes the user's desk through a camera mounted in the ceiling. Working with normal paper. Can display output to same paper from a projector mounted next to camera. Ex: a gesture to a column of numbers the system projects the sum a the bottom. Ex: point to a foreign word and the definition was displayed, making any printed text into a kind of hypertext. P.S. Brad Myers Et.Al. found 48% of code is UI, 56% of implementation time for bitmapped displays, 33% for character displays.