Skip to content
Paul Adams edited this page Mar 11, 2024 · 7 revisions

Object-Oriented UX (OOUX) for Open Concept Lab

As part of our commitment to creating intuitive, user-centered designs, we've adopted the Object-Oriented UX (OOUX) methodology to drive our application design decisions. This introduction aims to familiarise contributors and stakeholders with the principles of OOUX and explain how we use it to structure our information architecture and interaction design.

What is OOUX?

Object-Oriented UX, or OOUX, is a design philosophy that approaches digital system design by mimicking the real world. It organises digital information into "objects," which represent recognisable entities (aka real things, like a Data Dictionary or Value Set) from the user's perspective. These objects are defined by their attributes (properties or characteristics), their capabilities (actions that can be performed with or on them), and their relationships to other objects.

Each Object is represented in the application by 3 components:

  • A list item
  • A summary card
  • A detail view

The goal of OOUX is to create digital experiences that are intuitive and aligned with a user's natural understanding of the world, thereby reducing cognitive strain and enhancing usability.

Why OOUX for Open Concept Lab?

Open Concept Lab involves complex relationships between different entities such as medical concepts, vocabularies, and terminologies. OOUX helps us to:

  • Simplify complexity: By breaking down our domain into manageable, understandable objects, we can more easily navigate and organise the extensive information within the Open Concept Lab.
  • Improve navigation and interaction: By reflecting our user's mental model and their understanding of their domain, we ensure that the platform is more intuitive, allowing users to find and interact with information more efficiently.
  • Facilitate collaboration: A shared understanding of the objects within our system makes it easier for teams to collaborate on the development and evolution of Open Concept Lab.

Documenting our Object Map and its evolution

As part of our design process, we created an "Object Map" that lists all the objects that should be represented in the OCL TermBrowser application, along with their attributes, actions, and relationships. This living document helps us keep track of our applications complexity and serves as a reference for new features and iterations.

The evolution of our objects is also tracked here on Github, allowing us to see how user needs and system requirements have shaped our information architecture and UX over time. This historical perspective aids in future decision-making and design refinement.

Get involved!

We encourage all contributors to familiarise themselves with our Object Map and to contribute to its evolution. Whether you're a business analyst, developer, or subject matter expert, your insights are invaluable in making Open Concept Lab a powerful and user-friendly resource.

By adopting OOUX principles, we are committed to creating a platform that not only meets the complex needs of our community but does so in a way that feels natural and intuitive. Welcome to the OCL Community, we look forward to building something great together.