I was looking at this as I logged into Facebook earlier and noticed that when you click on "Live Feed" or "News Feed" it becomes first in the navigation list bumping the other one over. Does this seem really counter-intuitive to anyone else? Not to mention that I can't even decide which one I really want to look at and it doesn't remember my preference. My proposition would be to put this stuff into fixed tabs that don't "jump around".
via Seesmic
I've been doing a lot of reading about usability. It's made me think a lot about the user experience when I'm designing and developing. It's also made me think a lot about the user experience when I'm NOT doing anything computer related.
I recently went to the Lego website to try and get a catalog sent to my house. I remember reading through these catalogs as a kid and coming up with all sorts of creative things I would be able to do when/if I received a certain set. Heck, half the fun for me was just looking at what the Lego designers had come up with. So yesterday I wanted to order a catalog for Andy, my 2.5 year old son, as he's been really enjoying our Lego collection. When I got to the last screen in the slideshow and tried to go back to re-enter my correct age, it wouldn't let me! It cookied me and I had to clear my cache to be able to re-enter the form information. Grrr..
[Here's the catalog request form, so you don't have to hunt for it] :)
I went to fill up my car the other day, and wanted to pay at the pump. There were 2 icons to display the "right" way to insert my debit card... which one was the right one?
(As an aside, I realize the irony in posting about usability failures when Posterous won't even let me select a single image to display underneath my headings. It wraps them all up into this slideshow. Hey Posterous, if you're listening, how about an interface that allows me to select and insert single images that were uploaded as part of a bundle?)
Since my excursion to AEA '09 in Boston I've been doing a lot of thinking about all of this "User Experience" stuff. Much of what Andy Clarke said in his Walls Come Tumbling Down presentation has been ringing around in my head, resonating with so much of my experiences over the last few years. Without diving into the entire presentations coverage of the current economic situation being a stimulator for workflow process change, I want to focus on a few thoughts from 1 slide in Andy's presentation.
"Designers work on static look and feel visuals"
There is a design disconnect problem when the medium we publish to (the web) doesn't match the medium we design in (static images). The web is dynamic, elastic, portable, modular and can be repurposed in any number of ways. Many web designers work in Photoshop and Fireworks to produce mockups that are static, rigid, not portable and often discarded after the initial design process. By designing in these static tools it is nearly impossible to answer the "what if?" type questions that we need to be asked in order to improve the efficiency of our design process and, most importantly, the usability of our websites and applications. What if the font size is increased by the user? How does that affect neighboring content? What happens if this column appears second in the markup? These things are all dynamic in nature and these questions cannot be effectively answered when the tool we use to produce mockups is static in nature.
"Designers and developers often work separately"
I firmly believe that if we are to improve the user experience of our applications that designers and developers need to work in harmony from the very beginning. Traditional "designer/ux" work processes such as paper prototyping, white-boarding and lo-fidelity mockup construction should be participated in by developers. In fact, the entire design process needs to have input from both designer and developers in order to be successful. Far too often designers pitch concepts and hi-fidelity mockups "over the wall" to developers once things have been finalized, creating a disconnect between the two; this promotes division and resentment. Designers often don't understand the limitations that might be imposed given the technology that developers have been given to work with, and developers often don't understand the usability considerations that went into design decisions. Developers might have insight into usability based on past experience that can go unheard because they aren't included in the design process, and designers might know what the best way to develop a certain feature might be. (You can see how this could go on and on).
In a perfect world we'd all be designer/developers with the capability to have enough foresight to solve all these problems before they happen; unfortunately this is not a perfect world. I think the solution to this disconnect isn't that complicated though; mutual respect for each part of the process is a start. If design and development can co-exist with unburdened communication in the early stages of a project things will be in much better shape. Part of this has to do with breaking down the traditional barriers that seem to exist between these two disciplines, but I believe Kent Beck covers this subject in much more elegance than I would.
"Testing, by users and for browsers and accessibility comes last"
It's interesting to me that the people we build websites and web applications for are often consulted last when it comes to design and usability considerations. Even when there are people on a project team who have usability experience it seems that _they_ are the ones consulted when really we should be pouring our initial efforts into getting feedback from potential users. It is so arrogant of us as designers/developers to make assumptions about what is "best for the user" without ever asking them. This can be a hard problem to tackle because many teams don't have dedicated testers and some teams utilize developers to do nearly all of the functional testing. Developers _can_ test, but they aren't the best testers in my opinion; developers are often working in an isolated area of a website/application and don't have the "birds-eye view" required to really understand how all of the components fit together. When developers are the primary people doing user/functional testing, and this testing comes at the end of an iteration it can lead to design implementations that often overlook simple usability problems.
These problems are all solvable, they just involve a lot of open communication and respect between developers and designers and the willingness to abandon processes that are based on static models. The web is dynamic and we should be in our design/development methods as well.