When I’m not delving into Microsoft technologies, I enjoy making music. A Christmas gift that I received turned out to be an unlikely trigger to make me think about usability. That gift was a book with transcriptions of some popular sax solos and included Money by Pink Floyd. This song is a bit unique in the popular music world in that it breaks from the typical pattern of having four beats in each measure (or at least an even number of beats) and instead uses five beats per measure. To (over) simplify for the reader who may have no musical knowledge, this means that in most music if you listen to the “pulses” of most music there is a natural breaking of the rythm into groupings of four pulses but in this song the natural grouping will have five instead. What does this have to do with usability? The fact that the song is in a unique time signature is not significant in regards to usability, but what is significant is that it had never occured to me that the time signature was unique. The song was written and played in a way that is “just works”, leaving the user completely unaware of technical significance and just enjoying the music.
When building software we can follow we can follow this example by keeping in mind that great software should never surprise the end user. The fact that it works for a given purpose should not strike the user as the least bit impressive no matter how much development effort was put into making it work.
A key factor in building software that does not surprise the end user is to make sure that software fits well from a user interface design perspective into the ecosystem in which it will run. If building a traditional Windows desktop application, established UI paradigms for that environment should be followed. If building a modern app for Windows 8, a different set of guidelines apply. Microsoft provides a set of guidelines for building a consistent user experience in each of these environments. For traditional desktop applications built on Windows 7 and Windows Vista, you can reference the Windows User Experience Interaction Guidelines and for Windows Store apps running on Windows 8 you can reference Designing UX for apps. Each of these resources cover topics such as navigation and user interface elements appropriate for different types of navigation.
If you build Windows client applications whether they’re running on Windows 7 or Windows 8, spend a little time familiarizing yourself or becoming re-acquainted with the appropriate experience guidelines and make an effort to ensure that your users are never surprised.