Tuesday, August 15, 2006

Usability and Intuition

I am going to stop using the word "intuitive" when I am talking about software and I think that everyone else should too. Judging from a Google search on my blog, I seem to be doing a good job of not abusing the word so far. But I want to use "intuitive" even less. The problem is that when people say that something is "intuitive", they are implying that it makes intrinsic sense to any rational human being. However, what they really mean is that it makes sense to them based on their own frame of reference. This is, of course, irrelevant to anyone who does not have the same exact frame of reference. So rather than say something is intuitive, why not say that it would probably make sense to someone that is used to using software XYZ and not be so egocentric?

I understood this point at some level for a long time but it became really obvious to me recently when someone I know was having a really hard time learning to use a Mac after years of being a PC user. I am not naming names because it is so uncool and potentially socially alienating not to gush over the Mac UI. The Mac and Windows are similar in some ways and, in others, they are very different. Those differences are extremely disorienting and frustrating when all you want to do is move around the computer with the instinct that you have developed over the years from using another platform. You learn to use a computer. You are not born with the instincts to use one. Therefore, it is not intuitive. Duh.

That is not to say that a software program cannot make itself become more learnable by behaving consistently across its different functions. I think that is what people sometimes mean by the word intuitive - a user can infer how one feature is going to work based on behavior of another feature that the user has already learned. For example, if the application always has right-click context-sensitive menus, a user trains himself to right click when trying to execute a function. However, there is no innate, primordial instinct to right-click. The user is must making logical assumptions after getting over an initial learning curve.

Despite claims of intuitiveness and user-friendlines, usability is probably the single most vexing issue in the content management industry. Most people don't like their content management tools and undermine their employers content management efforts by working around them. So what can be done to solve this problem? If you let go of the intuitive myth, you can go in two general directions: you can accept that people will need training on software; or you can try to mimic things that you know your users are familiar with (in other words, piggy back off of someone else's training). Both of these have their issues and chances are, you will have to do a little bit of both.

Over the past few years, we have been conditioned to expect that software can be deployed without training. Years ago, when I worked for relatively large companies there were regularly held training sessions on how to use critical business applications. I see less of that now because of standardization on suites like Microsoft Office. If you don't know how to use MS Word, you probably wouldn't get past the first interview. There is also now a critical mass of experienced users so that a newbie can "groundhog" over his cubicle wall and ask - so training is happening, just not in the classroom. Public facing web applications are even harder to train people on because new users arrive totally spontaneously. Online help somewhat solves the problem but people seem to be reading this less and less.

The mimic strategy is in tension with the software industry's culture of innovation. Companies want to differentiate. They want their customers to upgrade to new versions. Software designers and developers like to be clever. Users don't want to be clever at all. They don't want to think about the tool. They are totally focused on their business task.

Back in the early days of the web, things were really chaotic with web designers actively trying to break conventions and build something unique. This was when you had all those websites with tiny text and icons meant to be cryptic. For a little while, that was OK because the web was recreational and users were into exploring and appreciated the reward of finding hidden gems. Now that the web has matured into a business tool that people need to use to get their job done, websites look a lot more uniform: tabbed or left side navigation, a footer of informational links, search and help on the upper right. While not truly "intuitive" these designs are familiar to someone that is used to visiting websites. Designers have learned to focus their creativity to solve specific problems within a uniform framework.

Both of these practices can and have been applied to content management interfaces up to a certain point. You see contextual help and you see user interface patterns modeled after familiar business applications such as Office. You even see content management software using familiar external tools as work environments - for example, authoring in Word, Outlook integration, dragging and dropping files like in Windows Explorer. However, these strategies tend to break down when dealing with concepts specific to content management. For example, versioning is totally beyond the physical desktop metaphor on which most desktop applications are based. Most users don't get versioning because it deals with a fourth dimension (time) that is not well represented in a three dimensional virtual space so they create multiple copies of the document with different file names. Workflow state is another concept that is difficult to represent with familiar tools (although a common hack is to use folders). So are the concepts of metadata and single sourcing. CMS that embrace the familiar tools strategy tend to under-deliver or under-emphasize these content management features.

Here are some adjustments that I think that the content management industry needs to adopt rather than go on believing they can independently innovate away the usability issue.
  1. Accept that content management is a discipline with some skills and concepts that practitioners need to learn. This is why CM Professionals was created. Vendors have to stop training these concepts just within the concept of their toolset.
  2. Participate in User Interface standards that address content management best practices and theory. Someone started a working group on OpenUsability. It is probably not going to go anywhere unless the commercial vendors get behind it.
  3. Create a standard CMS enabled UI. This is the idea behind the Apogee Project. There are also extensions to Windows Explorer that add additional right click menus for content management tasks. For an example of this, check out the Tortiose CVS and Tortoise SVN projects.
  4. When selecting a CMS, take into consideration tools that the intended users are used to using right now. Show them the UI. It will either resonate with them or not. This is why there are so many different CMS out there. Each one is the result of someone (or a group of people) solving a problem from their own frame of reference.
  5. Do not give every user group the exact same tools and expect them to be equally happy with them.
  6. Accept that you will need to customize t
    he user interface to make it work within the users' business context.
A couple of trends make me think that these adjustments are within reach. The rise of open source opens a number of possibilities: the ability to experiment with different solutions, the ability ot customize, and the value that the open source community places on standards. Also, content management functionality is being pushed down into the infrastructure layer where it can be more ubiquitous. Eventually, features like versioning, metadata and workflow state will become better integrated into the baseline computing environment that everyone is familiar with. I know that there will be compromises between purist theory and practical implementation, but it is a step in the right direction.

People don't make intuitive user interfaces. Someone's frame of reference makes an interface appear intuitive. Software makers need to pick a target audience and leverage what these users already know. Users need to expand their frame of reference to include content management concepts. Consultants need to really understand where the users are coming from and use that as a starting point for designing the solution. It is just intuitive. DOH!