Thinking of the project/products I have worked on I realize that the real design was not in designing for normal cases but in “exceptions”. Imagine yourself designing a Search Page.
User types in a query = result found. Query Page + Search Results page. Job well done!!!
Simple isn’t it?
But look at the broader picture – lets say there are cases where the query is not exactly found. What do we do then? How will the system behave?
Should it show the results along with the message? Or should we not show irrelevant results and ask few more questions from the user? And also when should we do that – if the relevance is 75 or 50 or 25?
These are the complication of design. How do you deal with these numerous cases in your produce really defines how comprehensively have you thought about it. Normal cases are easier to handle they don’t take so much time and your mental resources.
Thus design is in exceptional cases. You will design with an approach – every thing will go well but suddenly there will be one case where this approach will crumble. How smartly you deal with it really defines how well the product get designed.