2

The following two examples show the problem with common search interfaces when there are multiple pages.

Example

« previous 1 2 … 118 119 120 121 122 123 124 125 126 … 129 130 next »

https://www.goodreads.com/topic/show/18963233-person-place-or-thing-last-letter?order=a&page=122

What happens if I want page 50? I invite you to try it.


Pathological example

Here is the display. enter image description here

https://www.argos.co.uk/list/9-to-12-years-toys/opt/page:6/sort:price/

What if I want page 300? Again I invite you to try.

A solution using simple binary search

Use a classic binary search. Always round down.

< 1 ... 49,50,51 ... 100 >

You click on the ellipsis (or the nearest number) between the limits you are interested in and you see a new selection. So, suppose I want page 80. I click on the right-most ellipsis and get:

< 51 ... 74,75,76 ... 100 >

Then

< 76 ... 87,88,89 ... 100 >

< 76 ... 80,81,82 ... 87 >

Then click on 80.

The whole thing takes 4 clicks. It also scales very well (1 million pages would require a maximum of 20 clicks to reach any single page). It can easily be made more intuitive by also allowing clicking on the nearest number to your destination.

Question

Is there a technical (or other good) reason that web developers don't use a binary search as I showed? It is a classic algorithm and is easy to implement in a dozen lines of code.


Notes

Binary search works on sorted arrays. Binary search begins by comparing the middle element of the array with the target value. If the target value matches the middle element, its position in the array is returned. If the target value is less than the middle element, the search continues in the lower half of the array. If the target value is greater than the middle element, the search continues in the upper half of the array. By doing this, the algorithm eliminates the half in which the target value cannot lie in each iteration. https://en.wikipedia.org/wiki/Binary_search_algorithm

16
  • I get what you are suggesting, however my area of concern would be narrowing down the search in the first place. If there are 100+ pages of results, that tells me the search isn't working very well. Commented Dec 3, 2018 at 13:26
  • @DarrylGodden - How do you suggest narrowing the search? Particularly in my first example? I sometimes want to refer back to a previous part of the conversation. Commented Dec 3, 2018 at 13:34
  • 1
    This isn't really a question that we can provide a solution to. It's a bit too subjective and covered by our What Not To Ask guide as more of a rant in disguise ("X sucks, am i right?"). It might suit a more discussion based site, but not really a Q&A site such as Stack Exchange. Commented Dec 3, 2018 at 13:35
  • Well that's too wide ranging for here, I would need to understand the website, product and proposition, but the comment still stands. Commented Dec 3, 2018 at 13:36
  • 1
    Probably a combination of many users don't know what a binary search is (or designers don't think they will know) and presentation: I suspect clicking on the ellipsis isn't a "normal" thing, so people won't think to do it. Also, without fore-knowledge/training, users probably won't realise that clicking on 51 doesn't just mean "show page 51" but also means "show pages 51 to 100". With a suitably designed layout, I think the idea could have legs. Commented Dec 3, 2018 at 16:13

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.