It really is as simple as that. As a software developer, business analyst, or even project manager, you will find yourself tasked with designing user interfaces no matter how hard you try to avoid it. Clients will tell you how they want it to look and act, others on your team will provide input, and at the end of the day you’ll have to come to some decisions. This process may not prove all that difficult, but I want to provide you with a handy trick I use when assessing whether a UI design decision is the right move. Ready for this? Here it is:
Look at each decision you’ve made, and simply ask, ‘Why?’“
Links should be blue, you’ll decide. Next action: Why?
Each time we use the word MagicTouch in a headline, it should be followed by an ® symbol. Next action: Why?
A client will say to you, “I think it will look better if this text is center justified, rather than left aligned.” Next action: Why?
Stopping to ask why? will force you and others to think about the actual intended use of a feature. It will push you to think about user behavior, instead of random decisions. And most of all, it will teach you that you actually believe in what you’ve designed, because you’ll know you’ve thought it through. If at any point you can’t answer the Why? intelligently, you’ll know you have some rethinking and potentially redesigning to do.
This concept should be applied outside the world of design, as well. When you come to a decision, it’s never a bad idea to test it out with a well thought out Why?
In the end, it’s all about finding purpose. In everything, find purpose.
And with that message, I would like to share the news that I have decided to move on from ThoughtWorks. My time here has been tremendous and purposeful, but it is time for me to go try something new. If you read my blog via ThoughtBlogs, I invite you to subscribe to my RSS feed, because it likely won’t be displayed here much longer. Thanks, ThoughtWorks. I’ll miss you.
I spent nearly an hour this afternoon digging my car out from a pile of snow and slippery ice. I had done the same thing yesterday, though it was less ice and much more snow. Winter in a cold climate tests one’s will to commune. All those hours holed up indoors means that you’re not interacting with people, nature, or the world in general.
This afternoon I was convinced that it was time to get out. Time to persevere (against a zero-degree temperature) and try, at least a little, to get something done. So I packed my side bag and headed out to the gym. That’s when I met my hurdle: digging out the car.
I started the activity the way I normally do: by starting up the engine (because if it’s too cold for that to happen, then there’s no point in the rest) and blasting the defroster. I then brushed and scraped the car, and checked the tires to make sure they were in a good position to free themselves. Everything looked fine, and as I waited for my windshield to fully defrost I thought positively about how I would get out of my spot. I pictured the car rocking gently back and forth and then, almost comically, jumping out of its spot and onto the nice, soft, well-plowed street.
The ease of my vision was not to be in real life. I rocked my car plenty, but managed to get myself stuck and re-stuck three times. Yes, that’s right, I said three times. Each time I ran into my apartment building and grabbed the steel-headed shovel, ran back outside and cleared as much ice as I could away from the wheels. And each time I found myself stuck again, only to repeat the whole process.
Finally, in frustration, I decided to give up. This was enough of a workout for the day. Shoveling snow is not as easy as it may sound. You have to realize that that soft snowy powder that you may be picturing eventually turns into big, heavy boulders of ice and hard rocks. (This is why there are many heart attacks during winter…people forget how difficult it is to shovel snow.) As I surveyed where my car lay, I realized I was blocking an alleyway. So not only was I stuck and ready to give up, but I also had to do something to get myself unstuck.
Luckily, a nice man from the next apartment over had seen my struggle and came outside to offer a hand. After a bit of pushing he was unable to free me from the predicament. We talked about strategy for a few minutes, and then another man showed up. “Easy on the gas, real easy,” he said. Another couple of heaves and ten seconds later my car was free.
When I returned home a bit later after a drive to cool my insides down I found a nice parking spot that should be a bit easier to get out of. As I approached my apartment I spotted a car with its wheels spinning. With the driver accelerating, I pushed the car out of its spot. A few minutes later when I ran to my car to pick up the forgotten shovel, I spotted the man I had pushed out helping yet another stranger. As I passed he waved and said thanks, and I relayed my story of just an hour earlier. We laughed it off and shared a, “yup, it’s finally really winter again” moment.
This is what it’s like to live in Chicago. It’s a city that’s tough as it is soft. It’s a place where people push past and look out for each other. A place where we don’t interact much in the winter, but when it’s needed, people are glad to lend a hand.
This is where I live and despite the tough parts, I love when the gentle, helpful side of this city emerges. It’s like no other place I’ve lived.
So the big news on the internets today is Google’s new browser: Chrome. It’s only available for Windows as of today, and since I’m on a Mac I haven’t been able to play with it yet. But that’s ok, because Google hasn’t completely left me out of the loop. I have access to the comic interpretation of their engineering decisions.
Google Chrome Design Comic
Comics have been a topic of discussion in the Interaction Design Community for a while now. With Scott McCloud providing the art for Google’s message, they really couldn’t go wrong. McCloud has quite literally written the book(s) on creating effective comics. (Of course, you can create your own design comics too, thanks to projects like Martin Hardee’s Design Comics.)
One thing that I’d like to applaud Google for with this comic is their use of actual Googlers as the narrators of the story. Naming names like this gives credit to the actual thinkers behind the work. All too often in the business world today, we hide individuals behind a big corporate brand. In this example, these Googlers will feel real ownership and responsibility for their product, and they’ll be motivated to continue working on the project even if (and when) they leave Google. Of course, I’d also like to call out the fact that no User Experience team members were named in this document, even in the section titled “Search and the User Experience.” This is strange, and I hope there was a User Experience team dedicated to this project.
And another thing Google did well here was in not trying to over-engineer their explanations of highly technical processes. They simplified their message down to bare essentials, and I felt enlightened after reading this document. Most technical documentation talks down to people, assuming that all the basics are already understood. Google removed some barriers to entry by explaining their new technologies in a way that almost anyone with a little technical know-how can understand. This is something almost every other open source project out there fails at. Technical documentation is far more than simply documentation…it’s an implicit invitation to take part in the experience.
Browser Threads Vs. Processes
At the end of the day, I’m really impressed at the quality of this documentation. I actually read the entire thing, which is much more than I can say about the technical documentation for any other software I use. Who knew that I could find the difference between multiple threads and multiple processes interesting?
Well done, Google. Now I just have to find a Windows computer…ugh. I swore off those things months ago…
What if we could travel 5 miles in less than 5 minutes?
What if we could watch movies in our own homes?
What if we could buy things for a whole day without using any paper money?
What if we could communicate with friends on the other side of the world without leaving the house?
I hope you noticed that, in fact, we can do all these things today. However, a mere 100 years ago, these questions would have been dismissed as pipe dreams by most people. But dreamers dream, designers design, technologists build, and before you know it, really difficult problems find solutions.
This is why I try to take the long view when thinking about design problems. Today’s technology is ephemeral, it will be gone before you know it. But when you find solutions to the big problems, those interactions can last for centuries. So the next time you start a project, instead of asking, “What would the UI look like to solve this problem?” (or even worse, “What will the architecture of the software look like?”) ask “What if we could ________?” And fill in the blank with a really challenging problem.
After all, if you’re like me, you didn’t get into technology to solve tiny little problems. You got into technology to make lives better & jobs easier. You got into technology because there are challenging problems to be solved. What if you solved them?
Jono DiCarlo at Mozilla Labs documented his feelings about user interface design in a great post titled These Things I Believe. While I do not agree with him across the board, he does make some interesting points, and helps guide software developers toward the (great user experience) light. I’ll call out a few of his assertions here:
Software is for humans, not computers
This is the only absolute truth in the world of technology. Software architectures change, programming languages go through cycles of popularity, and code design patterns will be preferred by some over others. At the end of the day, though, the software we build is always being built to help some human be more productive, happy, or both, even if it literally has no user interface. Before building your next piece of software, I implore you to ask yourself how this software will make the world a better place, as Jono suggests.
People use computers to connect with other people
’nuff said. This is the only reason 99% of people use computers at all. (If you’re reading this, you’re probably not part of the 99%. That’s ok though, because you are not your user.)
There’s no such thing as free software
Open Source software is, by and large, really difficult to use. I would never leave my mom alone in a room with Linux, it’s just too cruel. Like Jono says, “Linux is only free if the value of my time is zero.”
The job of the UI Designer is to provide what the users need, not what they say they need
This paradoxical statement succinctly defines what it is that I do for 40+ hours every week. There are various methods that provide clues as to what users really need, other methods that design for those clues, and still other methods that test whether the users’ needs have been fulfilled. What I do at work all day is carry out those methods.
User interface design can be approached scientifically. But usually isn’t.
This is where Jono and I will disagree. He lays out a list of metrics that can bring about statistically significant results when it comes to usability testing software. My clients frequently argue to me that if we drive down the number of clicks in an application it will be easier to use. I don’t care about click counts. I’ve seen well liked software with high click counts, and hated software with low click counts. On top of this, while gathering metrics based on click counts, frequency of use, time on task, error rates, and error frequency may get you some information about your software (which is good), these methods never tell you how to fix the problems. Real world, in-situ usability testing will tell you these problems, and suggest solutions.
It is a sin to waste the user’s time, break the user’s train of thought, or lose the user’s work.
Yup, sin is the right word to use here. Have you sinned lately?
Thanks to Jono for creating this list. Maybe one day I’ll make one of my own.
As your local Interaction Design opinion one-stop-shop, I feel obliged to weigh in on Aurora, Adaptive Path’s newest concept series in collaboration with Mozilla Labs. First off, if you haven’t watched the videos they’ve published so far, do that first:
There are a few more videos on the way, but those should be good enough to kick off a little commentary.
First off, it should be noted that envisionment videos like these have become an often used tool for Interaction Designers. When you’re intent on creating an experience that does not yet exist out in the world, an envisionment video invites viewers to see how people might be impacted by new technologies, and allows technologists to begin to build the future. Bill Buxton describes Envisionment Videos in his already classic Sketching User Experiences:
As their name suggests, these are clips that are created to communicate some holistic view showing an envisioned system in context. Unlike many of the examples that we have seen, they go beyond just presenting a demo. Rather, they usually are built around a narrative that tries to capture a way of working with technology, as opposed to the design specifics of the device itself…Overall, they are very much part of the story-telling tradition of design.” - Bill Buxton
If you’d like some more examples of envisionment videos, I recommend checking out the ones Buxton discusses in his book:
One of my favorite envisionment videos is HP’s Cooltown, which is extremely polished, but a cool look at the “future” nonetheless. Unfortunately, it seems that the concepts in HP’s video have not come to fruition, at least in a way that impacts HP’s wallet. That’s the way of many of these videos, though. They tend to be so forward looking that one company could not hope to build tools to enable all of the concepts in the sketch, at least in the short term. But, the videos can be used as a guide to the company’s long term future. For example, we’re seeing concepts from Apple’s Knowledge Navigator come to fruition only now, many years after the release of the video.
When it comes to long-term vision, I believe that the “just-in-time” philosophy causes Agile methods to fall apart. See, from the Interaction Design point of view, technological innovation occurs to solve big & ugly human problems. Agile methods encourage developers to build the simplest thing that works in the hope that incrementally (and sometimes iteratively) big & ugly human problems will be solved. But the whole solutions to the big & ugly problems are often not the sum of their parts. More often than not, it takes a long-term strategy to solve these issues.
I’m not saying that the Interaction Design and Agile Development points of view are too incongruous to come to terms. Quite the opposite, in fact. Long-term visioning Interaction Designers and just-in-time Agile developers should be able to come together to solve those big & ugly human problems, but must agree that their day-to-day goals are not the same. I’ve seen too many Interaction Designers called in (myself included) to tweak an already developed application’s interface when the entire vision of the product is unclear.
I just returned last night from the Agile 2008 conference, and if there’s anything I learned there, it’s that Interaction Design and Agile Development are friends, not foes. However, we need to work together to understand our separate goals and outputs. At the end of the day, both groups need to be successful if we want to build great software.
So Agilists, let’s think about long-term vision a little bit. Let’s create some quick & dirty visions of the future. Then let’s build the heck out of them.
And finally, to return to Aurora, I simply want to say that I am really enjoying the videos. Is this what the future of the web browser will really look like? If the other videos I mentioned are any indication, probably not. Still, there are some fantastic concepts packed into those short videos, and we have a lot to learn from them. I wouldn’t be surprised if many of those concepts do see the light of day, and at the same time I won’t be holding my breath.
(If you’re reading this from a feed reader, you’ll want to jump to my site so you can see the images.)
Today I want to talk about something a bit academic. More of a thinking game than anything else. I chose to start with Graphic Design because, well, it seems a bit more established as a field than Interaction Design and I think there’s a lot we could learn from them.
In two-dimensional graphic design, a core set of elements have been defined to specify the designer’s most basic toolset. These three elements can be combined to create a rich array of visual objects that give the designer near limitless options. Let me explain visually:
Consider the Point
A Point simply denotes a position in space. Many points in space can show contrast, and from an appropriate height will tend to show texture. This is the most basic of the basic graphic design elements. But oh so much can come of this simple dot.
Many Points Make a Line
If a Point is made the first time a piece of chalk is touched to a chalkboard, then a Line is created as that chalk is dragged across the surface. That Line is an infinite chain of Points, or the connection between two starting and ending points.
Lines create Shape
Moving the chalk perpendicularly to the original line creates an intersection. Multiple intersections eventually create shape. That is, when multiple Lines are strung together, they take Shape. Shape is where we begin to embrace the power of visual imagery. People will create meaning out of multiple shapes strung together, and the meaning that is elicited is the core goal of Graphic Design.
Where are my elements?
Of course, this is by no means all a Graphic Designer must know to be successful. This is just the start. In Part 2 of this series I’ll consider Dan Saffer’sElements of Interaction Design. Prepare yourself for that.
And she’s right. I haven’t uploaded pictures in a long time. I’ve slowly stopped putting myself out there, up on the web. I don’t know why. Mostly I think it’s because I’ve been busy. I’ve been spending far too much time on planes. And at work. My brain has just spent too much time running.
I need to idle. I’m ready for a break. In 3 weeks Karen and I leave for Costa Rica. We’re not running away (this time). For now we’re just off for a quick vacation. Any recommendations? We’re looking for good stuff to do.
I’m home this week. It feels good so far. It feels like a real change of pace. Part of me just wants to stay here indefinitely. Travel is hard on the body and soul, and I’m in need of some repair.
Look out for some more substantive posts. Soon enough, my friends, soon enough. Tide yourself over with my sister’s adventures throughout the middle east.