The concept of design is a natural human instinct and as we have evolved, design processes and methodologies have evolved as well. These processes and methodologies have arrived at their commonly accepted standards and conventions which are easily understood and adopted. Conventions give a shape to our design process and eventually lead to creating experiences but user expectations from these are more important and cannot be ignored. After all, conventions are meant to be challenged and expectations are supposed to be met!
Make Reasonable Assumptions
The core element of design moves forward when we assume that something looks ‘decent enough’ to work. Yet, each assumption should be tested over time.
For example if you were building a news feed engine and were figuring out how many lines of news to show – 10, 15 or 25, you could just go ahead and choose one rather than building a way for your users to configure it according to their choice. You will save time and cost involved in creating a UI to enable the config. Of course, you would have made an assumption that requires your users to do less work. Now if you actually see your users giving feedback that they want this feature then it’s time to start.
Similarly, we make assumptions at every step of the design life-cycle of our products and we need to test each of these. Maybe we won’t have the perfect design path laid out for a while – and that is the cost of assumption and usability testing that we have to deal with. In other words, we create experiences for our users over time, iteratively, and this is an important part of the design cycle
Build Experiences around assumptions that work
When users interact with our products they experience how it works. The users will commit to the product if the experiences that are part of using the product fit in with their expectations as they try to achieve their goal.
Lets take an example of an offline grocery store, Lets see how somebody buys bread:
- User goes to the store and asks for Bread
- The shopkeeper gives options
- User asks for the price of all options
- Makes a decision based on his preference, price and maybe some other factors like taste etc.
- User pays for the bread and asks for it to be bagged
- Shopkeeper bags the bread and hands it off
- User goes off (Mostly Happy)
The take away from this cycle is that if this grocery store is taken online, it still needs to satisfy the same set of expectations by providing an experience built around it. For instance, in the above experience, did the shopkeeper ever ask for any information from user? In fact, the shopkeeper was busy providing information about the bread and this should not change online. We should be focused on collecting the most minimalistic information required to help user complete the purchase. Now lets repeat the cycle of the user again when they visit the shop again.
- User goes to the store asks for XYZ Bread (User already knows which brand to buy)
- The shopkeeper gives the XYZ Bread.
- User pays the price and asks to bag it.
- The shopkeeper bags it and hands it off
- User goes off (More happy as they completed the task more efficiently)
Expectations will change as users interact more and more with your product. You have to be ready for that. The second time a user interacts with your product, if you have added some more value in terms of the experience, the user would feel positively happy as they accomplished something more efficiently than the last time. For example if a user who has already purchased bread from your store comes the next and see the same bread lying on your homepage, he will just purchase it straight away and be happy about it.