Signifiers, affordances, and features

After my post about Don Norman's Signifiers, not Affordances article, I had an interesting discussion about the relationship between signifiers, affordances, and features. The importance of signifiers was again reiterated by several people as the key to driving user satisfaction and user capability within an application. Features can only be accessed if the user has an understanding that the feature exists, and signifiers are the agents you as a designer can use to communicate with your users.

Don Norman also discusses the importance of social signifiers in communities, whether physical or virtual. Social signifiers may be intentional or unintentional, but either way they communicate to users. One social signifier that I realized I use is the popularity of a given application. If I hear from many people that they love application XYZ I am willing to give that application more time and attention than application PDQ. In particular, if I have difficulty with application XYZ I am willing to dig further, try harder, and search for solutions. However, if I have heard negative reviews (or no reviews) of application PDQ I will more readily abandon it if I have a bad experience with it.

Early user abandonment is of key importance to application designers. Kathy Sierra explains that users initially feel incompetent with a new application and only enjoy it once they pass the "suck threshold." She explains that creating passionate users is about getting them past this threshold and into the "I kick ass" zone.

To define our terms we might start with a feature. A feature is some capability that an application supports. An e-mail client might have the capability to read, write, and delete e-mail, for example: this would be considered 3 features. If the feature doesn't exist, no amount of work on the part of the user will cause the application to locate and perform the function.

An affordance might be seen as similar to a feature, but my understanding from the design and HCI community is that an affordance refers to a specific method of interaction with a particular user interface widget. For example, the Delete button has the affordance of being clickable. If the button is labeled "Delete" but is not clickable, then again the feature cannot be performed by the user.

The appearance of the button along with the text "Delete" are the signifiers to the user that this is a clickable widget which should perform the action of deleting an e-mail. So, the affordance of the button combined with its semantic signifier ("Delete") and the signifier of being clickable, result in the user being able to invoke the feature.

It is worth noting, although fairly obvious, that a given feature may be invoked through many different methods which each have their own signifiers.

As user interfaces progress to processing touch and video as input the design, HCI, and development communities must work together to develop new signifiers to communicate to users the potential behaviors of our interfaces. Most of these signifiers will be visual cues of one sort or another, although haptic feedback devices might become available and useful in the future as well. History suggests that aural feedback can be an annoyance to users, but perhaps if it is subtle enough it could be used to provide texture to the world of the user interface.

The most readily available platform for experimenting with touch devices remains the iPhone. There is a wide user base for this device at present and a good development environment as well.