Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!emory!gatech!bloom-beacon!dont-send-mail-to-path-lines From: matt@saber.COM Newsgroups: comp.windows.x Subject: Re: Question for net.views column in UNIX Today! Message-ID: <9103300619.AA12443@rapier> Date: 30 Mar 91 06:19:44 GMT Sender: tytso@athena.mit.edu (Theodore Y. Ts'o) Organization: The Internet Lines: 94 > ******************* > * QUESTION #2 * > ******************* > > Is a single GUI standard really necessary? Depends what you mean by that. Is a single standard for application appearance and behavior necessary? Probably not. For one thing, none of the existing standards is really adequate for all classes of applications one can envision, or even for all existing applications. For another, personal preference will always play an important role -- witness the radically different opinions you find in the field about Open Look and Motif, even among people who have used both extensively. User interfaces are a bit like architecture or interior design -- there are some fundamental principles one should follow (but which are often all but ignored in software design), but there's also a lot of style, taste, and religion. It is not important that all applications everywhere look and feel the same -- the only thing that is important is that all of the applications used by a *single person* look and feel the same; moreover, the look and feel should be whichever one *that individual* prefers. Trying to dictate a single standard for application behavior is probably both unnecessary and counterproductive; even were it not, it seems clear that none of the existing contenders (Open Look, Motif, Windows/PM) comes anywhere near what would be required in terms of either expressive power or useability from a human factors standpoint. What is necessary is an attempt to bring some order out of the chaos that currently surrounds user interface toolkits and application programming interfaces. The investment required to develop a user interface to match any particular GUI specification is quite high, and it *does not decrease* when you go to apply a second GUI "standard" to the same software. This has a number of pernicious effects on the industry. One is that application developers are often forced into choosing sides in the GUI wars, which are based more in politics than in either technial or human factors superiority. Another is that developers who must support multiple GUI standards generally do it by reimplementing their interfaces for each standard. This wastes technical and engineering resources that could be better used in designing *better* user interfaces, instead of building *different* user interfaces. Finally, the fact that every behavior specification has one (or more) different API's discourages advancement in the state of the art in user interfaces. Because most of the existing toolkits are tied so closely to a particular GUI specification, developers who must worry about real deadlines and market windows are discouraged from experimenting with fundamentally different application styles. Standardization of the GUI in its current form leads to stagnation. Toolkits that support multiple application styles with a single API (or better still, that supported runtime selection of the application style by a single executable image), would go a long way toward encouraging better use of resources, promoting experimentation and advancement in user interface styles, and allowing users some degree of *choice* about the style of application behavior they prefer. There are those who will say this is too hard, but they are wrong. Real progress is being made in applying a single API to the Open Look and Motif specifications as well as others, and we are beginning to understand what it means to "be" a user interface in a larger sense, and how to abstract the higher level components of an interface in a way that lets us deal with them independent of a particular visual representation or interaction model. Rather than leaping headlong onto the bandwagon of premature standardization of the "look and feel", we should be searching for ways to provide uniform *programming interfaces*, so that application developers need not choose only *one* "look and feel", but are free to develop new and *better* kinds of computer/human interaction without being forced to throw away all of their prior investment. - Matt Landau User Interface Engineering Group Saber Software Inc. matt@saber.com (617) 876-7636 Disclaimer: There opinions expressed herein are the opinions of the author, who is solely responsible for their content and expression. These are not necessarily the opinions of Saber Software Inc, or any of its officers, other employees, or agents.