Developers, designers, architects, managers (and whoever are involve in the development of a software) must accept the truth that building applications that make people happy requires more work than we are used to.
Consider the use of dates for filtering a range of data. Typically, we only provide a from-to date selection. The user selects the dates, pass it to our database query, there comes the result. What if we provide 1-click option? How about options like “Today”, “Last 7 days”, “This month”, “This quarter”, “Q1 2006”, and “Next 14 days”? These are not as straightforward as the from-to selections in terms of programming but are simpler to use if you ask your users.
Of course, the users can still do it with the from-to selection (and it can be used for a wider range) but you see it is you the “programmer” who is talking now, and not the end user. I am not suggesting you drop the from-to selection. You should still have it in case the user wants it.
“But that’s what I’ve been telling you! The reason we the have from-to selection is to give flexibility to our users. You idiot!”
Wait, let me ask some questions before you get mad at me. What are the tasks that your users do with dates? Find out her earnings for the month? How about the number of new subscribers this week or last week? If you ask your assistant for the number of website hits last February, do you say “give me the report from Feb 1 to Feb 29. Oh wait, make that Feb 1 to Feb 28 because this year is not a leap year”? No, you simply ask for the report last February.
What is the most easy-to-use search interface in the Internet? A text box and a “Search” button. It is hardly imaginable to provide a query-by-example feature in your website even though not too long ago, it is a cool feature of many software applications. Of course “cool” defined as “cool for me”, and not for my users. How much work is needed to build a free-text search that users love? Ask Larry And Serge. (If you can figure it out, you might as well be the owner of a company that is worth $100 billion.)