Что же делать с кейвордами?

Будет очень интересно почитать планирующуюся культовую смирновскую книжку «Как перестать классифицировать записи и начать писать», потому, что без книжки этого понять невозможно. Вот пишет, например, Вадим про нити. Ну как не высказать своё мнение на этот счёт? Обязательно надо высказать. Высказываю.

  1. Нити и кейворды — это одно и то же;
  2. Не нужно плодить лишние сущности без надобности.

Вот есть у тебя цепочка заметок по поводу одной задачи, типа «поставлена задача» — «возможные пути решения» — «решена вот так», ну и что мешает создать кейворд «задача»? Просто сделай кейворд, зачем его называть словом «нить»? Тут есть два варианта: или Вадим не дописал о каких-то потайных функциях нитей, или он просто не понял, что это то же самое, что и кейворды. Разумеется, я склоняюсь к первому. Точнее, даже, надеюсь на первое; а также на то, что он напишет что-нибудь на эту тему.

Тем не менее, хоть функционально кейворды и нити — это одно и то же, семантически это всё-таки разные вещи, поэтому нужно придумать и функциональность какую-нибудь, которая была бы связана как-то с этой разницей. Например:

  • в любой заметке, участвующей в нити, должна быть ссылка на предыдущую и следующую заметки именно этой нити;
  • когда мы открываем страницу кейворда-нити, то заметки должны выводиться в режиме «новые снизу», чтобы за темой можно было нормально следить.

По этому поводу у меня уже давно есть, например, мысль ввести синтаксис prevkey и nextkey для вставки ссылок на предыдущую и следующую заметки, содержащие хотя бы один из кейвордов данной. Возможность отображать «новые снизу» реализовать вообще не трудно. Можно даже просто сделать, чтобы по /keywords/path/to/key выдавались новые сверху, а по /threads/path/to/key — снизу.

В конце концов, ничего не мешает сделать в таблице Keywords столбец IsThread, чтобы формально отделить кейворды от нитей. Но я лично в этом не вижу смысла.

Что ещё? А, вот что. Кейворды, в отличие от нитей, не теряют актуальности. То есть, задачу ты поставил и решил, а про идиотов, например, можно писать всегда — тема неисчерпаема. Благодаря Юлии Шабунио в e2 можно сортировать кейворды по дате последнего использования. В этом случае, неактуальные нити постепенно будут сдвигаться вниз.

В e2 Release 1.02 предположительно будет очень крутая штука, которая позволит ориентироваться в бесконечных кейвордах и нитях, а также отличать те кейворды, которые по сути кейворды от тех, которые по сути — нити. Причём, без IsThread.

Теперь немного о том, какая же всё-таки структура кейвордов является самой правильной? Линейная, древовидная или в стиле R2?

Проблема линейной структуры том, что кейворды (сюрприз!) никак не связаны друг с другом. Получается, что «программирование» и «PHP» настолько же самостоятельные темы, насколько «снукер» и «toki pona». Но это не так, программирование и PHP — близкие темы. И это хочется как-то обозначить в структуре, потому, что нужно как-то связать соответствующие заметки друг с другом. Программирование — это более общая тема, чем PHP, Delphi и mySQL. Исходя из этой посылки возникают древовидные кейворды.

Однако, у древовидных кейвордов тоже полно проблем: в половине случаев непонятно, какая тема является общей для двух других. Мой случай, например: я не знаю, «комментатор Саша» должен быть субкейвордом «снукера» или «идиотов»? По идее, и того и другого. В результате этих рассуждений возникают кейворды в стиле R2 (aka «паутинообразные»)

Но и тут не всё гладко. Новая проблема состоит в том, что нам обязательно нужно определиться с тем, какой из двух связываемых кейвордов является более общим. А это не всегда легко/возможно. То, что «fight club» по отношению к «кино» кейворд дочерний — сомнений не вызывает; но вот я, например, не знаю, как бы я связал «Лебедева» и «дизайн». Однако, связать бы их хотел.

Поэтому теперь я думаю, что самая правильная система — это ассоциативная система кейвордов. Всё как у Смирнова, только вместо связей «содержит в себе» и «входит в» мы делаем просто «связан с». Ага?

Дальше, на странице любого кейворда мы пишем «См. также» и перечисляем ссылки на связанные кейворды. По-моему, вот так и надо делать.

Разумеется, кейворды «PHP 5» и «программирование» связаны сильнее, чем «PHP5» и «web-строительство». Поэтому, по кейворду «PHP 5» хотелось бы видеть:

Cм. также: PHP, программирование, web-строительство

То есть, именно в таком порядке, а не, скажем, по алфавиту. Для этого можно ввести необязательный параметр «сила связи» и дать возможность задавать его при связывании.

Вот такие мысли.

Дальше
8 комментариев
Spectator 2004

Лебедев «входит» в «дизайн». При всем уважении к этому мудаку, ставить понятие «дизайн» дочерним к Лебедеву было бы архиглупо.

Идеальная система — когда есть «содержит в себе», «входит в» и «СОПРИКАСАЕТСЯ» (а не «связан с»). Уж про множества-то ты должен знать.

Илья Бирман

Благодаря тому, что я знаю про множества, я имею все основания говорить, что сказанное тобой к ним не имеет никакого отношения.

А про Лебедева и дизайн — ну не самый удачный пример, согласен, до тех пор, пока их двое. Но вот когда мы делаем кейворд «Лебедев путешествует» (например, мы регулярно пишем обзоры его путешествий по городам России и не только) и ставим его дочерним к «Лебедеву», то получается полный бред:

дизайн > Лебедев > Лебедев путешествует

Именно поэтому Лебедев связан с дизайном, а не дочерний к нему.

Лёха zloy и красивый 2004

Сначало оапределю, что я имею в виду, когда говорю:
тред — цепочка поставленых задач и их решеий.
кейворды — сортировка постов по смыслу.

Для кого делают кейворды? Для пользователей или авторов? Для юзера линейны кейворды в этом плане самые удобные. Кагда говорят «партия» я не подрузомеваю Ленина и наоброт. Партия и Ленин для меня разделены так же, как программирование и php, дизайн и Лебедев.

Юзер кликает на кейворд «php» и он хочет читать про php. Ему не нужен какой-то дочерний, например, кейворд «e2» об e2 он почитает именно в кейвордах о e2, да хоть об ж10 — не суть важно.

У Димы Смирнова хорошо реализованы кейворды, но оно нужно кому-нить, акромя Димы? Простому юзеру от этого ни холодно, ни жарко. Заместо «включает в себя» проще вывести все имеющиеся кейворды, т. е. чтобы при просмотри тем одной категории на видном месте были и другие. В этом плане «включает в себя» просто сортированный вывод этих самых «остальных», только не «всех» :).

Фильм «Челести» о том, как большая акула ест людей, там нет подтекста, нет философии. Зачем усложнять?

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

В организации треда я с тобой согласен. На http://artreal.exler.ru она не совсем удобна, хотя бы потому что самый важный пост, первый, где раскрывается (должна, по крайней мере) проблема, почему-то в самых ебенях.

З.Ы. Ладно, зачем пишу? Всё равно удалишь ведь.

Илья Бирман

Почему же удалю?

Spectator 2004

Сейчас я вас всех изоблачу у себя!

Илья Бирман

Отвечаю на изоблачение:

Удовольствием-то хочется делиться с другими!

iogan18tm 2004

Ну вот, г-н Смирнов как всегда — проонанировал перед всей толпой, ему объяснили, что надо «выше локоть, кисть плавней». На что он обиженно заметил — главное получать удовольствие. И добавил — все равно как я вы онанировать не сможете. Хе-хе. Следует за Сократом...

Илья Бирман

Путь у него такой.

BOLK 2004

Нешуточные страсти...

codex 2004

Мне, как пользователю, удобнее по линейным кейвордам ползать, а как автору — по хитрожопой системе ните-древо-относительной системе свои мысли отслеживать и классифицировать. Так что вывод — пользователям показываем линейные кейворды, а для себя в админке строим чудо-дерево. Другой вопрос, если хочется померяться пиписьками.

Захар 2004

Ого! Вношу предложение: объединить усилия, издать пособие по классификации и катологизации записей в блогах, перевести на 33 языка мира и продать буржуям. А то пока вы тут разглагольствуете, clops уже налаживает сбыт своей inTerra за бугор.

Laborant 2004

Концепция понравилась, осталась только дождаться ее воплощения.

PS
Хоть Смирнов и больше верит в Clops’a — не брошу Илью.

Мои книги