I often think about user interface design for computer applications and specifically web based applications. My thoughts often revolve around the “rules” of these interactions. For example: Most users interacting with an application will do it using their keyboard, their mouse, and a web browser of their choice. Since I cannot impact those tools, all I can do is fit my design in a way that enhances their usage or gives meaning to the choices a user can make with each tool.
A lot of websites already do this. A few easy examples include:
- The prolific “Add to favorites” button - working with a tool in the browser to allow users to recall the page without having to search for it again or remember the URL.
- Contextual “Right Click” menus for specific aspects of an application. Yahoo! Mail, for example, allows users to right click on an item and manipulate it in some way such as deleting it.
- Browser Compatibility / “Hacks” - Differences in how each browser handles CSS rendering subtly influences how CSS must be written so that each user gets an equivalent visual experience while using the website.
These are all important aspects to consider when developing a human interface for a web application.
Considering how easy it is for users to make changes, view those changes, and create further changes is, in my opinion, much more useful. Every application user is going to come to the application with a different set of expectations and a different toolkit of previous experiences using websites.
When flickr launched and development continued a lot of bloggers noted that they were constantly finding new ways to use the software. Upon my first inspection of flickr I couldn’t see what they were talking about. As my experience with the site grew, however, I was able to understand more fully that the system provides a framework for interaction rather than strict rules.
Humans are imperfect and ingenious. Believing in both these attributes of every user is as important to consider when developing a web application as it is to simply build a beautiful interface. Thinking that humans are imperfect may lead you to overly restrict user actions and not consider all the possibilities of both data usage and system navigation needs. If you think that humans are only ingenious you may not provide enough support resources to “teach” them how to use your product.
Ultimately the true value of Human-Computer interaction is in the “inter” part of it. How do users tell the computer what to do? How does the computer respond back to the user in a meaningful way?
The example I like to use from my own practice is the first web application I ever built. It provided a list of open contracts to teach online courses. The teacher pool would then log in and select which courses for which they wanted to be considered. An administrator would then designate who got to teach which section of which course and contracts were generated and emailed out.
I was so proud of the system. It provided an incredible productivity boost. My office went from spending a week doing this process via email to doing it in 2 to 3 hours.
The problem, though, was that once the teachers selected which courses they wanted to teach they had no way of reviewing the list of courses they had requested!
I forgot, at the time, that my users were imperfect and only thought them ingenious. My assumption was that a teacher would apply to teach 4-5 courses and could easily remember which ones they requested. Once I added in a listing showing each teacher which courses they had requested another problem appeared. Teachers wanted then to see their status via this request page so they could anticipate the email from the system or find out when courses had been assigned. I forgot that my users were ingenious as well. Users could see not only their requests but also the status of those requests which honored them as both imperfect and ingenious.
Think about your web application experiences. Are you honoring your user’s as both imperfect and ingenious? Sometimes the fixes can be small from a technical standpoint but make a huge impact from a “user-friendliness” standpoint.



Leave a Reply