M6: software interested
Alan Cooper's Heuristic on User-Centric Software
Core Requirement: Software should show interest in the user.
- It should not treat regular users like strangers.
- Ideally, the software should:
- Know the user's name.
- Learn and remember the user's preferences over time.
Metaphorical Comparison:
- Similar to how waitstaff in a favorite restaurant should know the customer's name and preferences.
Example 1: Gmail
Personal Experience:
- User has been using Gmail for 15 to 20 years.
- Over 100,000 emails have been sent.
- User typically signs off emails with their name, "Coleman".
- Although the user could set it as a signature to save time, they prefer manual typing or swiping due to an old-fashioned approach.
Expectation from Software:
- After 15 years, one would expect Gmail to automatically recognize the user's name.
User Experience:
- Gmail fails to initially recognize the user's name and suggests multiple other options before eventually getting it right.
- This is characterized as surprising and disappointing, reflecting poor personalization.
- The user expected a more attentive response akin to a waiter in a restaurant.
Example 2: Google Calendar
Personal Connection:
- User has a long-standing colleague named Viv from Bricolage.
- They have collaborated on many projects over the past ten years.
User Experience:
- User has invited Viv to many meetings.
- When inviting Viv to yet another meeting:
- Google Calendar does not recognize him as a close colleague and treats him like a stranger.
- This highlights a lack of personalization which detracts from user experience.
Conclusion: Personalization in Software Design
Summary of Key Points:
- Software should aim to be personal and establish a connection with users.
- Remembering names and recognizing colleagues should be basic functions of such software.
- On the positive side, Google can recall personal visits to specific places (e.g., remembering a restaurant from seven years ago).
- These small gestures promote a sense of connection and personalization, enhancing user experience.
Implication for Software Development:
- Developers need to consider various ways in which software can learn more about its users to improve engagement and satisfaction.