Skip to content

Instantly share code, notes, and snippets.

@jxnblk
Last active August 29, 2015 14:06
Show Gist options
  • Save jxnblk/e44a3cfd6c1a2e53e37d to your computer and use it in GitHub Desktop.
Save jxnblk/e44a3cfd6c1a2e53e37d to your computer and use it in GitHub Desktop.

Object-Based Interface Architecture

Guidelines for basic user interface organization


What this is

This is an attempt to provide content-agnostic guidelines for structuring user interfaces and navigation patterns. These guidelines are more of a starting point than a final solution. They intend to be a methodological approach for defining structural patterns in user interfaces.

What this isn't

This isn't information architecture or application architecture.

Information architecture is deeply vested in content and understanding users' mental models. These guidelines are focused on utilizing scalable design systems for creating user interfaces.

Although there may be similarities and implied relationships, these guidelines do not attempt to discuss application or database architecture.


What is an object?

A simple sentence is composed of: a subject, a verb, and an object.

In a user interface:

  • End users are usually the subjects.
  • Users act on objects.
  • Objects have different methods by which they can be acted upon.
  • Objects have properties and may have states.
  • In community-based, social products, users can act on and seek other users.
  • Objects may have different relationships with one another.

Rough outlines follow

  • ownership and other relationships - creating and destroying relationships between objects
  • how are objects used: seeking, creating, editing, deleting

Navigational Hierarchy

(Browse-based, non-search-based navigation)

Single-Object Products

  • Filters and facets of the object
  • High-level object methods
  • User-related objects

Multi-Object Products

  • Objects
  • High-level object methods
  • The user
  • User-related objects

Secondary Navigation

  • Filters

Workflow-Based Products


Indices and Primary Methods

  • index
  • create
  • show
  • edit
  • delete

Secondary Methods

  • edit state
  • edit relationship
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment