… pagination is the standard answer. [Imagine your Yahoo! mail being displayed.]
Searching and sorting are also thrown in as standard interface features. In some environments, filtering and/or grouping is also featured.
This post deals with the frustration of deletion.
Just try deleting a lot of mails from Yahoo! or Gmail. You will be fine deleting for around 75% of your first page or so.
Then the pain starts.
Everything above your mouse pointer is worth keeping – and small number of useless stuff still lurks below. So you delete one or two of these mails.
Then the page refreshes and yet another differential of two or three mails are pulled from the database to display – and you decide to delete or keep them – in a diminishing return on time spent.
Why can’t we change the sorting method itself? For example, if we decide to sort on the Subject of the mail, it should actually split the query as if tabbed dictionary is being opened up – all starting with an “A” on one page, “B” on another page and so on.
That way, say you are guaranteed to scan all the mails in 26 (or at least some tractable number) of clicks. There will be no more annoying reloads of diminishing returns!
If you are sorting on a time criteria, sorting could be like a calendar.
If you are sorting on attachments, read or not, replied or not, forwarded or not etc., the problem still remains – because the number of equivalence classes is just two.
However, for large number of fields, the problem is solved.
Why don’t we do this?