Вручную пользователи обновляют программы неохотно – только если старая версия перестаёт работать. Поэтому было придумано авто-обновление. Но делают его из рук вон плохо. Обычно программа при запуске сообщает пользователю, что доступна новая версия и хорошо бы её скачать и установить.
поскольку пользователь обычно запускает программу не из праздного любопытства. Он запускает её, чтобы сделать что-то конкретное. Иными словами, у него есть цель. Ему совсем не по душе отвлекаться, выключать программу, скачивать и устанавливать новую версию.
Чтобы решить эту проблему, автоматическое обновление стараются сделать как можно более простым. Программы скачиваются сами собой, устанавливаются сами собой, некоторые даже перезагружаются в новую версию автоматически. Но! Но!
Всё равно каждая задаёт пользователю идиотские вопросы.
“Доступна новая версия, хотите скачать и установить?”
Или, в хамовато-наглой версии Adobe Updater:
“Я без спросу скачал обновления, хотите установить?”
Ответ на это всегда будет “нет”. Потому, что пользователь не дурак. Он понимает, что если бы установка действительно была простой и быстрой, его бы не спрашивали. Обновление бы просто установилось само собой. (В конце концов, программисты ведь тоже не дураки, так?) А раз его спрашивают – ожидаются проблемы и перемены. А ему сейчас не до проблем, он другим занят.
И пользователь жмёт “Нет”.
Чтобы модель автоматического обновления работала, она должна удовлетворять трём условиям. Во-первых, при установке программма должна спросить, желает ли пользователь обновлять программу автоматически. И если пользователь не желает, не обновлять и больше не приставать (привет, Adobe). Во-вторых, если пользователь согласился, отныне и впредь скачивать и устанавливать обновления настолько незаметно, насколько это возможно.
Это значит – никаких подтверждений. Никаких всплывающих окон. Никаких значков “идёт обновление” возле часов. Никаких “обновление ещё не докачано, хотите выйти?” Никаких “установите и перезагрузите”. Полностью автоматически. Само нашло, само скачало, само установило при следующем запуске и загрузило уже новую версию. Пользователь должен вообще ничего не замечать.
И, в третьих, необходимо разделять обновления на ветки. “Маленькие” обновления, которые устанавливаются автоматически, не должны менять ничего серьёзного в интерфейсе. Только добавлять новые функции или исправлять ошибки. Никаких “автоматически устанавливает google toolbar”. Никаких “в новой версии добавили рекламу”. Если производитель софта хоть раз допустит подобное, пользователи просто выключат его авто-апдейт. Вот и всё, чем кончится.
Крупные же обновления нельзя устанавливать автоматически, и лучше даже не предлагать к установке до тех пор, пока нынешняя ветка не будет закрыта. В крайнем случае, предложить один раз – и лучше не всплывающим окном и не сообщением с кнопкой “OK”, а небольшой заметкой где-нибудь в статусной строке или на панели подсказки.