Thursday, January 31, 2008

Would you miss Usability if it weren't there?

I've firmly believed that developers have as much to do with user experience as designers and functional analysts or product managers - if not more. Look at the checkbox in the screen that says "Erase after Importing".


Thanks to the way it is implemented, you can check/uncheck it anytime during the import process, any number of times. It just picks up the last state of the checkbox after import is done.

Obvious, you may say. But let's look under the hood to understand how this could have got killed.

The right way to implement this is (don't read too much into the syntax, this is just to illustrate the example):

for (int index: items) //for each item{
import(index); //do whatever it needs to import
}
boolean eraseOnImport = chkErase.getValue();// read the checkbox state

if(eraseOnImport){
for (int index: items) //for each item
{
delete(index);
}
}

A developer could at the code above and say - Whoops! 2 for loops iterating over the same list is suboptimal - so rewrite it as:

boolean eraseOnImport = chkErase.getValue();// read the checkbox state
for (int index: items) //for each item
{
import(index);
if(eraseOnImport){
delete(index);
}
}

Less lines of code, less variables used, less memory consumed, less processing time.
Two birds, one stone.
All valid code optimization techniques.
Wonderful.
But as a feature, this would mean - the first state of the checkbox gets read. You cannot change your mind once the import starts.


The lack of the flexibility doesn't make the feature less usable, but its presence pushes the usability up by a notch.

It is small things like these that constitute the difference between Customer Satisfaction and Customer Delight, don't you think?


Sunday, January 20, 2008

The six disciplines of User Experience

As envisioned by Donald Norman and inspired by his book "The invisible computer".
The following skills are required for building the best user experience into a product (could be any product from hi-tech to manufacturing)

  1. Field studies - Observing potiential users doing their tasks in their normal settings. Skills require careful and systematic observation and usually come from the fields of anthropology and sociology.
  2. Behavioral designers - People who create a cohesive model for the product based on a detailed task analysis of the users. They mesh the task requirements with the skills and capabilities of the intended users and this model becomes the basis for engineering design.
    Skills required for this come from the cognitive science and experimental psychology.
  3. Model builders - People who rapidly build prototypes and product mock-ups that can be tested even before the real technology is ready. Skills for this usually come from people with a designing and programming background (information architects) and architecture and industrial design.
  4. User testers - These people are usually involved in performing usability and feasibility studies. Through rapid user-testing studies , they enable to iterate through designs in order to meet the real needs of the users. Skills for this come from experimental psychology.
  5. Graphical and industrial designers - At this stage, the aesthetics of the product are brought in through people who have experience in graphical and industrial design, and the "joy" and "pleasure" of using the product come into picture. Not only must the product designed merge the conceptual model and behavioral aspects but it must also meet varoius requirements of technology. These skills are usually brought in by people from schools of art, design and architecture.
  6. Technical writers - The goal of these people should be to show the technologists how to build things that do not require manuals. However in the real world scenario, they are usually brought in after the product is built and are asked to write usage manuals. The technical writers should be able to understand the audience, what the intended users require of the product and how they can go about getting their tasks done through the product. The technical writers should be an integral part of the development team, so that the product is built so well that no instruction manual will be required.

So here's the deal, in a typical technology product, there is no luxury of time to go about doing all the above mentioned steps and in many cases some of the steps can't be executed because the target audience characteristic is too far and wide.

What do you think is the best model that can work for a typical web based application scenario in order to make sure that the real needs of the user are met ?




Thursday, January 10, 2008

Feature Design Open Challenge

What goes on in your mind when someone says Library Management System? You usually dust it off with "College project", "Oh, no! Not another" (even "fake resume"). True, designing or developing library applications is treated like a Hello world problem for spec creation, feature breakup, OO design and development. It is a rat trap, a wheel, that someone is always reinventing.

Why am I writing about it then?

I discovered this wonderful feature as I was looking for a book at my local public library. (See highlight below).



There, amongst all the actions/searches clutter (we'll discuss the form design later) was a "Nearby items on shelf".

The closest one could come to actually browsing books in the library. I'm sure you have spent enough time in libraries and bookstores browsing shelves to know how valuable that is to discovering books. Translate this into online KPIs - more time spent on the site, potentially more transactions.

The more I thought about it, the more I realize that designing (I include spec-ing) this feature isn't straightforward - it isn't a "find more in category" or "more by this author". It could be as simple as a list of next accession numbers or as complex as a recommendation engine (a virtual shelf opens up possibilities).

So here's the Open Challenge: How would you design this feature? What would your search results show, how would you arrange the shelves and how would you handle special cases? The best idea gets a Barnes and Noble (for US residents) or a Crossword (India) gift card.


Wednesday, January 2, 2008

Did I hear UX in enterprise ! Yippie

Great piece of news to kick the new year off :
Fresh from Ajaxworld News Desk: 2008 Prediction: "The User Experience (UX) Meme Will Reach the Enterprise" — In SYS-CON's annual round-up of technology predictions, Brad Abrams, a Group Program Manager at Microsoft, highlighted the likelihood of what he called 'the UX meme of the consumer facing world [leaking] into the enterprise' and noted: 'The days of the battleship gray, forms of data application as the king of the enterprise are numbered because of an imperative towards richer visualization of complex and interconnected data. While there will always be a need for the traditional sort of application, by the end of 2008, it is no longer the only element of the corporate landscape.'

But then, we saw it coming for a long time. Thanks Brad.

I would like to take this argument a little further to another natural extension , yet long overdue rethink on UX in the enterprise context. Bear with me. This might test your patience and mental image of the UX meme.

Think enterprise UX and a strong association with enterprise software automatically emerges. Enterprise software with battleship gray and passport registration forms variety. A mother ship software orchestrating faceless departmental warriors and well oiled processes to get things done the way your TQM charged COO prescribed it. Or the one your CTO from DOS/mainframe generation felt 'fits the bill'. And in case your CXO comes from the Led Zep fan base ( count yourself lucky), you might get a blog or two, pastel grey shadows and maybe even an internal portal for free exchange of ideas and movie tickets. Life is good. So, in this year, expect major UX related investment to repaint your mothership or expect to see your cool dude CXO to be featured as Time magazine’s person of the year for revolutionary thinking.

So what's that got to do with UX as we know it ? Couple of key things are horribly wrong in the above imagery :

1. The very definition of UX in enterprise context - that's a semi metaphysical point.
2. The implication of UX in enterprise context - the hard hitting, almost physical point.

#1 : Forgive me this digression but enterprises ( and all associated paraphernalia like process, people, promotions) exist for delivering value to clients/customers. So, by definition, UX in this context too might just anchor around them. Fixing enterprise software UX is a worthy pursuit( about time too) but it goes far beyond that. I would like to believe that the U in UX for enterprise refers to the customers and that's what the UX design should focus on. So, you accept the point and you build your flagship product with kickass UX designed in. Good, you are already in a progressive minority. But what if your product is essentially a service ? Now, you are one amongst 90% of all listed business. Bad place to get stumped. Ergo : Think hard and think differently. Then the problem statement for UX in your enterprise reads [How do I design for UX in my client facing services ?]. It's a fundamental shift in UXthink in the enterprise context. A. It has got very little to do with products .B. It has got a lot to do with people who do not use your enterprise IT. Fix the internal ERP and CRM UX and you have essentially designed for the wrong set of users! Enterprise SOA is good, single sign on is smart, knowledge wikis are cool but they are not an end in themselves. They exist to deliver something else to someone outside your org boundary.

#2 : If you did accept my point above, we have agreed to look at designing a customer experience around your service. Now, that's something that has very fluid boundaries. You might look at it as a buy-sell experience and be done. Or you might look at it as creating a lasting partnership. Not that one is better than the other though lot of gurus have extreme opinions about it. That's beside the point. What matters is your customer's experience during each and every contact. What one might call moment's of truth. The mad minute when all he has read and heard about you is forgotten and all that matters is the specific experience during that call/meeting/handshake. Moment's of truth can be physical, remote or anywhere in the space time continuum [linkedin profile, blog posts, website popups, office design, the lady in your reception, even your office fire escape ! Yeah, we had one customer checking that out too !]. And he/she is absolutely right in forming opinions based on each of these. It is his idea of forming tangible ideas about the intangibles. And designing such experience levers ought to be the key UX design goal for the enterprise.

That’s a pretty hard nut to crack. For starters it is an open ended problem. And it is an all pervasive challenge. Think of it this way. Your top 10 customers meet your CEO once a month/quarter depending on how big you are. So, that’s 1 moment of truth delivered flawlessly by an experienced champion. But the same client talks to your helpdesk thrice every day, meets your project lead once a day, accesses your invoice systems once a month, reads the change request form once a fortnight and it may not even be the same guy who is doing all this. Hence the number of ‘moments of truth’ are order of magnitude higher. Is the enterprise UX designed to make life easy for him ? How do you fix them one experience at a time for the organization you belong to ? Can we define workflows, persona, experience skins or do rapid protos ? Whose responsibility is it anyway ?

If you belong to the overwhelming majority who delivers services for a living , how do you think beyond products and apply the concepts to intangibles ? And oh, do fix that internal ERP UX while you are at it.

Tuesday, January 1, 2008

Ux Unleashed Roundup of 2007

A very happy new year to you and your families on behalf of the team that brings you Ux Unleashed. Thank you all for giving Ux Unleashed your time.



Thought I'd spend a moment rounding up some of the posts in Ux Unleashed that stood out - each for its own reason. The idea is to give you a sampling of whats gone by, no grading or rating of any sort.

It all started with Sunil's holler in the darkness with a suggestion on making MSN Messenger smarter.

I'd like to say there was no stopping us then, but thats wrong. We took some tangents before we our bearings right, but we got there. From product reviews to humor, from ipods to irons, we've covered some range. And in some sense we're still getting there.

I'm opening the jewelry box to show off the gems.

First, some insightful posts that probably deserve to get some more readership. These were written early (when we had very few readers): Arun's post on data representation, Kiran's post on Web 2.0 UX, Sunil's post on implicitly rating media content. I loved these, let me know what you think of them.

Upma's post on Invisibility mode in GTalk is an SEO dream come true. According to our site analytics, this post is the most common landing page from search engines thanks to the use of niche keywords. A lesson for us bloggers.

Some posts that caused debate and discussion:



Sunil wrote this post about a common mistake while sending attachments, and there were some
pretty diverse solutions suggested. I suggested a non-obtrusive solution and wrote up a mini-spec in this post. Sunil abstracted it to a philosophical level, and I quote from his post (some typo corrections mine)

Good user experiences make things happen - the way you wanted them to - without you having to. By being a natural extension of the thought process. Compensating for discipline or memory or structure.

Better user experiences are not noticed. Just enjoyed at a subconscious level. Like a walk on a quiet beach at sunrise.

Which were your favorite posts or topics?

What was the most memorable post or remark you've seen on Ux Unleashed?

Tell us about it. (You can omit linking to posts while commenting if its too much effort to search the archives.)