Dealing with Edge Cases in Product Design
Have the courage to simplify.
Designing simple products is hard. Software that starts simple has the tendency to become more and more complex as time goes on. Ideas come pouring in from customers for that next ‘must have’ feature. In many cases, those features are edge cases which will only be useful to a small percentage of customers. Trying to design an interface that will accommodate all of these edge cases will quickly lead to complexity. As designers, our instinct is to optimize for the fewest amount of clicks and screens. However, when adding edge case functionality, we should ignore this urge in order to keep primary use cases simple.
Some may argue that the ideal situation is to keep your product in its simplest form, never supporting any of these edge cases. That approach may satisfy design purists following a sacred set of ideals, when you’re trying to grow your customer base, it is often unrealistic. At HubSpot, we have learned that adding this type of functionality is OK, as long as it stays out of the way of the main use cases.
Our team has decided that our product doesn’t need to allow for edge case tasks to be completed quickly. Advanced users are willing to click a few extra times for advanced functionality. The benefit they receive from that advanced functionality is often worth the extra effort. Beginners will also benefit from not being intimidated by a myriad of features they don’t understand.
One of the best examples of this principle in action is Google Search. There’s a ton of advanced search functionality that has been added over the years, but the home page remains just a single input box. In order to access advanced search features, you either need to know advanced query syntax, or find the advanced search link buried in a drop down menu on the results page. Google recognizes that a majority of their users don’t need that advanced functionality, and keeps it out of the way.
It sounds easy, but in practice it’s much harder. Our design instincts tell us to optimize for the fewest number of clicks and screens. We are always trying to create a delightfully simple experience for all our users. But we must ignore those instincts when dealing with edge cases in order to keep our products simple.