Приём «показать все»
Распространённый приём: когда есть неизвестное, но потенциально большое количество элементов (например, результатов поиска), показывать топ-N и кнопку «показать все».
Самый большой облом для пользователя: жмёшь на «показать все», и обнаруживаешь, что элементов всего и было N штук, то есть ничего нового ты не увидел.
Идеальный вариант — точно знать общее количество элементов, и сообщить пользователю. Но посчитать все элементы может быть вычислительно «дорого».
Как решить:
1. Вместо N запрашивать N+k элементов (где k — немного «сверху»: 1, 3, 5).
2. Если нашлось ровно N+k элементов — показать N и добавить кнопку «показать все».
3. Если нашлось больше N, но меньше N+k элементов — показать N и добавить кнопку «показать ещё k». Альтернатива — показать все найденные элементы без кнопки, если место позволяет.
4. Если нашлось меньше N — показать все элементы без кнопки.
P.S. Спасибо Саше Кириллову за дополнение по приёму.
Распространённый приём: когда есть неизвестное, но потенциально большое количество элементов (например, результатов поиска), показывать топ-N и кнопку «показать все».
Самый большой облом для пользователя: жмёшь на «показать все», и обнаруживаешь, что элементов всего и было N штук, то есть ничего нового ты не увидел.
Идеальный вариант — точно знать общее количество элементов, и сообщить пользователю. Но посчитать все элементы может быть вычислительно «дорого».
Как решить:
1. Вместо N запрашивать N+k элементов (где k — немного «сверху»: 1, 3, 5).
2. Если нашлось ровно N+k элементов — показать N и добавить кнопку «показать все».
3. Если нашлось больше N, но меньше N+k элементов — показать N и добавить кнопку «показать ещё k». Альтернатива — показать все найденные элементы без кнопки, если место позволяет.
4. Если нашлось меньше N — показать все элементы без кнопки.
P.S. Спасибо Саше Кириллову за дополнение по приёму.