| [Юзабилити-блог] Навигация по большому массиву | Оценить ![]() ![]() ![]() ![]() ![]() ![]() |
| От: | Зверёк Харьковский | |
| Дата: | 25.09.05 07:57 | |
| Оценка: | 8 (1) | |
| Допустим, у нас есть база "чего-то". Скажем, книжек в библиотеке, файлов на компьютере, программ на сервере, музыки и фильмов... Нужно: обеспечить навигацию по этой базе (размер базы неограничен, но заведомо велик). Требования к навигации: * быстрый переход к точно известному объекту (я точно знаю, что это за файл и где он лежит) * удобный поиск к приблизительно известному объекту (старенькая песня группы Металлика) * предложение выбора, когда я точно не знаю, что мне нужно (а что у нас есть по C++?) Подходы бывают такими: 1. Плоский список (наивный подход) Просто список вообще всех объектов, какие у нас есть. Несмотря на наивность подхода, в сочетании с дополнительными графическими средствами (выделение элементов списка цветом, шрифтом, иконками) и гибкой сортировкой может быть достаточно удобен. 2. Иерархия Случай файловой системы. Папки, в каждой — другие папки и объекты. Система, в общем, общепринятая, но обладает некоторыми недостатками. * если папок немного (мы предполагаем, что объектов много), то в каждой из них находится большое количество объектов — возвращаемся к случаю (1) — найди свой файлик в папке где их 10 000. * если папок много — файлы по ним распределяются, как правило, неравномерно. Возникает множество случаев вроде
(Хотя уже внутри папки Scripting всего 8 вложенных файлов, для порядка у нее еще куча подпапок) * логика иерархии не всегда очевидна (потому как вышеозначенный Python вполне себе мог оказаться в Web-Design/Server/Languages или еще где) 3. Поиск Тоже понятная вещь — Гугль тебе в руки и электричку навстречу. Про достоинства и недостатки, думаю, все сами понимают. На мой вкус, поиск вещь для большой базы необходимая, но как единственный метод навигации, применяться не должен (пожалуйста, не приводите в опровержение Internet. А если приводите — пожалуйста, не пользуйтесь гиперссылками и закладками). 4. Ссылки Ссылки. Имеем кучу объектов и ссылки между ними. Метод поиска нужного — от объекта к объекту по ссылкам, пока не придем куда шли. Недостатки понятны: ссылки — вещь произвольная, длина и существование пути между двумя некоторыми объектами — величина случайная. 5. Отбор Изначально имеем список всех доступных в базе объектов, но используя различные критерии фильтрации, сужаем список, до объема в котором объект комфортно "найти глазами". Мой выбор: отбор + поиск (+ опционально ссылки). ЗЫ: на самом деле этот пост — естественно, о том, что отбор предпочтительней иерархии FAQ — це мiй ай-кью! | |
| Re: [Юзабилити-блог] Навигация по большому массиву | Оценить ![]() ![]() ![]() ![]() ![]() ![]() |
| От: | Кодт rsdn | |
| Дата: | 25.09.05 11:00 | |
| Оценка: | +1 | |
| Здравствуйте, Зверёк Харьковский, Вы писали: ЗХ>ЗЫ: на самом деле этот пост — естественно, о том, что отбор предпочтительней иерархии Иерархия — это вырожденный случай фильтрации (по единственному, фиксированному пути). В конце концов, никто не мешает выводить список всех-всех-всех файлов и подпапок данной папки; спускаясь, мы это множество сужаем А спуск по рубрикатору может производиться по разным траекториям. — Программирование — языки — скриптовые — питон — мануал — python.chm — Животные — программирование — питон — мануал — python.chm — Мануалы — python.chm (больше мануалов не нашлось Интересный вопрос при этом: какие пункты должны попасть в верхний уровень рубрикатора, а какие — нет. Скажем, питон — наряду с ещё сотней языков программирования, или же питон доступен, а перл нет?.. То ли здесь важен индекс популярности, то ли ещё какие-то метрики, то ли систему надо настраивать. Перекуём баги на фичи! |
| Re[2]: [Юзабилити-блог] Навигация по большому массиву | Оценить ![]() ![]() ![]() ![]() ![]() ![]() |
| От: | Зверёк Харьковский | |
| Дата: | 25.09.05 11:23 |
| Здравствуйте, Кодт, Вы писали: ЗХ>>ЗЫ: на самом деле этот пост — естественно, о том, что отбор предпочтительней иерархии К>Иерархия — это вырожденный случай фильтрации (по единственному, фиксированному пути). К>В конце концов, никто не мешает выводить список всех-всех-всех файлов и подпапок данной папки; спускаясь, мы это множество сужаем Вот когда они будут выводиться — тогда иерархия и будет частным случаем фильтрации К>А спуск по рубрикатору может производиться по разным траекториям. К>- Программирование — языки — скриптовые — питон — мануал — python.chm К>- Животные — программирование — питон — мануал — python.chm К>- Мануалы — python.chm (больше мануалов не нашлось К>Интересный вопрос при этом: какие пункты должны попасть в верхний уровень рубрикатора, а какие — нет. К>Скажем, питон — наряду с ещё сотней языков программирования, или же питон доступен, а перл нет?.. К>То ли здесь важен индекс популярности, то ли ещё какие-то метрики, то ли систему надо настраивать. Мммм... Не понял. Тут имеется в виду все же иерархический рубрикатор? FAQ — це мiй ай-кью! | |
| Re[2]: [Юзабилити-блог] Навигация по большому массиву | Оценить ![]() ![]() ![]() ![]() ![]() ![]() |
| От: | wraithik | |
| Дата: | 25.09.05 11:40 | |
| Оценка: | 4 (1) | |
| Здравствуйте, Кодт, Вы писали: К>Интересный вопрос при этом: какие пункты должны попасть в верхний уровень рубрикатора, а какие — нет. К>Скажем, питон — наряду с ещё сотней языков программирования, или же питон доступен, а перл нет?.. К>То ли здесь важен индекс популярности, то ли ещё какие-то метрики, то ли систему надо настраивать. Наверх ИМХО (по опыту 1С) должны попасть наиболее редкие храктеристики товара. Т.е. например есть справочник номенклутуры товаров и услуг. В нем много элементов (10к и выше у средней торговой компании). там впрос решается названием "Пиво Балтика №3" — "Балтика №3 Пиво". Т.е. если человек при локаторном поиске ткнет "балтика", он уже фактически будет стоить на продукции балтики, а как вы понимаете это значительно меньше чем фильтр по "пиво". |
| Re: [Юзабилити-блог] Навигация по большому массиву | Оценить ![]() ![]() ![]() ![]() ![]() ![]() |
| От: | wraithik | |
| Дата: | 25.09.05 11:43 |
| Наводящий вопрос: а пользователь знаком со справоником, или же он его видит в первый раз? Дело в том что от этого изменится оптиммальный способ поиска. |
| Re[2]: [Юзабилити-блог] Навигация по большому массиву | Оценить ![]() ![]() ![]() ![]() ![]() ![]() |
| От: | Зверёк Харьковский | |
| Дата: | 25.09.05 12:18 |
| Здравствуйте, wraithik, Вы писали: W>Наводящий вопрос: а пользователь знаком со справоником, или же он его видит в первый раз? W>Дело в том что от этого изменится оптиммальный способ поиска. Интересно. А в какую сторону? FAQ — це мiй ай-кью! | |
| Re[3]: [Юзабилити-блог] Навигация по большому массиву | Оценить ![]() ![]() ![]() ![]() ![]() ![]() |
| От: | wraithik | |
| Дата: | 25.09.05 12:34 |
| Здравствуйте, Зверёк Харьковский, Вы писали: ЗХ>Здравствуйте, wraithik, Вы писали: W>>Наводящий вопрос: а пользователь знаком со справоником, или же он его видит в первый раз? W>>Дело в том что от этого изменится оптиммальный способ поиска. ЗХ>Интересно. А в какую сторону? Ну если человек не значет структуры справочника — то поиск по не точному совпадению (релативный поиск вроде назвается, такое писал один раз). А если знает. То дополнительные классификаторы + иерараххия + локаторный поиск рулят. Но только если справоник хоршо структуриован и пользователь это знает. |
| Re[4]: [Юзабилити-блог] Навигация по большому массиву | Оценить ![]() ![]() ![]() ![]() ![]() ![]() |
| От: | Зверёк Харьковский | |
| Дата: | 25.09.05 12:58 |
| Здравствуйте, wraithik, Вы писали: W>>>Наводящий вопрос: а пользователь знаком со справоником, или же он его видит в первый раз? W>>>Дело в том что от этого изменится оптиммальный способ поиска. ЗХ>>Интересно. А в какую сторону? W>Ну если человек не значет структуры справочника — то поиск по не точному совпадению (релативный поиск вроде назвается, такое писал один раз). W>А если знает. То дополнительные классификаторы + иерараххия + локаторный поиск рулят. Но только если справоник хоршо структуриован и пользователь это знает. Т.е. отбор Вы отвергаете вааще? FAQ — це мiй ай-кью! | |
| Re[5]: [Юзабилити-блог] Навигация по большому массиву | Оценить ![]() ![]() ![]() ![]() ![]() ![]() |
| От: | wraithik | |
| Дата: | 25.09.05 13:09 | |
| Оценка: | 32 (1) +1 | |
| Здравствуйте, Зверёк Харьковский, Вы писали: ЗХ>Здравствуйте, wraithik, Вы писали: W>>>>Наводящий вопрос: а пользователь знаком со справоником, или же он его видит в первый раз? W>>>>Дело в том что от этого изменится оптиммальный способ поиска. ЗХ>>>Интересно. А в какую сторону? W>>Ну если человек не значет структуры справочника — то поиск по не точному совпадению (релативный поиск вроде назвается, такое писал один раз). W>>А если знает. То дополнительные классификаторы + иерараххия + локаторный поиск рулят. Но только если справоник хоршо структуриован и пользователь это знает. ЗХ>Т.е. отбор Вы отвергаете вааще? Нет. Вы меня не верно поняли. Есть куча элеметов. Есть Н классификаторов. Для ?каждого? классфикатора у элемента создается своство. Т.е. человек допустим сперва по свойству "Вид товара" выберет "Пиво" (т.к. классификатор видов товаров на порядки меьше классификатора товаров, то выбор будет произведен быстро) ну и т.д. И Кодт выше заметил верно, что иерахи — частный случай отбора (от себя — это отбор по родителею). Я просто хотел сказть — что "серебряной пули" нет. Т.е. все решается комплексно и по разному (для разных задач поиска). А сам бы рекомендовал сперва масксимально сузить количество элементов (т.е. все возможные фильтры), а потом заниматься поиском. |
| Re: [Юзабилити-блог] Навигация по большому массиву | Оценить ![]() ![]() ![]() ![]() ![]() ![]() |
| От: | Mamut | http://dmitriid.com/ |
| Дата: | 26.09.05 04:47 | |
| Оценка: | 4 (1) | |
| Re: [Юзабилити-блог] Навигация по большому массиву | Оценить ![]() ![]() ![]() ![]() ![]() ![]() |
| От: | c-smile | http://terrainformatica.com |
| Дата: | 26.09.05 05:22 | |
| Оценка: | 10 (2) | |
| Здравствуйте, Зверёк Харьковский, Вы писали: Посмотри классификатор в evernote(.com). Имхо очень правильно сделано. Есть категории — это тэги в простонародье. Какждая нота может принадлежать многим категориям. Тыкаешься в списке категорий в "Питон" — он строит дерево — по всем нотам с Питон какие еще категории есть — пересечение. Т.е. если есть две ноты с тэгами Питон, Программирование и Питон, Кормежка. То "думатель" тебе построит автоматически дерево.
Помимо ручных тэгов есть еще автоматические всяко разны — Ноты с картинками, клипы из интернета, ручные, фотографии. ну и плюс есть поиск по словам — "найти все ноты со словом Питон" результаты поиска можно тоже обозвать категорией — автоматический тэг "все ноты со словом Питон". Имхо, категории и лента это самый "цимус" в evernote. Думаю тебе имеет смысл перенять. |