Wiki 2.0
// 9 апреля 2008 годаWiki – довольно странный нишевый продукт. Довольно странный потому, что этим старьем все еще пользуются. А пользуются им – что тоже довольно странно – потому, что ничего лучшего до сих пор и нет.
А ничего лучшего до сих пор нет, потому что продукт нишевый, и совместная работа над текстами не такая уж и популярная вещь. Есть много продуктов из соседних ниш.
С другой стороны, я сейчас работаю с вики, время от времени у меня рождаются мысли, как всё исправить, но носят они в основном мирный характер «всё закопать и переделать».
На мой взгляд, человеческая система совместной работы с документами должна обладать следующими признаками:
1. WYSIWYG.
Другое дело, что почти все WYSIWYG системы делали тоже
Такая банальная вещь, как проставление ссылки, например, везде реализована одинаково неудобно: при редактировании ссылка должна выглядеть, как ссылка, но никто не говорит, что она должна вести себя так же.
Ибо оно
2. Отделение метаинформации от котлет.
Другое дело, что так исторически сложилось, что правим мы документ сразу вместе со включенной в него разметкой, хотя самый первый
Это было лирическое отступление.
Есть текст, к нему есть метаинформация, например, те же комментарии. Текст – отдельно, метаинформация – отдельно. Должным образом это реализовано, например, в MS Word’е в режиме правки текста: исходный текст, а к нему – правка. Их можно сливать, но это все равно разные слои.
Правка текста – это и есть дополнение текста актуальной метаинформацией.
В вики же популярный способ коллективной правки совсем варварский: включаем красненький текст и прямо по чужому тексту фигачим, вставляя свою подпись.
Да здравствует
Минусы очевидны: когда нам вдруг понадобится «просто текст», пусть даже и не в самой утвержденной версии, придется отчищать текст от правок. Ну, или брать старую версию. (Механизм версий, кстати, это единственная правильная вещь, которая есть в Вики).
«Комментарии к тексту» не работают: люди комментируют обычно
Вполне очевидно, что доступ к созданию метаинформации и доступ к ее закреплению в документе – это два разных доступа. Как и доступ на чтение метаинформации и доступ на чтение документа вообще.
3. Работа с атомарными единицами.
Как правильно отделить метаинформацию от остального не понятно до тех пор, пока мы не решим, что является минимальной неделимой единицей текста.
Ей является абзац. А не документ.
Смотри Библию. До тех пор, пока не наступит просветление. После того, как мы осознали эту мысль и смирились с ней, всё становится совсем просто:
Ну и так далее. Перемещение, добавление, удаление абзацев отслеживается легко.
При этом у нас WYSIWYG (помните?), поэтому внутренности, типа <p id=964d72e72d053d501f2949969849b96c> пользователь не увидит. Самые умные уже догадались, как осуществляется контроль версий. Да, тоже поабзацно. (Он и сейчас так осуществляется, но только потому, что так проще).
На уровне дизайна реализовать это всё тоже легко: у каждого абзаца есть «плюсик», раскрывающий всю метаинформацию о нем и дающий доступ ко всем инструментам. Там же – индикатор, что крестик не пустой, «этот абзац имеет 4 новых комментария и статус КГ/AM».
Когда все плюсики закрыты, текст является нормальным «человеческим» текстом, который и людям показать не стыдно. Опция expand all тоже есть.
При этом – хаха – вики должна быть настраиваема для работы на двух мониторах: в первом текст, во втором (окне браузера) – содержание «плюсиков».
Главное, в чем стоит отдавать отчет: текст для совместной работы – совсем не художественный текст, а писать в формате «абзац = мысль» нормальный человек обучается быстро. А если не обучается – то атата по попе ему, по попе.
Деление на абзацы не искусственное «ограничение» на уровне движка, оно должно поддерживаться авторами на уровне структуры текста и быть всегда в голове.
Правка же чужого текста в формате «если ты такой крутой, предложи абзац другой» гораздо более продуктивна.
4. Автоматизация связей и гипертекстовость.
Все мы не любим очень умные программы, так ведь? Однако же.
Создал я в Вики два документа: something/terrible и something/awful. Что должно быть по адресу something/, если там ничего не было? Правильно список документов в something/*, с возможностью его перезаписать на
Вообще, у возможности легко создавать страницу с любым адресом минусов больше, чем плюсов: это полный аналог вебдвальных тэгов на массовых сервисах, когда есть и «кошки» и «коты» и «котята» и всё это – разное.
Не могут люди нецентрализованно создать структурообразующую вещь. А она нужна, потому что иначе не навигация, а каша.
Выхода три: либо закреплять правила адресации на уровне договоренности, либо – на уровне «движка», либо нужен «модератор».
Из удобных «автоматизаторских» возможностей в Вики есть только автоматическое создание оглавления {{TOC}}. Хотя по такому же принципу можно было сделать много полезного: список всех внешних/внутренних ссылок в тексте, например.
Ну и прочие мелочи. Например, при расстановке ссылок, если описание ссылки не задано, то надо считывать содержимое title указанной страницы и ставить его в описание. Title и есть заголовок страницы, алё!
Итого:
Есть текст. К тексту есть обновляемая метаинформация. Слияние текста и метаинформации и есть работа над текстом. У текста есть минимальная смысловая единица (абзац), все действия производятся, прежде всего, над ней.
Ну и в конце – почему это все не будет работать. Дело в том, что есть – увы – интерфейс в разы лучше. Называется он «говорить голосом». Ничего более эффективного, чем «человек пишет текст – мы собираемся и обсуждаем текст вслух – человек дорабатывает текст и потирает жопу» не придумать всё равно.
Поэтому «пугающие» цифры, типа «85% страниц в Вики были написаны авторами в одиночку» отражение вполне нормального и эффективого способа, с учетом внешней коммуникации.