This article is part of a series of talks given to the Maark engineering team as part of Maark's continuous crosstraining program.
There are a few key things a product needs to be successful:
It needs to have features that solve users' problems.
It needs to look like a quality tool that users can trust.
It needs to be performant and efficient, so it's not wasting users' time.
And it needs to be available on the platforms and devices a user expects it to be.
These things are crucial, but even with all of these points covered, there is one that could negate them all and guarantee an unsuccessful product:
It needs to provide appropriate feedback, so users know how your product works.
Good feedback can make or break a user's experience with your product. Good feedback helps users understand what the system is doing, helps them know their input was captured, and helps them learn what they might have done wrong when they make mistakes. Good feedback can actually cover a lot of those other points—it can make a product feel more performant than it is, it can soften the blow if a feature isn't available, and it can even help users trust a new design. When a product is missing those critical moments of feedback, the user experience suffers. Users can feel confused like they did something wrong (even if they hadn't). They can write off the app, thinking it can't solve their problems (even if it can). And worse of all, they could think the app is broken (even if it's not).
What is Feedback?
The best way to think about feedback is how it exists in the context of a micro-interaction. Something triggers the micro-interaction—the user or a change in the system—which then results in some feedback shown to the user. That feedback, especially in user-initiated interactions, are processed by the user and might result in them adjusting their action mid-interaction, causing even more micro-interactions and changes.
We witness micro-interactions thousands of times a day—from the ordinary and mundane to the complex and nuanced.
Pull-to-refresh is an excellent example of a nuanced micro-interaction. The user starts to pull down on the list, which results in the list scrolling (an example of feedback we take for granted). When they've dragged on the list too far, it becomes heavier(feedback that they are nearing the limit of how far the list can travel). Then at a certain point, it gives feedback that releasing now will result in refreshing the list.
Throughout that interaction are a series of what we call Interesting Moments. These are the many possible opportunities within micro-interactions to give the user feedback. So if we look at our example again, we can see all the Interesting Moments where we provide the user feedback about how the system works. One way to map this is with a grid of events down one side and the elements involved in the interaction down the other.
By taking advantage of these Interesting Moments, we can make products feel more responsive, more helpful, and teach users how the system works.
Let's Implement Some Feedback
Let's look at another example and see if you can highlight the opportunities for feedback in the UI. At the below link, we have an interface for adding contacts to an event. There are many ways we can design this interface, but in this case, we are dragging the contacts from our contact list to the event. This version doesn't have very much feedback built into the interaction. Play with it for a bit and list all the ways the feedback could be improved. How many can you find?
Now take a look at the updated version where we have implemented lots of different types of feedback into the interaction. Can you see the difference in the experience? One feels more performant—it is clearer that the system understands what you want to do. It's also clearer how to use the system—your interactions reveal feedback as to how the system works. It's also easier to understand what happened when something didn't work like if dropping a contact missed the event.
Where Do You Go from Here?
If there is any negative feedback from your users or places where they get tripped up in user tests, it's probably from a lack of feedback in your product. Those are your best places to start. Take the interactions in those areas and map out the Interesting Moments and see what types of feedback you already have and what you might be missing. Those moments are your opportunities to help users better understand your product and how it works. If you get those right, then you're on your way to delivering the best-in-class user experience.