I’ve been so busy at Bloomberg I haven’t had the chance to write anything new, even though I have a few things cooking already. I got this email from a reader and asked her permission to post. Enjoy.
Hello,
I’ve been reading your articles about OCGM and found them quite interesting, thanks for sharing your thoughts. I was intrigued by your statement, saying that you were
“not a fan of UI DESIGN PATTERNS”.
“When designers could and should be thinking outside of the typical experience, they rely on a “crutch” called a UI pattern.” Say you are to implement a login feature to your application/site, couldn’t you rely, at least partially, on what’s already been done ? And so on for search, breadcrumbs etc.
“Those patterns were developed by City Engineers because there were only so many different ways you can put 3 buildings on a city block.”
Are there many more possible solutions in HCI? Isn’t one of those solutions better than the other (id “the pattern for this problem”) ?
In my opinions design patterns are like having an HCI expert team at your side (don’t remember where I read that). You are not compelled to use them everytime, but it’s nice having them for some tasks.
I’m genuinely interested in hearing your opinion on the matter. I hope my bad English doesn’t sound angry, I assure you that’s not the feeling.
Regards,
Jocelyn
The problem with patterns are they do not exercise the mind or further the experience. Having a book of patterns at your side is very unlike having an HCI Expert on your team, because those are just cookie cutter solutions. HCI is not math. There is not one simple solution to every problem. My main point is to reach further than what has been seen so far. Just because its the most popular, or most successful at the time, does not mean its correct.
The primary difference between math and HCI is that HCI contains people, and people change in expectations, considerations, and needs, among other things.
Design patterns will never substitute a person that has been trained in the field and is willing to challenge the norm to find something unique and innovative. Design patterns are the antithesis of innovation.
If it’s ok with you, I would like to post this on my blog with my answer. Ive been meaning to write something new. :)
“The problem with patterns are they do not exercise the mind or further the experience.”
This is a very valid concern.
“Just because its the most popular, or most successful at the time, does not mean its correct.”
So very true (isn’t it even called “the Smashing Magazine Effect”?).
Yet I cannot help but notice that conventions people are used to, physiological stability of the user, recurrence of problems (again, a login form) make for a quite repeteable set of constraints, thus theremust be some repeatable solutions, be it patterns or another artifact.
You say that patterns are numbing creativity. After reading your answer, I agree, but partially : pattern overuse (eg relying on others work to solve every problem) is nefarious. But it doesn’t mean you shouldn’t have a look at whats currently the best practice ; you cannot push the enveloppe on every component on a given project. Or maybe sometimes you just have to get it done for yesterday. Or you need an overview of available solutions before diving in. Or you need to share knowledge. In those case, patterns are well suited (imho).
After a bit of pondering on your message, I’ll keep that: there’s a place and time to use patterns, it’s not a solution ex machina. But it doesn’t mean knowledge reuse is never appropriate. What’s your opinion? Is there any form of reuse that fits you better, or do you take them all for dumbing practices?
In any case, thank you very much for taking the time to answer, it is much appreciated. It’s totally ok to post the whole thing as you wish. Last of all and on a totally unrelated matter : would you recommend any resource pertaining to touch/multi-touch interfaces (I’m talking rugged tablet PC rather than iPad)? Thanks in advance!
Regards,
Jocelyn.
Thanks so much for writing in Jocelyn!
Well it’s been a chaotic few weeks here in wonderful Microsoft Land. I have been getting tons of questions about some things I said at CHI. Apparently, unknown to me, a few people overheard me talking to some SOFTie colleagues and telling them that I was planning an external move soon. What that means is I was planning on getting another job, but not at Microsoft.
ProTip: A “move” just means you are shifting teams, an “external move” means I was going back into the world. Its rare that a Microsoftie goes back out into the world. It really is an incredible place to work.
Here is a small “guide” to Ron.
So where does that leave us? Well, I’m trying to lead up to where I am going to next. My last day at Microsoft was Friday and I am busy preparing to move across the country.
So what is my next challenge? I think it is the most complex problem in the User Experience world at the present time and just thinking about it gets my brain pumping.
This interface is complex, rich, and mind-blowing in size and scope. I think this article really sums up a few of the problems, but also makes some wrong assertions as well.
http://uxmag.com/design/the-impossible-bloomberg-makeover
I think the best line in the article is this,
“Redesigning the Bloomberg Terminal would be any interface designer’s dream.”
You are correct, and if I have said it once, I’ll say it again… I am living the dream. See you in New York!
Further Reading:
Google image search of examples of the terminal.
An interesting visual history/lineup of past terminals on display at Bloomberg
Currently looking for a full-time/on-site Senior Interaction Designer to work at Microsoft. You will be working on a product team on a new product offering going into the Office Suite. Your impact could be substantial, to say the least. The product is a Silverlight Product, so your knowledge of Silverlight should be high, including capabilities, application experience, and pushing the limits.
I know this is a bit late, because my co-author has already reported it, but I am very happy to announce that some ears have been listening. The CHI ’10 Workshop, “Natural User Interfaces: The prospect and challenge of Touch and Gestural Computing” has granted an audience to the new metaphor for design.
The workshop is going to be an all day event on Saturday, where each of the authors will present and offer discussion about their position papers. The real benefit of this is that in such a narrow expertise, you really get amazing peer reviews and leave with amazing new ideas. These types of scoped interaction gatherings are a wonderful thing to foster innovation and creativity. It’s like a specialty conference inside of a specialty conference.
One of the most interesting things, as I read the position papers that were accepted, was a cite from my writings. In the paper, “Natural User Interfaces: Why We Need
Better Model-Worlds, Not Better Gestures.(PDF)” the authors argue the need for separation between “symbolic gestures” and “manipulations.”
Manipulations are not gestures.
We believe in a fundamental dichotomy of multi-touch
gestures on interactive surfaces. This dichotomy
differentiates between two classes of multi-touch
interactions: symbolic gestures and manipulations.
They go on to define each specifically.
For us, symbolic gestures are close to the keyboard
shortcuts of WIMP systems. They are not continuous
but are executed by the user at a certain point of time
to trigger an automated system procedure. There is no
user control or feedback after triggering.…
The opposite class of multi-touch interactions is
manipulations. Unlike symbolic gestures, manipulations
are continuous between manipulation initiation (e.g.
user fingers down) and completion (e.g. user fingers
up). During this time span, user actions lead to smooth
continuous changes of the system state with immediate
output.
It is a lovely way to differentiate the two and I couldn’t agree more. As the crevasse between the two interactions widens, we begin to see many more differences. I have gotten a few emails from bewildered Interaction Designers, both young and old, asking “why do we need this separation?”
The answer is not quite as apparent as it will be in the next few years. We need this distinction because designers and developers need to think about experiences differently. We need to plan and design for interactions in a fluid and responsive way. Arbitrarily throwing a manipulation on a destructive action, could have dire consequences for the user. Using a complex gesture for a simple help menu, would create a pause in your user’s experience.
You have a pile of sticks.
Think of the sticks as Objects. Think of the table as a Container. Now let’s examine the relationship between the two. The container contains many objects, therefore operations executed on the container will have multiple effects on each of the singular instances of the objects.
Now, let’s give you a few things to do those operations. First, let’s give you a hand, which we will call a Manipulation. Then let’s give you a chainsaw, which we will call a Gesture.
To move the sticks, to rearrange them, to take them in and out of the container (on or off the table) we can use a hand. It might not be the most efficient, but it gets the job done and we can do these methodically. All the while, we can always undo our actions easily.
If someone comes up and talks to us, we don’t hesitate to respond because there is nothing really at jeopardy here. In fact, it might be nice for someone to come up and interact with us while we are doing these chores.
This also puts us at ease. We can do these things and if we get interrupted, we have no stress. Why? Because everything is undo-able. Things are easily moved back and forth with no real consequences. Even if we push the entire stack to the ground, we can easily pick them up and put them back. One handed.
This is the physical realization of a manipulation.
Now, we take your chainsaw. This is a complex piece of machinery. This is going to take focus, intent, and possibly a plan to implement. The things we can do with this are destructive, irreversible, and should be taken with care because they could damage other things around the single container or multitude of objects.
We consult the manual, don safety gear, check the gasoline in the chainsaw, pull the handle, and then fire it up. Each one of these actions were simple and were not harmful, until they were combined. Combining all of these harmless manipulations results in a gesture that could do harm.
Let’s think about what we just did though. We had to do things in a certain order, we had to do each of them, and they were predetermined by something other than us.
Now could we take our gesture chainsaw and destroy the Container and all of the objects inside? Yes. Could we also affect other containers and things in the vicinity? Yes. There is no undo, when its done its done.
This is the physical realization of a Gesture.
So I digress….
Why is it important in interface design to distinguish between the two? To promote a better experience through expected interactions and results. Do you want your users concentrating on the most mundane of tasks? Let your user relax when they can. Do not make them concentrate on these details of where to move an object when they don’t have to.