This is something I've wanted to post about for a while... Scott Galloway posted today about UI Frustration so I thought I'd chime in. I've always been interested in this concept of an OOUI (object-oriented user interface) in which you break the application down into “Objects” with a type, methods, properties and events... I've been using this successfully for a number of years, and I really can't find anything better for Web application UIs.
So how does this work? Start out with a big old tree/table-like view to hold your root and related objects. Tabs are used to show different views of the object tree. Main navigation is used to navigate to different object families. As with OO programming, your UI objects will have a type, methods, properties and events.
- The “object" has a "type" represented by an Icon and hyperlink title
- Clicking the object's title opens it's properties
- The object's "methods" are accessed by clicking an icon to the right-hand side of the row's tree
- This comes naturally to users used to right-clicking on Windows objects
- The object's sub objects are treed beneath it
- When events are raised, the object's icon animates
- Objects can be selected by clicking a check box to the right hand side of the object
- Methods that don't act upon a specific object are represented as buttons above the tree, and can optionally act upon selected objects.
So what does this all look like?
So, as you read this, you may say to yourself “duh!,“ but it really does help to keep this structure in mind and adhere to it throughout your application.
-B