Как стать автором
Обновить

Пагинатор — датанатор

Время на прочтение 4 мин
Количество просмотров 10K

Докомпьютерное прошлое пагинатора


Одна из вещей, что пришла к нам, в интернет из докомпьютерного мира, это пагинатор. Несмотря на то, что пагинатор изначально исполнял (и продолжает исполнять) пусть важную, но только служебную роль, он уже давно стал стандартным методом организации длинных списков. Пагинатор, как таковой, используется и в реальном мире — для нумерации страниц различных книг и документов. Как правило, о нем не вспоминают при чтении — страницы просто перелистывают вне зависимости от номера текущей страницы. Номера же используются лишь для организации ссылок («на 55 странице в 10 сверху строчке написано...») на их содержание — они запоминаются вместо использования закладок, или позволяют указать на содержание конкретной страницы в книге.


Сегодняшнее состояние пагинатора


В интернете дела обстоят примерно так же. Основная задача пагинатора — дать доступ к содержимому, отображаемому на других страницах. Но ссылки на него не дают по нескольким причинам. Во первых ссылку как правило можно дать на конкретную запись, а не на страницу с несколькими десятками подобных записей. А во вторых нумерация страниц в интернете часто начинается не с начала, а с конца. Вспомните — на первой странице показываются последние записи, последние комментарии. Существуют и сайты, на которых нумерация организована наоборот — последние записи оказываются на последних страницах. Для неподготовленного пользователя непривычно начинать что-то читать с последней страницы. Также стоит учитывать, что на данный момент таких сайтов не так и много. Лично я впервые увидел такое решение на хабре и оно поначалу смущало меня очень сильно.

Также существуют различные уникальные решения. В частности иногда применяется календарь для организации перемещения по содержимому. Но я не встречал еще ни одного сайта, где навигация по календарю была бы основным методом перехода по страницам.


Мысли о пагинаторе, что пришли мне в голову


Не так давно я задумался о том, как можно было бы сделать пагинатор удобнее и понятнее для простых пользователей.


К чему я в итоге пришел?




Пришел я к предложению объединить пагинатор с календарем. Я размышлял о применении пагинатора применительно к своему блогу, а потому прошу не трактовать мои измышления всеобъемлюще. По большому счету они могут применяться для организации списков, где контент публикуется с явной корреляцией от времени. То есть это блоги, гостевые книги. Возможно форумы. Но это никак не результаты поиска или списки магазинов.

Так вот. Так как в многих блогах кроме обычного пагинатора используется и календарь, который показывает количество записей в год, в месяц, за день. Также зачастую даются ссылки на определенные дни или месяцы. При этом идеи календаря настолько глубоко проникают в блоги, что уже практически стандартом считается организация url с использованием дат размещения сообщений. Но при этом остается понятие страницы, которая используется исключительно для перелистывания результатов выдачи, хотя для этого хватило бы и простых клавиатурных сочетаний ( ctrl + → и crtl + ← ). Такие механизмы используется на многих сайтах, в том числе и на Яндексе при выдаче результатов поиска.

Еще я хочу обратить внимание на такой момент, что никому не важно, сколько записей показывается на странице (естественно, если они грузятся достаточно быстро и всегда можно открыть следующую). Однако в скриптах зачастую ориентируются именно на точное количество записей на одной странице. Возможно я обозвал бы это моветоном, но не буду столь категоричным. Я лишь хочу указать на то, что количество записей на странице должно быть не очень большим и не очень маленьким. В цифрах подобное утверждение можно выразить как ±50% от обычного числа записей на странице не вызовут никакого дискомфорта у пользователя.

Также я думаю, что гораздо более логичным вариантом будет разбиение контента по страницам в зависимости от даты ее публикации. На первой странице — сегодняшние новости, на второй — вчерашнее и так далее. Стоит повторить, что я говорю только о таких списках, где обязательно должна прослеживаться взаимосвязь наполнения этого списка от прошедшего времени. Под это определение подходят блоги, форумы, гостевые книги, листы комментариев. Я подозреваю, что это больше половины всех списков в интернете — сортировка по времени очень популярна.


Ключевая мысль заметки (Sic!)


Отсюда можно вынести достаточно интересный вывод — генерируемые страницы могут быть разными как по количеству записей на странице, так и по временному охвату. Рядом могут находится страницы, содержащие 5 записей за 2007 год и 10 записей за январь 2008. Мне кажется это логичным и правильным. Не знаю, правда, как эта идейка будет восприниматься другими.

Постскриптум


ЗЫ Для тех, кто решил посмотреть как это сделано у меня, могу сразу разочаровать — там находится лишь экспериментальная версия. Возможно, если сама идея понравится — она будет доработана до приличного вида. Но пока пагинатор у меня только такой.

ЗЫЫ Пока я готовил эту заметку, я наткнулся на достаточно интересный вариант пагинатора — Paginator3000. Несмотря на позиционирование его автором как «пагинатора будущего», я не могу сказать что это нечто большее, чем «причесанный пагинатор настоящего». При этом использовать скроллбар однозначно стоит — это удобно. Но вот от использования пронумерованных страниц я бы отказался в пользу использования дат публикации для разбивки списка записей по разным страницам.
Теги:
Хабы:
+3
Комментарии 23
Комментарии Комментарии 23

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн
PG Bootcamp 2024
Дата 16 апреля
Время 09:30 – 21:00
Место
Минск Онлайн
EvaConf 2024
Дата 16 апреля
Время 11:00 – 16:00
Место
Москва Онлайн