There are lots of ways we have tried to help users find their data in the midst of a large set. Filters, ranges, and much more have been used allowing users to sort and narrow down the list, with the hope of finding what they are looking for. Who hasn’t been discouraged when running a Google search, and they aren’t quite sure what words to use for the filter. Then, what you are looking for is not in the first couple of pages, out of millions of records found? Maybe this is the year to find a better way? In brainstorming on this idea, I thought I would consider some of the methods I have seen used.
One insurance company, using an electronic telephone SAAS application I was part of developing, took the approach of printing the entire 2,500 page phone bill, and distributing the pages throughout the company, to the responsible persons. They organized their phone bill by billing units, so that each page stood on it’s own. Although this method was really old school, it solved their problem of finding their data.
Pagination is the technique of retrieving from your storage segments of records at a time, instead of reading the entire list in one call. SQL Server has added operations allowing you to specify what “page” of data to return in a single call, specifying the number of records in a page, and what is the current page to retrieve.
Paging is effective when you don’t have many pages to retrieve. When you are on page 6 out of 1,300, or in google the numbers may be astronomical, then maybe we need a different paradigm. I’ve been watching for ideas lately, observing how different tools address this problem.
If you turn on developer tools in a browser, and peek into the contents of a collection variable, I find they will often provide a list of handles into a page of records. Each item in the list points to 100 items the collection. Clicking on a list handle, the equivalent of a page, expands that segment displaying the individual object items. Pretty cool.
Another web site I viewed had things sorted alphabetically. The letters A – Z were displayed. Clicking on a letter exposed options starting with that letter.
One site I viewed had a short list of common words, or abbreviations, used in their list. Clicking on one ore more abbreviations returned a filtered list of items containing the selected abbreviations. It made a very responsive application, much faster they typing search criteria, because it was all mouse driven. The enhanced performance of not having to move from the keyboard to the mouse made the smaller list of search items worth the restriction.
If you consider a web site a collection of web pages, then a site index may be another technique for presenting selection to end users.
What are your favorite methods helping users return a meaningful number of records, filtering, sorting, or displaying portions of a large set of data? Share your ideas, new or old, in our comments. Or drop an email to btaylor@sswug.org.
Cheers,
Ben