Осетрина первой свежести
АрхивНа днях я побывал в компьютерном отделе большого книжного магазина - и увидел звериный оскал капитализма. "Самоучители" по Photoshop третьей версии, разнообразнейшие "энциклопедии" по Windows 95, какие-то "учебники" Internet выпуска 1995 года, Linux-справочники... На любой вкус, на любую программу, для "чайников" и профессионалов - но новехонькие книжки по большей части были... староваты.
На днях я побывал в компьютерном отделе большого книжного магазина - и увидел звериный оскал капитализма. "Самоучители" по Photoshop третьей версии, разнообразнейшие "энциклопедии" по Windows 95, какие-то "учебники" Internet выпуска 1995 года, Linux-справочники... На любой вкус, на любую программу, для "чайников" и профессионалов - но новехонькие книжки по большей части были... староваты.
Стало ясно, что - в отличие от литературы художественной, которая о добром и (думаю, пока) вечном - компьютерная литература совсем не о вечном.
Итак, торговцы компьютерными книжками, думаю, осознают, что превращаются в продавцов продовольственных товаров, на которых обязательно должна быть проставлена дата best before. А в продовольственных товарах закон понятен: осетрина бывает только первой свежести. Второй свежести - это уже не осетрина. Посмотрел я на книжные полки и вспомнил некогда популярное: "Куда они все это непроданное мясо потом девают?"
Античные конструкции программной документации с заменяющимися листочками уже не проходят: представьте, сколько стоит замена двух листочков в уже проданной книжке при тираже хотя бы 10000 экземпляров! А сколько будет стоить книжка-папка с возможностью замены страниц? Ощутите, насколько ее неудобно листать: Проще уж заменить сразу всю книжку, чем несколько ее страниц! Или выпускать периодическое издание (в котором разобраться будет невозможно уже после трех выпусков). Или задешево печатать свежую книжку сразу в магазине - прямо из издательского файла...
Программисты, конечно, учитывают врожденную неповоротливость смежников из книжной индустрии и активно переходят на безбумажную технологию. Большинство программ сегодня поставляются со стандартными help-файлами, которые по содержанию в них полезной информации уже сравнимы с бумажной документацией. Клавиша F1 работает сегодня одинаково во всех массовых (читай - для Windows 9X) программах - настолько одинаково, что моим знакомым пришлось повоевать с библиотекой от Microsoft, когда они захотели назначить на эту кнопку какую-то свою функцию, а не помощь.
Часто на F1 не останавливаются и встраивают в свои продукты контекстную помощь - от простой строчки-подсказки где-нибудь внизу окошка до забавных персонажей-аватаров, выскакивающих pop-up и поддерживающих минимальный диалог. У некоторых фирм в комплект поставки включается интерактивный учебный курс. Модным стало давать также tips (советы) при каждом старте программы. Чтения документации это, конечно, не заменяет - но через десяток запусков начинаешь понимать, что программа удобней, чем ты о ней к этому моменту думаешь...
Расхождения между версиями подобной встроенной "документации" и собственно продукта отсутствуют по определению. А в современных программах встроенная документация обновляется через Internet одновременно с основным продуктом. Дальнейший "прогресс" привел к доступности документации на некоторые продукты только в онлайн (хотя такой "прогресс" мне лично оказался неудобен).
Радикальным решением будут такие программы, к которым документация не нужна. Нет документации - нет проблемы! Например, так зачастую делается в играх. Сегодня на PC играет практически весь мир, но редко кого из игроков застанешь за чтением толстой бумажной книжки, прилагающейся к игре. Более того, некоторые игры подразумевают отсутствие документированных возможностей их интерфейсов: развлечение состоит в том, чтобы найти замаскированные под куски стены или предметы обстановки кнопки, активные объекты etc.
Принципы интуитивного интерфейса неигровых программ, разрабатываемые с целью минимизировать потребности в отдельной документации, не отличаются от таковых для игр. Главное свойство, которому должны удовлетворять программы с интуитивным интерфейсом, - возможность откатки результатов на произвольную глубину. Представьте: вы решили попробовать пару интересных возможностей в редакторе, а он вдруг пишет game over!
Но путь интуитивного интерфейса чреват: "сделай программу, которой сможет пользоваться даже дурак, и только дурак захочет ей пользоваться". Здесь поможет главное интерфейсное правило: простое должно делаться просто, а сложное должно быть возможно. Это означает, что для простых действий может хватать красивого и простого GUI, а для сложных операций должны использоваться языки программирования. А вот язык освоить "интуитивно" трудно.
Может быть, профессиональная популярность Unix с тем и связана, что обучение пользованию им подразумевает обязательное чтение документации, ввиду очевидной бесполезности подбирать ключи даже к самым общеупотребимым программам? Поэтому в случае Unix срабатывает общая для качественного "классического" образования модель: сначала приходится учиться "через не хочу"; затем у тех, кто это смог выдержать, появляется привычка учиться; после чего оказывается, что качество деятельности образованного таким образом человека весьма высоко - он пользуется не только парой-тройкой очевидных функций, но всеми. Unix - со стороны программной документации - принципиально противопоставляет себя игроподобным программам для "конченых юзеров". Поэтому и ценится профессионалами, способными понять красоту и элегантность "неинтуитивных" языковых интерфейсов.
Голубая мечта многих юниксоидов и оракловедов - иметь возле себя побольше самообновляющихся с каждой версией любимого продукта толстеньких бумажных книжек, которые можно не спеша и с удовольствием читать перед сном. По счастью, эти книжки уже продаются в наших магазинах - наряду с литературой для "чайников". Одна беда - они не самообновляются и устаревают ничуть не медленнее, чем "Windows 3.11 за семь вечеров" или "Интернет в три приема".
Есть и другие способы освоения программ: советы друзей (часто - в чатах и телеконференциях), а также обучение на курсах. О службах технической поддержки и их возможной пользе я и не заикаюсь: в России это совсем не актуально.
Но полученные любым способом "компьютерные" знания будут устаревать быстрее, чем пользователь - успевать применять их на практике. И, глядючи с тоской уже не на книжку, а на пользовательскую голову, вспоминаешь: "осетрина бывает..."