Coaching end-users
Today I had a conversation with a friend who is a musician. We were discussing some of the similarities between music and software and even extending many of them to any creative pursuit where the output is consumed by others. One of the things that we noted was that, as with software, end-users of music do not always share the feelings and experiences envisaged by the architects of the product. I'm not sure how a musician can give corrective advice to an end-user about such a discrepancy at "runtime" but, in software we are fortunate that we can use context and UI elements to teach a user about the intended usage of a system.
Providing the user with a shared understanding of a system's capabilities is an area that will increasingly be solved by software agents that can use contextual information to know when and how to offer explicit and implicit cues. Examples of this in current Microsoft software include:
- AutoCorrect functionality in Office
- AutoComplete and Refactoring in VS2005
- Clippy and friends in Office