• Let me share what we considered...

    In all of the following this means the current page, n means a numbered version of this. * asterix around something indicate where we might bold or highlight a page.

    Choices:

    1. << < this > >>
    2. |< < this > >|
    3. first prev this next last
    4. {min} {-2} {-1} *{n}* {+1} {+2} {max}
    5. first {-2} {-1} *{n}* {+1} {+2} last
    6. first {-2} prev {n} next {+2} last
    7. |< {-2} {-1} current {+1} {+2} >|
    8. |< {-2} {-1} *{n}* {+1} {+2} >|
    9. |< {-2} {-1} this {+1} {+2} >|
    10. Page {X} of {Y} : First < {-1000} {-500} {-100} {-50} {-10} {-2} {-1} *{n}* {+1} {+2} {+10} {+50} {+100} {+500} {+1000} > Last
    11. Page [{X}] of {Y} : First {-1} *{n}* {+1} Last

    #10 is how vBulletin did it, and links are only shown if valid, navigation is removed altogether if page is 1 of 1. Our big complaint with this is the uselessness of so many options, that mostly they were used to binary search a long thread (and a page number entry box would've been a more powerful way of doing that), and finally that such huge navigation would never work on mobile.

    #11 was what we decided on. It's compact and offers a really simple and intuitive pagination control. The “Page x of y” text places the “First... Last” in context. For most users advancing next, prev and first, last is all the navigation required. The {X} within “Page x of y” is a form control, hitting enter on that form will submit the form and launch a navigation jump to the designated page (if valid). If the number is above y, or below x, or not a number, then nothing will happen. This control gives power users the ability to jump around, binary searching the discussion.

    Only valid links are displayed, and if there is only a single page, the pagination control is not shown at all.

    Or if you want... you can just imagine we designed it like that for shits and giggles.

About

Avatar for Mule  @Mule  started