Object-oriented Interface
   HOME

TheInfoList



OR:

In
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, hardware and softw ...
, an object-oriented user interface (OOUI) is a type of
user interface In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine fro ...
based on an
object-oriented programming Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impl ...
metaphor A metaphor is a figure of speech that, for rhetorical effect, directly refers to one thing by mentioning another. It may provide, or obscure, clarity or identify hidden similarities between two different ideas. Metaphors are usually meant to cr ...
, and describes most modern operating systems ("
object-oriented operating systems Object-oriented programming (OOP) is a programming paradigm based on the concept of ''Object (computer science), objects''. Objects can contain data (called Field (computer science), fields, Attribute (computing), attributes or Property (progra ...
") such as
MacOS macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
and
Unix Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
. In an OOUI, the user interacts explicitly with objects that represent entities in the domain that the application is concerned with. Many vector drawing applications, for example, have an OOUI – the objects being lines, circles and canvases. The user may explicitly select an object, alter its properties (such as size or colour), or invoke other actions upon it (such as to move, copy, or re-align it). If a business application has any OOUI, the user may be selecting and/or invoking actions on objects representing entities in the business domain such as customers, products or orders. Jakob Nielsen defines the OOUI in contrast to function-oriented interfaces: "Object-oriented interfaces are sometimes described as turning the application inside-out as compared to function-oriented interfaces. The main focus of the interaction changes to become the users' data and other information objects that are typically represented graphically on the screen as icons or in windows."Nielsen, J., Usability Engineering. 1993, San Francisco: Morgan Kaufmann / Academic Press Dave Collins defines an OOUI as demonstrating three characteristics: * Users perceive and act on objects * Users can classify objects based on how they behave * In the context of what users are trying to do, all the user interface objects fit together into a coherent overall representationCollins, D., Designing Object-oriented User interfaces. 1995, Redwood City, CA: Benjamin/Cummings
Jef Raskin Jef Raskin (born Jeff Raskin; March 9, 1943 – February 26, 2005) was an American human–computer interface expert who conceived and began leading the Macintosh project at Apple in the late 1970s. Early life and education Jef Raskin was bo ...
suggests that the most important characteristic of an OOUI is that it adopts a 'noun-verb', rather than a 'verb-noun' style of interaction, and that this has several advantages in terms of usability.Raskin, J., The Humane Interface. 2000, Reading, MA: Addison-Wesley / ACM Press


Relationship to other user interface ideas

There is a great deal of potential synergy between the OOUI concept and other important ideas in user interface design including: *
graphical user interface A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
(GUI) *
direct manipulation interface In computer science, human–computer interaction, and interaction design, direct manipulation is an approach to interfaces which involves continuous representation of objects of interest together with rapid, reversible, and incremental actions ...
*
interface metaphor In user interface design, an interface metaphor is a set of user interface visuals, actions and procedures that exploit specific knowledge that users already have of other domains. The purpose of the interface metaphor is to give the user instanta ...
Many futuristic imaginings of user interfaces rely heavily on OOUI and especially OOGUI concepts. However there are many examples of user interfaces that implement one or more of those other ideas, but which are not in fact OOUIs - though they are often wrongly labelled as OOUIs.Constantine, L. and L. Lockwood, Software for use. 1999: Addison-Wesley Conversely, there are examples of OOUIs that are neither graphical, nor employ direct manipulation techniques, nor employ strong metaphors. For example, the earliest versions of the
Smalltalk Smalltalk is a purely object oriented programming language (OOP) that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learni ...
programming language had a
command line interface A command-line interface (CLI) is a means of interacting with software via commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user-friendly alternati ...
that was nonetheless also clearly an OOUI,Kay, A., The early history of Smalltalk, in History of Programming Languages, T. Bergin and R. Gibson, Editors. 1996, Addison-Wesley / ACM Press: Reading, MA. p. 511-. though it subsequently became better known for its pioneering role in the development of GUIs, direct manipulation and visual metaphors.


Relationship to object-oriented programming

Although there are many conceptual parallels between OOUIs and
object-oriented programming Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impl ...
, it does not follow that an OOUI has to be implemented using an
object-oriented programming language Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impleme ...
. The guidelines for IBM's Common User Access (CUA), (possibly the most comprehensive attempt at defining a standard for OOUI design) stated that 'while object-oriented programming can facilitate the development of an object-oriented user interface, it is not a pre-requisite. An object-oriented user interface can be developed with more traditional programming languages and tools.'IBM, Common User Access - Guide to User Interface Design. 1991, IBM: Cary, North Carolina. However, there are strong synergies.
Larry Tesler Lawrence Gordon Tesler (April 24, 1945 – February 16, 2020) was an American computer scientist who worked in the field of human–computer interaction. Tesler worked at Xerox PARC, Apple Inc., Apple, Amazon.com, Amazon, and Yahoo!. While at PA ...
, who left
Xerox PARC Future Concepts division (formerly Palo Alto Research Center, PARC and Xerox PARC) is a research and development company in Palo Alto, California. It was founded in 1969 by Jacob E. "Jack" Goldman, chief scientist of Xerox Corporation, as a div ...
in 1980 to join
Apple An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
underlined the relationship: {{quote, Many observers have hypothesized that he
Smalltalk Smalltalk is a purely object oriented programming language (OOP) that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learni ...
user interface and the Smalltalk language are separable innovations. Consequently, most systems influenced by the Smalltalk user interface have been engineered without resorting to Smalltalk’s implementation approach. At Apple, after using Pascal to implement six initial applications for
Lisa Lisa or LISA may refer to: People People with the mononym * Lisa (Japanese musician, born 1974), stylized "LISA" * Lisa, stagename of Japanese singer Lisa Komine (born 1978) * Lisa (South Korean singer) (born 1980) * Lisa (Japanese musician, b ...
, we discovered compelling reasons to change our programming language to incorporate more ideas from Smalltalk. Lisa applications are now written in the language Clascal, an extension of Pascal featuring objects, classes, subclasses, and procedure invocation by message-passing.Tesler, L. Object Oriented User Interfaces and Object Oriented Languages. in ACM Conference n Personal and Small Computers. 1983. New York: ACM.


Relationship to domain object modelling

There is also an obvious synergy between the concept of an OOUI and the idea of constructing software from domain objects. However, it does not follow that the objects that a user sees and interacts within an OOUI have to correspond to the domain objects on which the application is built. The CUA guidelines stated that 'In an object-oriented user interface, the objects that a user works with do not necessarily correspond to the objects or modules of code, that a programmer used to create the product.' The basic design methods described in CUA were refined further into the OVIDDave Roberts, Dick Berry, Scott Isensee & John Mullaly, Designing for the User with OVID: Bridging User Interface Design and Software Engineering MacMillan, 1998 method which used UML to model the interface. Mark van Harmelen states that 'Object-oriented user interface design does not require designers to take an object-oriented view of the problem from the beginning of the project. Furthermore, even if designers take an object-oriented perspective throughout, they will benefit from focusing separately on the object model and the object-oriented user interface design.'van Harmelen, M., ed. Object Modelling and User Interface Design. 2001, Addison-Wesley: Reading, MA. By contrast, the
naked objects Naked objects is an architectural pattern used in software engineering. It is defined by three principles: The naked object pattern's innovative feature arises by combining the and principles into a principle: The naked objects pattern was ...
pattern is an approach to the design of applications that, at least in its naive form, enforces a direct correspondence between the objects represented in the OOUI and the underlying domain objects, auto-generating the former from the latter.Pawson, R., Naked Objects, Ph.D Thesis, 2004, Trinity College, Dublin, Ireland


References

* User interfaces