Object Oriented UX

Aus der Konzepter-Werkzeugkiste

Object Oriented UX (Bild: Victor Camilo via Flickr)

Gibt es Object Oriented UX wirklich? Laut Sophia Voychehovski, der Urheberin dieses Begriffs, geht es darum sich in der Konzeptionsphase an Objekten (Hauptelementen) zu orientieren und Objekte vor Aktionen zu designen. Objekte sind in Object Oriented UX mehrfach wiederverwendete Inhaltsblöcke. Also zum Beispiel ein Artikelmodul oder die Produktdetail-Seite. Es sind Elemente die mehrfach auftauchen und ineinander verschachtelt sein können.

Object Oriented UX ist eine Design-Denkweise deren Kern Objekte und nicht Aktionen bilden. Was sind UX-Objekte im Object Oriented UX? Laut Sophia Voychehovski sind es im Prinzip Inhalte—oder besser gesagt Container für Inhalte. Object Oriented UX bedeutet also, dass man sich zunächst über die Inhalte klar wird mit denen man zu hantieren hat, bevor man beispielsweise eine hübsche Bühne gestaltet und dort dann vorhandene Inhalte reinpresst. Das hört sich erstmal vernünftig an.

When you leverage an object-based CTA Inventory, your product designs and your design process will become more elegant, more streamlined, and more user-friendly. (OOUX: A Foundation for Interaction Design)

Ob es stimmt, dass Objektorientierte Programmierung (OOP) auf dem absteigenden Ast sei und irgendwann von funktionaler Programmierung (FP) abgelöst wird, kann ich nicht beurteilen. Aber was war OOP noch gleich? Hier ist eine super kurze Einführung in Objektorientierte Programmierung.

Objektorientierte Programmierung

Objektorientierung in der Programmierung bedeutet, dass kleine Funktionen isoliert werden um bei Bedarf aufgerufen werden zu können. Diese abgekapselten Funtionen nennt man Objekte und sie sind im Prinzip wie eigene, ganz kurze Programme. Objekte haben Eigenschaften, Methoden und Ereignisse. Und man kann noch erwähnen, dass Objekte von Klassen abstammen. Eine Klasse ist ein Plan oder eine Idee und das Objekt ist das Ding selbst. Die Beziehung ist quasi wie Bauplan zu Gebäude.

Unsere Umwelt besteht aus vielen Objekten. Vor mir liegt gerade ein Laptop. Daneben ein Smartphone. Daneben ein Buch und dahinter ein Mikrofon. Wenn man sich umschaut sieht man überall Objekte. Und auch in der Programmierung haben Objekte oft Bezug zu wirklichen Gegenständen des Problemraums: Mitarbeiter, Abteilungen, Wasserspender, Fahrzeuge und so weiter.

Wenn man über ein Softwareprogramm nachdenkt (bevor man anfängt zu programmieren) und sich fragt, worum geht es bei dieser Software? So fallen einem gleich einige Objekte ein: Urlaubsort, Hotel, Apartment, Ansprechpartner usw. Man sagt, objektorientierte Programmierung betrachtet Daten vor Aktionen.

Object-oriented programming (OOP) is a programming language model organized around objects rather than “actions” and data rather than logic. (…) Object-oriented programming takes the view that what we really care about are the objects we want to manipulate rather than the logic required to manipulate them. (…) The first step in OOP is to identify all the objects the programmer wants to manipulate and how they relate to each other. (techtarget.com)

Die vermeintlichen Vorteile von Objektorientierter Programmierung sind:

  1. Wiederverwendung: isolierte Objekte lassen sich immer wieder nutzen.
  2. Kapselung: Objekte können genutzt werden, ohne den genauen inneren Aufbau zu kennen. Objekte können interne Funktionen und Eigenschaften vor Zugriff verstecken.
  3. Instandhaltung: objektorientierte Programme benötigen zwar eine aufwändigere Planungsphase, diese zahlt sich später aber aus: beispielsweise lassen sich objektorientierte Programme leichter warten oder ausbauen.

Object Oriented UX

Object Oriented UX ist laut Sophia Voychehovski eine längst überfällige Revolution im User Experience Bereich.

Sophia Voychehovski sagt, Nutzer bauen ihre Mentalen Modelle rund um Objekte auf. Die reale Welt besteht aus Objekten. Daher ist es sinnvoll im UX-Prozess mit Objekten zu beginnen. Das hört sich nach einem Wiederspruch zu dem von mir sehr geschätzten Jobs-to-be-done Ansatz an, bei dem es darum geht zu verstehen was Nutzer eigentlich erreichen wollen bevor man sich mit konkreten Objekten befasst.

Tatsächlich befinden sich aber JTBD (Jobs-to-be-done) und OOUX (Object Oriented UX) in unterschiedlichen Projektphasen. Erinnern wir uns kurz an den UX Double Diamond: JTBD ist in der ersten Phase sehr nützlich, wenn es um empathy und ideation geht. OOUX kann in der folgenden execution Phase sinnvoll sein wenn es darum geht eine ganz konkrete Lösung zu bauen.

Sophia Voychehovski sagt, UX Berater denken prozedural und das sei schlecht. Und so wie irgendwandwann die prozedurale Programmierung in den 1990ern von der objektorientierten Programmierung abgelöst wurde, so sei ein ebensolcher Wechsel auf dem Gebiet der User Experience überfällig.

Object Oriented UX steht für modulare Gestaltung. Ein im Kontext von OOUX oft genanntes Konzept ist daher auch Content ModellingObject-oriented Content Strategy ist ebenfalls ein Begriff der ab und zu fällt. Im Grunde geht es um bausteinartiges Design—ein Konzept welches man aber nicht mit Atomic Design verwechseln sollte. Bei Atomic Design geht es eher um effiziente Programmierung und aufeinander abgestimmte Verortung im Styleguide. Davon redet OOUX nicht. Object Oriented UX ist mit Blick auf Informationsarchitektur gemeint.

Das Problem bei UX ist, laut Sophia Voychehovski, dass wir uns bei unserer User Experience Tätigkeit, meistens mit Aktionen und nicht mit Objekten befassen. Beispiel: bei einer App für Köche und Rezepte, fängt man vielleicht damit an die Onboarding Screens zu konzipieren oder die Suchergebniss-Seite zu gestelten, anstatt sich erstmal über die wichtigen Objekte der App Gedanken zu machen (Koch, Rezept, Zutat …). Das ist zumindest der Eindruck von Voychehovski. Eine offizielle Object Oriented UX Definition lautet:

The practice of identifying and designing the objects needed to carry out the goals of a digital system (and mapping how these objects interlock to create an elegant and efficient modular system).

Sophia Voychehovski sagt, the world is made of objects (and actions). Und wenn man UX wie eine Satzstruktur betrachtet, dann stürzen wir uns oft auf die Adjektive und dann auf Verben aber viel zu oft nicht mehr auf Substantive und Objekte.

OOUX empfielt sich zunächst über die Objekte klar zu werden und zu verstehen welche Eigenschaften sie haben und wie sie beispielsweise miteinander verzahnt sind.

Object Oriented UX via Sophia Voychehovski

Object Oriented UX via Sophia Voychehovski

Warum Object Oriented UX? Warum Objekte? Voychehovski nennt in ihren Präsentationen folgende Gründe:

  1. Know your objects to know your actions: aus Objekten leiten sich Funktionen, Eigenschaften und Metadaten ab.
  2. Hierarchy and priority is now a priority: welche Objekte sind wichtiger als andere?
  3. We’ve Hamburgered our Nav: Inhalte sind viel wichtiger als Navigation. Die verschachtelten Objekte führen zu einer weitaus besseren Kontextnavigation (im Gegensatz zu einer entrückten, globalen Navigation).
  4. We have to be efficient: es gibt keine einfachen Projekte. Wir sollten unsere Lösungen effizient bauen (konzipieren, gestalten und programmieren).

Eine Object Oriented UX Revolution?

Was ist nun mit Object Oriented UX als Revolution im User Experience Bereich? Richtig, Objekte und Substantive spielen eine wichtige Rolle in unserem Leben. Schon als Kinder lernen wir erst Objekte und dann Aktionen kennen (Mama, Auto, Hund …). Daher sollten wir auch im UX-Prozess mit Objekten beginnen und nicht action-first mit irgendwelchen Abläufen anfangen.

One interaction flow leads to the design of another interaction flow. Soon, you have a web of flows. Iterate on those flows, add some persistent navigation, and voilà!—you have a product design. But there is a problem with this action-first approach. We are designing our actions without a clear picture of what is being acted on. (A Foundation for Interaction Design)

Das macht Sinn. Ich würde es aber nicht Object Oriented UX nennen, sondern Ganz-Normale-Konzeptarbeit (GNK). Beispielsweise würde ich eine Mind Mapping Software meiner Wahl nehmen (XMind) und das obige Beispiel wie folgt visualisieren. Ich glaube so arbeiten viele Konzepter und UXler. Manche nehmen gerne Post-its dafür, ich bevorzuge Mind Maps.

OOUX Object-oriented UX Mindmap

Object-oriented UX als Mind Map

Im Buch User Interface Design: Bridging the Gap from User Requirements to Design aus dem Jahre 1997 wird beispielsweise im Kapitel zu Object Oriented GUI folgendes Konzept mit Kärtchen visualisiert:

Object-Oriented-GUI aka OOUX

Object-Oriented-GUI aka OOUX

In einem Prozess werden zunächst Task Objekte identifiziert und später Eigenschaften, Akionen und Beziehungen betrachtet. Das hatten wir schon vor 20 Jahren. Jetzt sollen wir es also Object Oriented UX nennen? Na ja, warum auch nicht? Klingt ja doch irgendwie interessant.

Objekte sind Lösungen. Und das ist vielleicht eine Gefahr an dieser Herangegehensweise. Man konzentriert sich eventuell zu früh auf Objekte und verbringt nicht ausreichend Zeit damit, das eigentliche Problem zu verstehen.

Und was ist mit Nutzern die ihre Mentalen Modelle rund um Objekte aufbauen? Wir sollten nicht vergessen, dass Nutzer ganz grundsätzlich an Fortschritt und nicht an irgendwelchen Objekten interessiert sind (im Sinne von Jobs-To-Be-Done).

Aber auf jeden Fall ist Object Oriented User Experience ein sehr interessantes Thema mit dem man sich mal befasst haben sollte.

About Jan (498 Articles)
Informationsarchitekt und Konferenz-Veranstalter (IA Konferenz, die Konzepter-Konferenz: http://iakonferenz.org, MOBX Mobile UX Konferenz: http://mobxcon.com), Podcaster und Twitter Addict. Geboren in Prag, sesshaft in Berlin.

2 Comments on Object Oriented UX

  1. Peter Behrens // February 10, 2017 at 12:49 pm // Reply

    klasse Artikel. Danke

Leave a comment

Your email address will not be published.


*


css.php