William of Occam had a theory, which is commonly called Occam's Razor. The pop-culture definition of Occam's Razor is:"All things being equal, the simplest solution tends to be the best one."
This is not really what William of Occam said but it gets to the crux of it for most people. The real theory is more elegant and has had a huge impact on philosophers and scientists. Sadly, Occam's Razor is also about as reliable a method of proof as statistics. (A really good article on Occam's Razor can be found here).
The validity and use and misuse of Occam's Razor is really not at issue here, I just felt it was important to point out that its not a done deal. That the simplest solution is not always the best. Why bother? Well its because a fellow NUI practitioner, Ron George, has chosen the notoriety of Occam's Razor to help promote his own universal theory of NUI design, OCGM (pronounced Occam).
OCGM stands for Objects, Containers, Gestures, and Manipulations. The idea is that OCGM provides a meaningful and common term that designers can use to describe basic components of any NUI design. It's really not meant to be a universal truth; Ron George just uses the pronunciation Occam because its easy to remember.
Ron George is no slouch when it comes to NUI. He was a member of the team that developed Microsoft Surface and even headed up a group focused on NUI design. He also had a hand in the development of Microsoft Direct Voice Interface for automobiles, MSN Audio.
While Ron George developed the theory and explanations of OCGM it was Joshua Blake who suggested the order of the acronym so that it sounded like Occam. So we have Ron George to thank for the theory and Joshua Blake to thank for remembering it.
I posted a really long blog post - longer than this one in fact - that challenged OCGM as the NUI equivalent to GUI's WIMP (Windows, Icons, Menus, and Pointers). In response to my post (and the questions of others) Ron George was kind enough to do a follow up post which explains OCGM much more clearly than his first post.
To help folks understand OCGM (not to mention myself for writing about something is the most effective way to learn about it) I'll try to explain OCGM as I understand it. OCGM says that any NUI interface (perhaps any computer interface) can be organized into two primary concepts: Items and Actions.
Items can further be broken down into Objects (basically the representation of information) and Containers (the relationship among pieces of information).
Actions can be broken down into Manipulations (any action by the user with immediate an usually innocuous results) and Gestures (any action by the user that starts a chain of operations which are not immediate and may not be innocuous).
To understand the differences between manipulations and gestures lets use an example from WIMP - a paradigm we all understand pretty well. A single cllick on an icon on the desktop is a manipulation. The icon immediately highlights and the action is innocuous. Compare that to double clicking on an Icon which will launch an application. This action is neither immediate nor is it always innocuous - just ask anyone who has accidentally installed a virus. The point isn't that manipulations are safe and gestures are dangerous. The point is that manipulations help you navigate and investigate an interface but don't do anything to information. Gestures are the actions that result in changes in information or the presentation of information.
After reading Ron George's latest post, "Welcome to the OCGM Generation! Part 2", I've come away a lot more comfortable with OCGM than I was originally. One of my biggest complaints was that OCGM didn't address a broad enough spectrum of NUI technologies. Most noticeably to me it didn't seem to address Direct Voice Interfaces. Ron has managed to deflect this criticism very easily by pointing out that some voice commands have an immediate impact ("Call Home") and are therefor a form of manipulation while others are more complex ("Make an appointment for 9 am tomorrow at Microsoft") and are therefor gestures. Of course this example doesn't exactly fit with what I said in the previous paragraph because "Call Home" as a manipulation is not innocuous, but that may be an error in my own interpretation.
So is OCGM to NUI what WIMP is to GUI? Possibly. At least I'm more convinced now than I was yesterday. There are, however, a couple of issues that I still don't understand.
As I said in my post yesterday, OCGM doesn't seem to account for what I believe to be two of the most important aspects of NUI design (or any UI design): Affordance and Feedback.
An affordance gives you clues as to what you can do. A graphical button looks like a real-world button so you get the idea that clicking on it will do something.
Feedback lets you know that the action you just took actually accomplished something or was at least recognized by the application. Highlighting an icon you just clicked on lets you know that you've selected that icon.
If Ron George can explain how OCGM encompasses Affordances and Feedback than I'll be convinced that OCGM works for NUI. Otherwise, I think OCGM is a great start that would benefit from an added "A" and "F".
UPDATE: December 31, 2009
Joshua Blake wrote an interesting and informative blog post which helps explain OCGM a bit more. In particular he helped me understand why Affordance and Feedback, although critical to UI design, don't actually belong in the OCGM metaphor.
Here is the comment I posted on his blog:
Excellent article! You've helped me understand that Affordance and Feedback , although critical to HCI design, should not be part of the OCGM. After all, Affordance and Feedback are not included in WIMP, but are still critical the GUI design process. OCGM is a higher level abstraction. Affordances, Feedback, and Transitions are addressed at a lower, more concrete, levels of abstraction. Nice work!
4 comments:
Hi Richard,
Sounds like you're warming up to OCGM! Good to hear. You also summarize the core idea pretty well here.
I just wanted to let you know that I'm currently working on a follow up post that should answer your concerns regarding Affordance and Feedback. I'll add a link here when I post it sometime tonight.
Thanks for contributing to the conversation -- your writing, even when you disagree, helps clarify and improve the discussion.
Richard,
Thanks for your insights!
I updated my rambling post to include a link to Ron George's "Part 2" and this post.
I'm still working on my "Part 2". (Maybe tomorrow, after things sink in.)
Hi Richard,
I saw your comment on my new post so I know you've seen it. I wanted to post a link here for the benefit of your readers.
Metaphors and OCGM
Thanks,
Josh
Hello,
Why no one actually mentions the context as an important factor of NUI based interaction? While present in WIMP in a way it's still influencing e.g. the meaning of gestures etc.
Besides, WIMP definition, while very focused, represents computer-side point of view. In my opinion OCGM is mixed with user-side a bit. Clearing this up might reduce the value of a gesture and bring the affordances once again to the table.
Cheers,
Stan
Post a Comment