OOUXandAPIdesign:
Loveatfirst“site”
Caroline Sober-James
Director of User Experience
Acumium
Hi,I’mCaroline.
Pragmatic and passionate UXer
Practice and people leader
Former server-side dev
Certified OOUX strategist
Beforewestart…
This whole talk is based on a
hypothesis.
I don’t know how to design APIs.
What’sanAPI?
Software that sends information back
and forth between a site/app and a user.
A key user interface for developers.
WhatmakesagoodAPI?
Simple
Memorable
Hard to misuse
Uses the appropriate terminology
Returns the data expected
Clear documentation
Solves the right problems
Whatgoesintoplanning
agoodAPI?
Taking time to actually plan…
End user research
Inventory of user functionality
Sketching and diagramming
APIdesignisuser
experiencedesign.
WhatisOOUX?
A design methodology that aligns
software to the user’s real world mental
model of concrete, defined objects.
A way to untangle business complexity
within a problem domain.
Defines objects first, interactions later,
screens last.
Simplifies and declutters designs.
Jumpstarts developer work.
Whydesigninobjects?
Matches customer mental models
Builds contextual navigation
Increases usability
Establishes shared language
Defines structure
Enforces simplicity
Enables scale
Easier maintenance
Better SEO
More portability
Brainsloveobjects
Thought is object-oriented
Communication is object-oriented
Understanding is object-oriented
Perception is object-oriented
Thoughtisobject-
oriented
Units of knowledge are components that work
together to process information and create a
thought.
First unit of knowledge is the concept.
Complex procedures are made up of
objectified concepts, the relationship between
the concepts, and the actions we take on them.
Communicationis
object-oriented
The power of nouns
Navigating in a foreign language
Babies learning to speak
Understandingis
object-oriented
Starts when we are babies
Process of learning to understand objects in
increasingly complicated ways
Perceptionisobject-
oriented
Nine-tenths of brain power is spent figuring out
what and where things are.
The majority of our brain’s processing power is
used to categorize information our senses
collect.
“Our visual systems are good at
detecting blobs and edges, but they
are really bad at what our world has
become, which is lots of screens with
lots of data. We have to crawl that
with our attentional systems.”
—David Eagleman
TheORCAprocess
Objects
Relationships
Capabilities (or CTAs)
Attributes
Objects
Find objects through “noun foraging”
What things in the problem domain need
representation in the system?
Offer value to the user or to the business
“SIP” – Structure, Instances, Purpose
Brain dump; prioritization comes later
Parallels with domain-driven design
Blue on the object map
Relationships
How do (might) these objects relate to each
other?
Indicate cardinality
Foundation for data modeling (ERD)
Blue on the object map
Capabilities(CTAs)
How might people (or the system) need to
interact with these objects?
We drop pins for potential interactivity later
Helps with user story creation
Green on the object map
Attributes:Corecontent
Data that belongs solely to an instance of an
object
Name, email, ID, phone number, description,
featured image
Yellow on the object map
Attributes:Metadata
Data that helps describe multiple object
instances
Could be used for sorting or filtering
Color, category, status, difficulty, expiration date
May shift into (or out of) object relationship
Pink on the object map
HowOOUXtranslatestoAPIdesign
Property
Attribute
Capability/CTA Operation
Relationship $ref
Object Model
Let’sgolookatan
objectmap…
OOUXisAPIrocketfuel
Core object relationship diagram is a
simplified ERD
Object map already outlines objects
(models), attributes (properties), and
relationships (references)
Metadata provides sources for enums
CTAs/Capabilities show where
interaction might go; helping stub out API
operations
Practicaltipsfor
OOUXingtheglow-up
Add API planning cues to cards
Highlight inbound data from another API
Suggest field names
Add examples of modeled objects to object
guide
Add operation types and names to CTA matrix
Morebenefitsfordevs
Not just API design: Jumpstarts data modeling
and content modeling in a more natural way
Allows common understanding and
vocabulary with designers and stakeholders
Reduces need to reverse-engineer designs
Provides a valuable way to participate earlier
on projects
SomeOOUXresources
“Three Reasons OOUX is a Game Changer for Your Digital Design Projects” by Caroline Sober-James
https://www.acumium.com/blog/three-reasons-ooux-game-changer-digital-design-projects
OOUX Podcast: Episode 17 — Using OOUX in the wild with Caroline Sober-James
https://open.spotify.com/episode/1XaH66M4UHCKXYhZqIwRyv?si=GWmGJBGxRHGVYekk4_COQw&dl_branch=1
“Object-Oriented UX” by Sophia Prater
https://alistapart.com/article/object-oriented-ux/
“The Object-Oriented User” by Sophia Prater
https://blog.prototypr.io/the-object-oriented-user-52c5bbdb246c
“UX for Lizard Brains” by Sophia Prater
https://alistapart.com/article/ux-for-lizard-brains/
“OOUX: A Foundation for Interaction Design” by Sophia Prater
https://alistapart.com/article/ooux-a-foundation-for-interaction-design/
www.ooux.com
Thankyou!
Caroline Sober-James
Director of User Experience
Acumium
cjames@acumium.com
608.709.7560

OOUX + API design: Love at first "site"