Колонка автораСтатьиОбзоры программ и сайтовПримеры удачных решенийПримеры неудачных решенийЦентр Практичных Программ

Вы действительно хотите установить эту программу?

Седельников Андрей

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

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

Задумайтесь, нужна ли вообще инсталляция пользователям? Нет! Его интересует только то, чтобы его программа работала. Все остальное - излишество, как выражается Алан Купер. Понимание этого простого факта коренным образом меняет представление о программе-инсталляторе.

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

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

  • Выбора места, куда нужно установить программу. Это тоже является следствием несовершенной архитектуры операционной системы, ведь пользователю в конечном счете все равно, где будет находиться программа. Система, близкая к идеальной должна сама размещать программы в специальном месте. Тем не менее, современные инсталяторы могли бы быть и поумнее в этом вопросе. Я, например, держу все программы на диске D, но каждая новая устанавливаемая программа упрорно предлагает мне путь c:\Program Files\Что-Нибудь\.
  • Ввода серийного номера. Этот пункт для коммерческих программ отменить тоже нельзя.
  • Выбора устанавливаемых компонентов (если это сложный, состоящий их нескольких программ пакет). Существующая реализация этого шага оставляет желать лучшего, но об этом позже.
Теперь о недостатках. Одним из самых больших является неправильно выбранная модель программы - так называемый "волшебник" или "мастер". Он лишь усложняет процесс установки, превращая логически односложное задание в серию запутанных шагов. Любой "волшебник" плох еще и тем, что ставит себя выше пользователя, руководит его действиями. Конечно, это результат надуманной сложности процесса инсталляции, большого числа данных, которые необходимо ввести. Иногда число шагов исскуственно увеличивается без всякой необходимости (заставки, подтверждения и т.д.) Избавившись от ненужных шагов, можно избавиться и от "волшебника", сведя все оставшиеся настройки в одно окно.

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

Самым назойливым и бессмысленным является вопрос "Папка такая-то не существует. Создать ее?". Конечно она не существует! Конечно ее надо создать! В 99% случаев я устанавливаю новую программу, т.е. ту, которой у меня нет. Или они думают, что я заранее создал папки для всех программ, которые решил установить? Необдуманность, с которой разработчики очередного инсталлятора копируют этот вопрос из других систем, просто поражает.

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

Программа установки часто не предлагает никакой информации о продукте, который она устанавливает, кроме его названия. Следовательно, если я забыл, что это за программа у меня тут лежит, то чтобы узнать, что она делает я должен ее полностью установить. Абсурд!

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

inst1.gif (2258 bytes)

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

inst2.gif (5383 bytes)  inst3.gif (4973 bytes)

На рисунке слева показано окно самого верхнего уровня иерархии.  А справа - окно выбора компонентов для Microsoft PowerPoint, которое появилось взамен первого после нажатия на кнопку "Состав...". Как видите, они практически ничем не отличаются.   Следовательно пользователь может легко потеряться среди отсутствия четких ориентиров. Он может также легко ошибиться, т.к. кнопка "Отмена" на рисунке справа просто закрывает этот окно и возвращается на вышестоящий уровень, тогда как та же кнопка на том же месте слева ведет к прекращению инсталляции.

Необходимость перезагрузки компьютера после установки некоторых программ - очень неприятное свойство. Особенно если в данный момент запущено несколько рабочих программ.

Но самое большое издевательство над пользователями - это установка через Интернет. Apple QuickTime 4 и первые версии Internet Explorer 4.0 работали таким образом. Причем как правило размеры таких программ - несколько мегабайт и докачка не поддерживается. Наверное разработчики забыли, что не у всех есть линия связи T3.

Место на диске пользователей они тоже не жалеют. Так, как дистрибутивы программ практически всегда архивируются, чтобы занимать меньше места, то при установке сначала файлы извлекаются из архива а затем только переписываются в нужное место. Следовательно, на диске должно быть в 2-3 раза больше свободного места, чем необходимо для работы программы. Это становится особенно значимым, когда и дистрибутив,  будущий каталог программы, и временный каталог для установки находятся на одном и том же диске, и вдобавок размер дистрибутива большой.

Деинсталляция, хоть и более простой процесс, тоже порождает проблемы. Основная - это вопрос типа "Тут есть такой файл xyz32.dll, удалить его или оставить?" Система спращивает об этом у меня? Даже подготовленному пользователю очень сложно понять, нужен ли в действительности этот файл, или нет, не говоря уже о неопытном. А ведь неправильный ответ на такой вопрос может повлечь собой негативные последствия, в лучшем случае засорение диска ненужными файлами, в худшем - потерю работоспособности других программ на вашем компьютере.

Вот еще одна нелепость: некоторые MS продукты требуют для инсталляции дистрибутив программы. В противном случае отказываются работать.

Как вы наверное поняли, проблем с инсталляцией хватает. Например, почему нельзя переместить программу в другое место, не переустанавливая ее (например,  чтобы освободить место на диске)? А некоторых возможностей нет ни в одном инсталляторе: Например, опытным пользователям может потребоваться информация о том, из каких именно файлов состоит программа и где они находятся.

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

Вернуться в Колонку Автора