[Юзабилити-блог] Навигация по большому массиву
От: Зверёк Харьковский  
Дата: 25.09.05 07:57
Оценка: 8 (1)
Допустим, у нас есть база "чего-то". Скажем, книжек в библиотеке, файлов на компьютере, программ на сервере, музыки и фильмов...
Нужно: обеспечить навигацию по этой базе (размер базы неограничен, но заведомо велик).

Требования к навигации:
* быстрый переход к точно известному объекту (я точно знаю, что это за файл и где он лежит)
* удобный поиск к приблизительно известному объекту (старенькая песня группы Металлика)
* предложение выбора, когда я точно не знаю, что мне нужно (а что у нас есть по C++?)

Подходы бывают такими:

1. Плоский список (наивный подход)
Просто список вообще всех объектов, какие у нас есть. Несмотря на наивность подхода, в сочетании с дополнительными графическими средствами (выделение элементов списка цветом, шрифтом, иконками) и гибкой сортировкой может быть достаточно удобен.

2. Иерархия
Случай файловой системы. Папки, в каждой — другие папки и объекты. Система, в общем, общепринятая, но обладает некоторыми недостатками.

* если папок немного (мы предполагаем, что объектов много), то в каждой из них находится большое количество объектов — возвращаемся к случаю (1) — найди свой файлик в папке где их 10 000.
* если папок много — файлы по ним распределяются, как правило, неравномерно. Возникает множество случаев вроде
Programming
    Languages
        Scripting
            Python
                Official Manuals
                    Python.chm

(Хотя уже внутри папки Scripting всего 8 вложенных файлов, для порядка у нее еще куча подпапок)
* логика иерархии не всегда очевидна (потому как вышеозначенный Python вполне себе мог оказаться в Web-Design/Server/Languages или еще где)

3. Поиск
Тоже понятная вещь — Гугль тебе в руки и электричку навстречу. Про достоинства и недостатки, думаю, все сами понимают.
На мой вкус, поиск вещь для большой базы необходимая, но как единственный метод навигации, применяться не должен (пожалуйста, не приводите в опровержение Internet. А если приводите — пожалуйста, не пользуйтесь гиперссылками и закладками).

4. Ссылки
Ссылки. Имеем кучу объектов и ссылки между ними. Метод поиска нужного — от объекта к объекту по ссылкам, пока не придем куда шли.
Недостатки понятны: ссылки — вещь произвольная, длина и существование пути между двумя некоторыми объектами — величина случайная.

5. Отбор
Изначально имеем список всех доступных в базе объектов, но используя различные критерии фильтрации, сужаем список, до объема в котором объект комфортно "найти глазами".

Мой выбор: отбор + поиск (+ опционально ссылки).

ЗЫ: на самом деле этот пост — естественно, о том, что отбор предпочтительней иерархии
FAQ — це мiй ай-кью!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.