Провокационное: про рабочие инструменты. Катехизис. |
[Jun. 19th, 2009|03:01 am] |
В порядке наброса Чтобы как-то зафиксировать позицию, аргументировать лень. В разговоре с dari_dac и bart_igor сформулировал свой взгляд на то, какими должны быть форматы электронных документов.
0. Сама концепция "документа" — тяжёлое наследие бумажной эпохи и должна быть забыта как можно скорее1. Идея "документ == файл" — откровенно мудацкая и должна быть забыта ещё раньше2. 1. Хороший, годный формат для короткого неструктурированного текста: плоский текст. Хороший, годный формат для небольшого объёма табличных данных: csv3. 2. Там, где мы не можем договориться о форматах (пример: "я хочу узнать о ценах в этом магазине"), мы для обмена информацией используем веб4. Там, где есть стабильные потоки информации, мы используем специально заточенные под эти потоки системы, возможно, работающие через тот же веб (пример: АСУ какая-нибудь)5. 3. Если над текстом работает несколько человек, текст должен существовать в единственном экземпляре. То же верно и для других видов данных. Хранение авторства правок, контроль версий, комментарии добавить по вкусу (пример: wiki-движки; Google Documents; LaTeX, хранящийся в системе контроля версий типа git или svn; DocBook, хранящийся в системе контроля версий типа git или svn)6. 4. WYSIWYG не годится для подготовки больших структурированных текстов7. Если вы этого не понимаете, вы не пробовали писать или править большие структурированные тексты, или очень неленивы и достаточно умны, чтобы держать в голове огромное количество ненужных для вашей непосредственной задачи вещей, или не уважаете свой труд, или не уважаете тех, кому эти тексты достаются после вас, или непроходимо тупы. Структура документа должна быть видна при редактировании, элемент должен кагбе говорить нам не "я выделен жырным шрифтом", а "я заголовко", или "я сноско", или "я термин для предметного указателя". (Примеры: LaTeX, DocBook, отчасти wiki-движки.)8 5. Всю работу, достаточно тупую, чтобы её могла делать машина, должна делать машина. Работа по нумерованию заголовков (в том числе вложенных), элементов списков (в том числе вложенных), ссылок на другие разделы документа — достаточно тупая работа. Работа по составлению предметного указателя — достаточно тупая работа. Работа по составлению оглавления — достаточно тупая работа. Работа по поддержанию корректности внутренних ссылок ("смотри рисунок X на странице Y") — достаточно тупая работа9. (Примеры: LaTeX, DocBook, отчасти — wiki-движки, очень отчасти ворд, очень отчасти Google Documents.) 6. Инструмент должен быть устроен так, чтобы им было удобно пользоваться, а не так, чтобы с его помощью можно было без обучения сделать что-то. Если удобство и пологую (на начальном отрезке) кривую обучения нельзя совместить, следует выбрать удобство. 7. Интероперабельность рулит. Чем больше инструментов в цепочке пользователь может заменить на свои любимые, тем пользователю удобнее. Навязывание конкретных инструментов — плохо, огромный комбайн, имеющий свой инструмент для каждой из решаемых с его помощью подзадач — хуже всего: "гидросамолёт плохо плавает и плохо летает". 8. Бинарные форматы — говно. Закрытые стандарты — говно. Примеры опускаю за очевидностью. 9. Все способы хранить табличную информацию, кроме csv и полноценной БД, являются вредными и еретическими. Аминь.
P.S. Я, вообще-то, помню, что в большинстве случаев то, как именно мы будем работать с некими данными, определяем не мы.
1О, эти подростки и пожилые гуманитарии, задающие нехитрый вопрос, присылая пустое письмо, в котором вордовский файл на десять мегабайт с тремя строчками текста! 2О, эти сотрудники пенсионного возраста, при наличии в конторе работающей сети таскающие друг другу на флешках из корпуса в корпус вордовские файлы с горой вирусов впридачу! 3Офисные приложения здесь — явный overkill. 4Офисные приложения здесь — гнусное издевательство над своим корреспондентом: вместо "запустил браузер, открыл страничку, прочёл" получается "запустил браузер или почтовый клиент, получил ссылку, ткнул", дальше в лучшем случае — "открыл документ и прочёл", в худшем — "убедился, что офисное приложение не работает, или заглючило, или не понимает эту версию формата, выругался, установил нужное, ткнул на ссылку, прочёл". 5Офисные приложения здесь — дикий анахронизм, делающий "электронный документооборот" таким же маразматичным и неуправляемым, как и бумажный. 6Я видел SharePoint. Я смеялся. Я очень смеялся, пока не узнал, что мне предлагается с этим поработать. К счастью, использовать это для какой-либо разумной деятельности не смог ни один мой коллега, я вообще сомневаюсь, что это возможно. Нет, я понимаю, что любимая стратегия "инноваций" от M$ — взять чужую популярную технологию, передрать целиком и выдать за свою, но раз уж решили переизобрести wiki, зачем было делать это так паршиво? 7Интерфейс ворда при использовании его продвинутым пользователем — вообще говоря, не WYSIWYG. И это, как раз, хорошо — только не надо после этого расказывать про пологую (благодаря WYSIWYG) кривую обучения. 8Как вам книжка в ворде страниц на триста, в которой все абзацные отступы сделаны пробелами, все заголовки — с помощью выделения жирным шрифтом и центрирования, все разрывы текста — с помощью ручной вставки пустых строк? А теперь представьте, что вокруг всего этого наворочено сложное форматирование из табличек и картинок, тоже вручную. А теперь представьте, что вам это принесли и сказали поправить. А ведь это пример из реальной жизни. Реальный, блядь, пример. Реальный пример, блядь. Блядь, реальный пример. Блядь. Блядь. 9Долго искал в ворде возможность сделать нумерованный список литературы, ссылки на который будут перенумеровываться при добавлении в середину списка нового источника. Не нашёл. Хотя допускаю, что где-то глубоко в интерфейсе ворда такая возможность есть. Где-то. Глубоко. |
|
|