October 14, 2004

HCI Comments IV

Past, Present, and Future of User Interface Software Tools, Brad Myers, Scott E. Hudson, Randy Pausch, ACM Transactions on Computer-Human Interaction, March 2000, pp. 3-28

The authors offer a clear and well-structured exposition on which user interface tools have worked in the past and which ones have not, along with reasons for the successes and failures. (Relative-to-human) scale emerges again as a factor strongly influencing design. Because of the success of ubicomp devices, the authors argue that UIST will once again become an important research topic as the mature, relatively monolithic set of user interface principles dominating the desktop computing environment cannot be transferred to devices of different scale. In the section "Future Prospects and Visions", development trends for the next couple of years are sketched. It is noted that "user interfaces are becoming more cinematic". I strongly dislike the use of gratuitous animation in user interfaces - the cinematic components often force the user to abandon her own internal timing for interacting with a software and adhere to the developer's notion of speed. Many custom graphical interfaces seem sluggish to experienced users.
Another quote: "Furthermore, as people increasingly distribute their own computation across devices [...], there will be an increasing need for people to communicate with _themselves_ on different devices." I couldn't agree more. I work on at least three different machines every day and data synchronization has turned into a major headache. The trade off seems to be between working simple applications whose data can be synchronized easily (e.g., plain txt-files) and using complex applications with complex file formats that are troublesome to synchronize, especially if you modified versions of the file on more than one machine between syncs. A larger question is whether we want our data stored in a distributed or centralized fashion. Centralized servers assure consistency but may be more vulnerable to security risks. Also, what if you need access to your files but are temporarily off line? Maybe we can think of individual devices acting as local data caches for server-side storage. Then we could exploit existing caching algorithms from computer architecture to ensure data consistency.
Finally Myers et al mention designing for older adults. I agree that this topic needs to be addressed. You can already find pocket calculators, land line phones and wrist watches optimized for use by people with diminished perceptual skills. But trying to find a cell phone that is easily operatable by the elderly is near impossible.


Natural Programming Languages and Environments, Brad A. Myers, John F. Pane, Andy Ko, To appear in Communications of the ACM

As in previous papers, the idea of building "natural" interfaces is stressed. Here though, an attempt is at least made to define what naturalness means. However, two conflicting definitions are given. In the opening paragraph, natural is identified with "closer to the way people think about their tasks." Later on, natural becomes "faithfully representing nature of life". To me, these statement are not at all equivalent. The paper mentions the Alice graphical programming environment. In 2002, I was a teaching assistant for a class called "Virtual World Design" in which groups of students developed a series of small interactive 3D worlds in Alice. The main complaint from the students was that while basic tasks accessible through the user interface where quickly completed, any deeper programming was frustrated by the developer's efforts to hide the internals of the engine from the user. In the author's own terminology, the system had a low threshold, but also a low ceiling. Accommodating the different requirements posed by novices and expert programmers at the same time is likely to remain a challenge.

Posted by Bjoern Hartmann at October 14, 2004 6:45 PM