29 January, 2016

The One Thing That Makes Users Smart - Smart Defaults



Recently, I performed a small experiment. I lined up a bunch of users (of course, some gracious friends and neighbours) to enter phone number into a text field, on a mobile app. I received some inputs summarized below:
  • Adding a phone number is displaying an error message below the field, 'Invalid' [Field Validation and confusing functionality of Phone number field]
  • Default telephone number, if entered directly, could be pre-populated with '+91' based on the region (Location Intelligence)
  • User should be provided with hints on phone number and country code formats (Prediction and Precision of formats)
Consider a phone number field on a registration form. It’s usually a simple text field. By just seeing a text field, user might not know, in which format the data needs to be entered in. User might simply enter country code, area code, followed by phone number or stick to a format that the error message might convey (if you are lucky). In short, users might go wrong many times, due to incorrect format or unknown validations coded into the product by programmers. In few cases, text field might allow alphabetic characters into phone field, paving way for more errors from users, for which users get into 'False Game'.
Whatsapp is one app which makes entering phone numbers easy. If you access the app from India, the country code is pre-filled based on location services by default. In case user wants to change it, he can deleted current value and enter a new one. Additionally, country code field is separated from phone number providing visual cue to user on the format of the phone number expected. This is much simpler as ‘+91’ makes user’s job, not just easy, but lessens the number of steps as well. Whatsapp smartly defaults the right value into the country code field, whilst allowing users to modify it if they like to, specially, let’s say, if they are travelling to a new country.
Smart Defaults
In Luke Wroblewski’s words,
“Smart defaults are selections put in place to provide answers to questions for you. This enables people to complete forms faster. Every question we ask people requires them to parse it, formulate a response, and then input their answer into the affordance provided on the form.”
How To Make Smart Defaults
FreshMenu is a food ordering, mobile app. When user installs the app and launches it, it asks users for a location. Since, the app serves food only in select locations in Bangalore, this setting helps. It would have been even better if the app picked current location based on location services (while allowing users to change it if they need to). Hipmunk, goes a step ahead and considers current location as the departure location. Then, the app sets that location as default for all future flight bookings. However, if user needs to change departure location to some place else, the app lets users to do so. Apps like FreshMenu, Hipmunk and others have unleashed the power for Smart Defaults and Location Services to work in their favor and delight the users.
"Best defaults are those that suit users most of the time."
What suits users can be determined by using user research data, interviewing users, evaluating analytics information for apps and so forth. Following points highlight how we can imbibe smart defaults in apps.
  1. Let the desirable choice be the default
  2. Keep universal functionality, ‘Universal’ as much as possible. E.g., Enter key, Return key
  3. Pre-fill/auto-populate relevant information e.g., Email address and Phone number while booking flights
  4. Allow users to ‘Favorite’ some features e.g., HDFC Fast Cash Withdrawal
  5. Auto-suggest values as appropriate
  6. Keep track of ‘most used features’ and make them easily accessible to users
  7. Tooltips as effective clues
  8. Hinting users on what’s coming next
Note that Smart Defaults is applicable, not just for input fields on forms, but for features/flows as well, depending on the context and the domain in which apps operates. While smart defaults surely delight users, as long as it serves them well, it might drive many others away if used in the wrong way (dark patterns). For e.g., auto-subscribing users to promotional offers and emails by default while filling a registration form by keeping associated checkboxes pre-selected. Added to this, some products make it almost impossible to unsubscribe to these offers. Dark patterns are a reason why many users unsubscribe to apps as such gimmicks misuse user’s trust.
Again, Smart Defaults need to be used with caution. One can’t possibly default Gender Selection to ‘Male’ or ‘Female’ to start with, as the app is not smart enough to detect whether the user is male or female (unless there are camera-related apps that can do that well).
Good Practices for Smart Defaults
Luke W, in his book, "Web Form Design: Filling in the Blanks" has laid out some good practices around using smart and personalized defaults. They are listed below:
  1. Carefully examine all the questions being asked in your form for opportunities to eliminate unnecessary inputs
  2. Look for patterns in how people answer questions that allow you to infer answers accurately
  3. Be mindful not to complicate questions or the sake of removing inputs
  4. Smart defaults can help people answer questions by putting default selections in place that serve the interests of most people
  5. Because people are likely to leave default selections in place, ensure they align with most people’s goals
  6. Whenever possible, include a default selection in a set of radio buttons. If no clear default exists, chances are that people will still understand they need to make a choice. But if they don’t, they’ll get an error
  7. Personally relevant default selections enable return customers to complete forms faster because their answers are “sticky”
  8. Think through where personalized defaults make sense. It won’t be every input on every form
Personalized Defaults
A step ahead of Smart Defaults is to create Personalized Defaults. Since several apps collect heaps of data from users, it might as well be a good idea to personalize apps for users.
Several years ago, I had signed up on Tesco website. Those days, very few websites sent emails by addressing users by first name. I was obviously thrilled. A few weeks later, Tesco actually sent promotional offers to my inbox saying ‘You might like to buy these products for your baby”. I didn’t have a child at the time, so it surely annoyed me. One needs to know the limits of personalization, as in Tesco’s case, who clearly didn’t know if I had a child or not, especially when they didn’t have that information in their database.
Smart Defaults  and Personalized Defaults can be powerful, if used appropriately. If using them adds complexity, it might drive users away. Exercise caution. 
"Most companies are looking to “wow” with their products, when in reality what they should be looking for is an “Of Course” reaction."
Christian Lindholm
Are you using Smart Defaults to your advantage?