контент
16 заметок
терапия
Сейчас этот блог в основном про психотерапию.
как правильно
Слушайте меня, я вас научу правильно жить.
психология
Буржуазная лже-наука, пытающаяся выявить закономерности в людях.
практика
Случаи и выводы из психотерапевтической практики.
кино
Фильмы и сериалы.
книги
Это как кино, но только на бумаге.
nutshells
«В двух словах», обо всем.
дорогой дневник
Записи из жизни (скорее всего, не интересные).
беллетристика
Мои литературные произведения и идеи.
духовный рост
Когда физический рост кончается, начинается этот.
дивинация
Как предсказывать будущее.
половой вопрос
Про секс и сексуальность.
заяижопа
Творческий дуэт с моей женой.
магия
«Магическое — другое название психического».
Карл Юнг
игровой дизайн
Раньше я делал игры.
игры
Компьютерные игры.
язык
Слова там всякие.
людишки
Уменьшительно-ласкательно и с любовью.
культ личности
Про великих людей (то есть, в основном про меня).
hwyd
Уникальная Система Прививания Привычек.
буклет
я
идеи
блоги
spectator.ru
дети
wow
вебдев
музыка
контент
программирование
религия
дейтинг
диалоги
яндекс
кулинария
coub
fitness
символы
йога
шаманизм
tiny
ребенок

Wiki 2.0

16 лет назад в категориях вебдев контент

Wiki – довольно странный нишевый продукт. Довольно странный потому, что этим старьем все еще пользуются. А пользуются им – что тоже довольно странно – потому, что ничего лучшего до сих пор и нет.

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

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

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

1. WYSIWYG.

Да-да, именно оно. Вики-синтаксис – это полумера, half-assed решение для полугиков. Выделять наклон, как //а вот это наклон// якобы интуитивно понятней, чем тэги, но на самом же деле это такая очень странная реализация WYSIWYG для бедных: «палочки-то наклонные».

Другое дело, что почти все WYSIWYG системы делали тоже какие-то странные люди и почему-то с прицелом на хомячков.

Такая банальная вещь, как проставление ссылки, например, везде реализована одинаково неудобно: при редактировании ссылка должна выглядеть, как ссылка, но никто не говорит, что она должна вести себя так же.

Ибо оно все-таки WYSIWYG, а не WYGIWYGD (What you get is what you get, duh).

2. Отделение метаинформации от котлет.

HTML-тэги являются «невидимым» мета-слоем текста («разметкой»). Желающие могут взять любой несуществующий тэг, например, и посмотреть его в браузере. Выдается что? Правильно — пустота.

Другое дело, что так исторически сложилось, что правим мы документ сразу вместе со включенной в него разметкой, хотя самый первый html-редактор был, конечно же, WYSIWYG’ным. Если бы html был бинарным форматом, а не текстовым – всё могло бы сложиться хорошо.

Это было лирическое отступление.

Есть текст, к нему есть метаинформация, например, те же комментарии. Текст – отдельно, метаинформация – отдельно. Должным образом это реализовано, например, в MS Word’е в режиме правки текста: исходный текст, а к нему – правка. Их можно сливать, но это все равно разные слои.

Правка текста – это и есть дополнение текста актуальной метаинформацией.

В вики же популярный способ коллективной правки совсем варварский: включаем красненький текст и прямо по чужому тексту фигачим, вставляя свою подпись.

Да здравствует анти-семантика.

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

«Комментарии к тексту» не работают: люди комментируют обычно какую-то одну конкретную мысль из текста; комментировать весь текст целиком можно только в виде «спасибо, прочитал».

Вполне очевидно, что доступ к созданию метаинформации и доступ к ее закреплению в документе – это два разных доступа. Как и доступ на чтение метаинформации и доступ на чтение документа вообще.

3. Работа с атомарными единицами.

Как правильно отделить метаинформацию от остального не понятно до тех пор, пока мы не решим, что является минимальной неделимой единицей текста.

Ей является абзац. А не документ.

Смотри Библию. До тех пор, пока не наступит просветление. После того, как мы осознали эту мысль и смирились с ней, всё становится совсем просто:

  • Каждый абзац можно комментировать.
  • К каждому абзацу можно предложить правку. (Исправление опечаток смысловой правкой не является и должно быть реализовано через ОРФУС-подобную систему).
  • На каждый абзац можно сослаться (ну, это само собой).
  • К каждому абзацу можно поставить сноску (сносками к каждому слову можно пожертвовать). Сноска, впрочем, всего лишь расширение следующего: каждый абзац может иметь ссылки/связи, типа «смотри также» или «читай до этого», — типы связей, строго говоря, могут быть совсем разные. Ссылки отдельно от текста нужны, если нельзя поставить ссылку в тексте без ущерба для смысла или лаконичности. (Это функционал совсем для гиков, он не обязателен, но показывает общее направление мысли).
  • Каждому абзацу можно выставить статус. Статус «переписать, устарело» у абзаца гораздо более осмысленен, чем у всего текста.

    Ну и так далее. Перемещение, добавление, удаление абзацев отслеживается легко.

    При этом у нас WYSIWYG (помните?), поэтому внутренности, типа

    пользователь не увидит. Самые умные уже догадались, как осуществляется контроль версий. Да, тоже поабзацно. (Он и сейчас так осуществляется, но только потому, что так проще).

    На уровне дизайна реализовать это всё тоже легко: у каждого абзаца есть «плюсик», раскрывающий всю метаинформацию о нем и дающий доступ ко всем инструментам. Там же – индикатор, что крестик не пустой, «этот абзац имеет 4 новых комментария и статус КГ/AM».

    Опять-таки, ajax и прочий вебдваноль.

    Когда все плюсики закрыты, текст является нормальным «человеческим» текстом, который и людям показать не стыдно. Опция expand all тоже есть.

    При этом – хаха – вики должна быть настраиваема для работы на двух мониторах: в первом текст, во втором (окне браузера) – содержание «плюсиков».

    Главное, в чем стоит отдавать отчет: текст для совместной работы – совсем не художественный текст, а писать в формате «абзац = мысль» нормальный человек обучается быстро. А если не обучается – то атата по попе ему, по попе.

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

    Правка же чужого текста в формате «если ты такой крутой, предложи абзац другой» гораздо более продуктивна.

    4. Автоматизация связей и гипертекстовость.

    Все мы не любим очень умные программы, так ведь? Однако же.

    Создал я в Вики два документа: something/terrible и something/awful. Что должно быть по адресу something/, если там ничего не было? Правильно — список документов в something/*, с возможностью его перезаписать на что-то свое, а не «ой, тут ничего нет, хотите создать?». Раз уж мы имитируем папочную структуру.

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

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

    Выхода три: либо закреплять правила адресации на уровне договоренности, либо – на уровне «движка», либо нужен «модератор».

    Из удобных «автоматизаторских» возможностей в Вики есть только автоматическое создание оглавления — {{TOC}}. Хотя по такому же принципу можно было сделать много полезного: список всех внешних/внутренних ссылок в тексте, например.

    Ну и прочие мелочи. Например, при расстановке ссылок, если описание ссылки не задано, то надо считывать содержимое title указанной страницы и ставить его в описание. Title и есть заголовок страницы, алё!

    Итого:

    Есть текст. К тексту есть обновляемая метаинформация. Слияние текста и метаинформации и есть работа над текстом. У текста есть минимальная смысловая единица (абзац), все действия производятся, прежде всего, над ней.

    Ну и в конце – почему это все не будет работать. Дело в том, что есть – увы – интерфейс в разы лучше. Называется он «говорить голосом». Ничего более эффективного, чем «человек пишет текст – мы собираемся и обсуждаем текст вслух – человек дорабатывает текст и потирает жопу» не придумать всё равно.

    Поэтому «пугающие» цифры, типа «85% страниц в Вики были написаны авторами в одиночку» — отражение вполне нормального и эффективого способа, с учетом внешней коммуникации.

    Заголовок дня

    Дословно: «Как отличить спам от качественного контента» (советы для людей).

    Приплыли.

    Белогривые лошадки

    Про облако тэгов хотелось бы понудеть.

    Движки, которые выводят облако тэгов на каждой странице, не кэшируя его — ущербны. Например, Wordpress генерирует страницу «пост с комментариями» с помощью 28 (!) запросов к базе данных. Поэтому посещаемые сайты на wordpress-е (не будем показывать пальцем) тормозят безбожно.

    Совершенно же логично, что для генерации поста с комментариями — например, в этом блоге — нужно максимум три MySql запроса: 1) вывод поста, 2) вывод комментариев, 3) вывод навигации «Вы сейчас здесь».

    Облако тэгов, само по себе — идиотская идея и ненужная фигня, типа календарика. Основная ее «фишка» в том, чтобы вывести список и по алфавиту и по «важности» (выделив это размером).

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

    От сайта к сайту «оно всё разное». Запоминать ваши тэги/ключслова ни один посетитель не будет, не обольщайтесь. Сортировка по алфавиту бессмысленна.

    Сортировка по дате чуть более осмысленна, но а) интуитивно не понятна, б) часто пересекается с сортировкой по популярности (логично же, что чем больше постов по теме X, тем больше вероятность, что про эту тему недавно писалось, в) последние ключслова и так находятся под заметками на первой странице.

    «Там решено было цветом выделять последнее, хорошая мысль» — мысль вовсе не хорошая. Цветом нужно выделять только посещенные ссылки. Это принятно, интуитивно понятно, и, что самое главное — это гораздо полезней. Разноцветные ссылки — никому не понятное уебище. Даже если и подписано «Bright Color = Newer» — я захожу на сайт читать, а не оттенки цвета угадывать.

    То же самое и с размерами — размеры шрифта — показатель на самый точный. Сколько разных и различимых размеров можно запихать в одно облако? Десяток максимум. Сложнее всего быстро пробежать все «облако» глазами, ибо глаз в любом случае застревает на самых крупных элементах и дальше не идет. И это не плюс, это минус.

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

    Как надо

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

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

    Bonus track

    Хранить тэги в таблице надо так:

    1. В таблице с постами. Отдельное поле «ключслова через запятую».
    2. В отдельной таблице связей, которая имеет вид «ID поста — ID тэга».

    Это не два способа, а один, то есть хранить надо и так и так одновременно. Ценой небольшой избыточности информации мы получаем гораздо больший простр для. Минус только один: при редактировании надо редактировать и то и то, разумеется.

    Гипертекст, веб и html

    Гипертекст — идея хорошая. Прочитать про нее можно (и нужно) в моем дипломе. Но конкретно так называемый «веб» и html — предельно кривая ее реализация.

    Вот только некоторые «родовые травмы»:

    1. Односторонние ссылки.

    Абсолютный и полный бред. Если я связываю документ А с документом Б, то велика вероятность, что документ Б тоже как-то связан с документом А. Ну, если подумать, да?

    Средствами же «веба» владелец документа Б никак не знает, что на него стоит ссылка из документа А. Рефереры — это, увы, совсем не то. Думаю, не надо объяснять, почему. Trackback — кривая заплатка на эту тему, которая не работает по понятным причинам: можно «подделать» и использовать для спама.

    2. Невозможность сослаться на часть документа.

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

    Так что минимальная и единственная единица гипертекста — это один документ, то есть один URL и все, что по этому URL-у находится. В Библии и то круче сделано. Понятно, что таких единиц должно быть минимум три, условно – «папка, документ, абзац».

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

    3. Не использование децентрализации системы.

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

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

    Этот пункт вообще-то самый сложный. Если бы «весь интернет» находился «на одном сервере», то можно было бы отслеживать и перепечатки, и ссылаться на части документа, и прочее, и прочее. Интернет, однако, «у каждого свой». Да и вообще, в целом — совершенно дикий.

    Что забавно — поисковики берут на себя функцию этакого «супервизора»: стараются сначала выдавать предположительно оригинальные источники, а не перепечатки, в какой-то мере поддерживают целостность («посмотреть страницу в кэше»), стараются ранжировать информацию по «значимости».

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

    Кто виноват.

    Виноваты все. Даже мы с тобой.

    С одной стороны — создатели языка HTML, которые допустили такой дизайн, при котором язык семантической разметки мог быть использован, как язык визуальной разметки. Идеальный же дизайн не допускает использование предмета не по назначению.

    В результате вся история языка — борьба за отделение отображения (div, css) от смысловой разметки и полное отсутствие развития смысловой разметки.

    Конкретные примеры я уже приводил — невозможность сослаться на часть документа, невозможность делать банальные сноски, то есть «ветвить» документ.

    Максимум, что можно сделать – поставить якорь внутри документа на сноску и обратно. Или что-то в духе того, как я сделал в дипломе.

    Но надо отдавать себе отчет в том, что это тоже — заплатка, и каждая сноска является независимым документом, никак не связанным с основным. Наглядный пример — к чему эта сноска? Обратной-то ссылки нет, ага.

    С другой стороны — виноваты и производители сопутствующего софта, то есть браузеров, движков сайтов и даже html-редакторов.

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

    Основная проблема еще и в том, что в идеале гипертекст не только читается нелинейно, но и пишется нелинейно. Инструментов для этого практически нет. Да и всяких полезных штук в языке на этот случай — тоже.

    А если есть, то браузеры просто на них «забили».

    Например, я могу любому элементу присвоить атрибут title. Это будет практически сноска или комментарий. Более того, браузеры даже отобразят этот title, потому что должны по стандарту. Но, естественно, заранее о том, что тут есть title, они вас не предупредят. Поддержка для галочки.

    Поэтому приходится использовать самодельные заплатки и как-то самому выделять наличие title-а.

    Вообще же надо «пинать» не только html, но и всё в целом. Браузер по определению (browser) — средство навигации. Сейчас из навигации в браузерах есть только кнопки «вперед-назад», а крутизна браузера зависит от того, как хорошо он рендерит страницы.

    Например, вещи, типа link rel="next" понимают не все браузеры, хотя, если вдуматься, навигация, которая не является смысловой частью документа, обрабатываться должна именно так. Грубо говоря, меню навигации по сайту относится к сайту, а не к телу (body) html-документа, в котором оно размещено.

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

    Про взаимодействие между разными сайтами я вообще молчу.

    Что делать.

    Наиболее близка к духу гипертекста википедия. Но главным образом потому, что там как раз всё находится в одном месте. Маленький гипертекстовый рай, сделанный своими руками. Еще один пример — только не смейтесь — формат chm. Только потому, что позволяет нормально объединять несколько документов.

    Что делать — понятно: раз на html уже не повлиять, остается только писать собственный «окологипертекстовый» софт так, чтобы не было мучительно больно.

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

    Эта заметка не оплачена из кармана Яндекса.

  • «Таро как инструмент самопознания», курс от создателя spectator.ru

    Вебдваноль

    Наглядный пример, почему весь этот вебдваноль не работает. Не глядя могу сказать, что одним из самых популярных тегов на яндекс.фотки будет тэг «я». Как легко догадаться, там должен быть изображен я. Но там почему-то изображен вовсе не я, а какой-то хуй в панамке. (Смех в зале). И если вдуматься, это не шутка.. (еще 54 слова)

    Генерируемый пользователями контент

    ...Принцип user-generated content. Исследования аналитиков агентства Hitwise показывают, что эта идея потерпела крах: подавляющее большинство пользователей не испытывают никакого стремления создавать контент самостоятельно. Так, из всех пользователей знаменитого портала видеохостинга YouTube лишь 0,16% закачивают на сайт свое видео, все остальные предпочитают смотреть творения людей, входящих в эти сотые доли процента... (еще 158 слов)

    Контент/шмонтент

    content (англ.) — содержимое.
    напр., the drawer’s contents — содержимое ящика Если вы насрали в ящик — это и будет контент, потому что ящик не пустой. Отрицать, что он не пустой, и говорить, что контента там нет, потому что он плохо пахнет, а настоящий контент пахнет хорошо — глупо. (еще 153 слова)

    Головач про классификации

    Вот и Влад Головач разродился на тему классификаций. Все правильно написал. И ссылки дал хорошие.

    N-мерная связь

    Лучше вот так: любые N кейвордов могут находиться в любом N-местном отношении друг с другом! Вот теперь — полноценная система. (тут) Илья Бирман в своем желании хитро меня подколоть случайно оказался прав. Это действительно полноценная система, при этом довольно удобная. Но есть нюанс — использовать это нужно уже не по отношению к ключевым словам, а по потношению к записям. (еще 114 слова)

    ToDo: content is a whore

    ToDo: написать книгу «Сontent is a whore» и через 20 лет стать культовым писателем.
    (Интеллектуальный юмор, не всем понятен).

    Knowledge base

    Не так давно мы с вами — а верней я — рассуждал о блогах и пришел к неутешительному выводу, что бытие определяет сознание, the medium is the message, а блог — «это та ерунда, которая получилась после массовой реализации возможности быстрой и легкой публикации заметок на домашних страничках“». (еще 726 слов)

    Что такое блог

    Полтора года назад, в январе 2002 года, spectator.ru (именно spectator.ru, заостряю на этом ваше внимание) обозвали блогом. Как и Paravozov-News с Anfrax’ом. Тогда я впервые узнал это слово, и оно мне сразу же не понравилось. Потом, конечно, началось активное полоскание слова. (еще 908 слов)