- 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.

	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
			- 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.


	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.


	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
		Dynamic data - automatically updated as data changes.
		User Input - if/then
		Operators (+/-, pattern matching, existence(if 

	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).


	------- 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.


	-------- 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



	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.



	-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

		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

	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.

		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).

		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.

			record results
			Understand why one way is better
			than another.

	Perils of prototyping:

			Quality of the demo can wow people
			from actually evaluating it.

			Can't see alternatives.

			Don't reject too soon, or soon

	(This went by very fast, it was hard to keep up and
	all this is not quite right).

			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
	crayons		Lo tech		Programming Lang.

	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
		Not respected - real thing looks better
		and you get a better response from

	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

	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:


	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:


	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

	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:

	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).

	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.

	Brad Myers Et.Al. found 48% of code is UI, 56% of implementation
	time for bitmapped displays, 33% for character displays.