*** Welcome to piglix ***

Object-oriented user interface


In computing, an object-oriented user interface (OOUI) is a type of user interface based on an object-oriented programming metaphor. 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."

Dave Collins defines an OOUI as demonstrating three characteristics:

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

There is a great deal of potential synergy between the OOUI concept and other important ideas in user interface design including:

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. 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 programming language had a command line interface that was nonetheless also clearly an OOUI, though it subsequently became better known for its pioneering role in the development of GUIs, direct manipulation and visual metaphors.

Although there are many conceptual parallels between OOUIs and object-oriented programming, it does not follow that an OOUI has to be implemented using an object-oriented programming language.


...
Wikipedia

...