Whenever I think about designing seemingly simple features, I reflect back on this to remind myself how nothing is as simple as it seems: For Exchange 2000 Service Pack 2, I was tasked with speccing out a feature - type-down search. In Outlook and Windows Explorer, this is the feature whereby you can sort on a column and then start typing, and Outlook/Explorer will automatically scroll down and auto-select the first item that matches the characters you type.
We brainstormed the ways this could be implemented, came up with a few, and narrowed it down to two:
- Work just like Outlook - sort on a column, then start typing
- When you click on a column to sort, a little box would show up that you could type your search into. This would then sort and select. To do a sort without a type-down, you could just press enter after clicking on the column heading and the box would go away, and the sort would be performed.
- Performance: For every search you do of a folder (which happens on folder load, or when you resort by a column), you incur a performance hit. #1 above means that for every type-down search you do, you perform two searches. With #2, you could keep it at one search.
- International support: While the model makes sense for English and other languages that use ascii, what about other keyboards, such as the ones where typing 'a gives you an accented a - would the browser interpret this as the accented a and sort in the right way, or would it look for the literal string 'a?
- We aren't the same as outlook/windows in other ways: with Outlook and Windows, there's no 'paging', i.e. everything is accessible by scrolling down. With OWA, you have to go through pages of items (25 items at the time, but in Exchange 2003 it supports up to 100 per page, another seemingly simple feature that we spent a fair amount of time on). Would users get confused between the paging model, the scrolling within a page, and type-down?
So we spun off efforts to investigate the performance & international side of things, and set about doing usability studies for both methods. We weren't sure how users would react: on the one hand, with method #1, there's no indication to the user that type-down search exists - would users think to try it? With method #2, there's an indication to the user about what to do once the user sorts on a column, but it adds a step to the process of sorting by a column, which could be annoying.