Intro and background (5-10min)
- Documenting (MonDoc) (10min)
- Personalization (MonDoc) (10min)
The MonDoc principles (20min)
Intro and background
Unlike Robert mentioned in the last reminder about this talk, I'm not going to talk about a particular piece of software, but about the principles that I think should guide the development of wide array of software.
- Overview of presentation
- In the interest of brevity I decided to lay off the terminology briefing and the hands-up routine that I usually employ for making my talks interactive. Please if you have terminological issues, jot them down and by all means ask me at the end of the talk.
- Why a Web page? handout built-in, better context preservation + I like the medium :)
- DO ask me to talk louder if needed - you may have to repeat that request often :)
- Introduce myself and my (2 current academic) interests: MonDoc and MneMonic
- Myself: I've been writing software for almost as long as I've been using software, more than half of my life now, more than 15 years. During all this time I concentrated on making the software not only useful, but usable, despite lack of interest from the part of my professors. (e.g. bad grade on my Prolog expert system shell)
- MonDoc: About four years ago I started gathering rules of thumb and empirical evidence that seemed to guide successful interfaces. I am bold enough to call that motley gathering of knowledge, "principles". The support for the principles varies from hunches I got during using existing interfaces in a variety of fields (imaging-bitmap,2D,3D, document processing, text editing, programming, etc.) up to detailed studies done by me or other people in areas like perception, assisted learning, cognitive modeling. Part of the difficulty I have in conveying these principles comes (as you'll see today) from (1) the broad base of evidence for them and also from (2) a lack of actual implementations due to my lack of time (and funding) for this project. Vicious lil'circle, eh?
- MneMonic: Most of you heard R.West talk about the application of cognitive modeling to CHI studies. GOMS and variants thereof are relatively simple in principle but difficult to operationalize for any real life scenario. MneMonic is a more complex architecture, a symbolic-connectionist hybrid like ACT-R's been trying to become, and fuzzies any attempt at deterministic forecasts. Still, I think it models better the differences in individual behavior observed in humans. In short, if applied to simulated user tests, it may give different results at different times, just like humans do.
- The relation between MonDoc and MneMonic should become apparent throughout this talk.
First, it's about DOCumenting. Then it's about personalization.
- Thought is what we try to convey, to document so others can verify; fortunately for thinkers and unfortunately for speakers, ideas are related to each other in complex webs of meanings, relationships, sources, probabilities (to name only a few ways); it takes Art (rhetorics) to successfully comunicate even relatively simple thoughts.
- Speech is linear and a very difficult medium for geting across the structure of ideas described above, naturally n-dimmensional.
- The printed medium. Books, articles, papers and so on, allow for a more coherent presentation, but because just like speech, they are intrinsically serial, the graph-like dynamical aspect of thought is simulated by using hierarchies of sections (book, volume, chapter, paragraph, line, etc), references (both internal and external), footnotes, parantheses, abbreviations, etc. Most document processors follow this paradigm, despite the ease of data handling that the digital media afford.
- Specialized software: help engines, authorware editors, help-desk solutions and research on natural language interpretation and novel human-computer interaction principles (e.g. mnemonic gesture interpreters) are all attempting to find and harness cognitive principles which would make communication through computer-supported media closer to the thinking processes, faster and more accurate.
- The Web is a very dynamic part of the Internet. Until now it is the medium with the greatest potential for efficient conveyance of thought; unfortunately, the majority of existing Web sites overcrowd the visual field and the short-term memory of users and use the helpful features of hypertext in a divergent way, prompting the user to skip from one topic to another instead of converging their attention on the ideas presented on specific pages. Also, there is no such thing as a Web "document". Someone was saying that the whole Web is a gigantic document. (thus it's hard to conceptualize its content and navigate it effectively)
- People need the separation of topics though, and they do it in many ways (one-file mammoths, TOCs and indexes in frames or dynamically rendered on each page, physical storage hierarchies, etc.)
- There are many problems with the Web, which mostly have to do with the lack of constraints in the medium, on both format and content, as well as the lack of good tools for automatically preserving context consistency. Like paper, DHTML allows works of Art and Science as well as baby scribbles.
There's a lot of controversial talk in HCI circles about the need for and possibility of personalization. We all know about the fiasco of hurried implementation of "adaptive menus" in the Microsoft products. There are endless lines of "ergonomic" mice, keyboards and other devices which many times tend to get in the way more than help. I'll address the two points of view separately (cos mixing them up invites cogni-trouble.)
- Need for personalization CONs: user involvment, lack of standardization, confusion...
- Need for --"-- PROs: user control, expertise, efficiency...
- Possibility of --"-- CONs: context dependence, user differences, need for CONs...
- Possibility of --"-- PROs: digital automation, tracking habits and frequencies, user models...
- Solution for most CONs: real user control plus recursion (big hurray for fast prototyping- why keep it only in the design phase?? --
- Cynical answer: Because it's potentially dangerous financially to teach the users to make their own tools rather than selling them each tool, as special-purpose as possible
- Realist answer: Because users don't want to fiddle with the interface, but use the darn program).
The recursiveness implied in my extreme approach to document personalization has the side effect of blurring the borderline between a document and an application. As you'll see a lil'later, the principles of adaptive navigation and presentation can transform any document into a tool for collaboration. The modular structure principles can result in editors/tutors for any programming language (e.g ACT-R), or for computer-assisted learning (e.g. MoStaCon).