We’ve talked about human machine interfaces (HMI) here on the Nelson Miller blog, but one interface that we’ve yet to discuss is object-oriented user interfaces. Object-oriented user interface (OOUI) is a sub-type of a standard user interface that follows the principles of object-oriented computer programming. It’s characterized by a unique format in which the operator explicitly interacts with objects representing various entities in the respective application. Graphic design and vector drawing applications, for instance, often feature an OOUI. They not only allow the user to see objects, but OOUI allows the user to interact with them, changing their size, color, shape, dimensions, alignment, etc.
“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,” wrote Jakob Nielsen when describing OOUIs.
Another notable figure in user interface design, Dave Collins, defines OOUIs as having three characteristics: users perceive and act on objects; users can classify the way in which objects behave; and all objects fit together in a coherent fashion. In other words, users can see the objects, manipulate the objects, and classify the objects based on their behavior. Furthermore, all of the objects within an OOUI fit together in a nice, orderly fashion. If an interface meets this criteria, it is classified as an OOUI, according to Dave Collins.
OOUIs are becoming more and more popular, thanks in part to their versatility. Traditional user interfaces often have limited functions, which restricts their utility for various applications. Whether it’s a commercial or consumer-based application, OOUIs allow for greater customization along with a higher level of utility. Using the example cited above, vector drawing applications can be used to create and design a wide range of illustrations — and that’s just one of the many uses for an OOUI. Traditional user interfaces, on the other hand, have limited functions and utility, restricting the user from manipulating the objects.
You might be wondering how exactly OOUIs relate to object-oriented programming. If you asked ten different professionals, you would probably get ten different answers. Basically, though, both object-oriented programming languages and OOUIs allow the end-user to change or otherwise manipulate objects.
Hopefully, this will give you a better understanding of OOUIs and how they are used.