Технозависимость 80 лвл
Я иногда пользуюсь виртуалбоксом, чтобы посмотреть что-то на винде. Виртуалбокс опенсорсный и бесплатный, поэтому часто служит набором антипаттернов в дизайне (как делать не надо). Сегодня я расскажу как виртуалбокс обновляет один из своих компонентов.
Для того, чтобы в гостевой операционной системе (та, которая виртуальная) были полезные фишки типа проброса ЮСБ-портов и автоизменения размера есть специальное расширение Oracle Extension Pack. Показываю как выглядит процесс обновления этого расширения.
Первый экран — виртуалбокс рассказывает о наличии обновлений:
После того, как согласился обновить виртуалбокс, он предлагает скачать обновление:
После загрузки и проверки (это два разных последовательных прогрессбара)
предлагает установить обновление:
Если согласиться установить, то на всякий случай он уточнит, что расширение уже установлено, правда ли обновлять. Забудет, что вся эпопея началась именно с того, что предложили обновить и пользователь согласился.
Потом вмешиваются юристы
и система безопасности макоси. Обратите внимание на количество разных окошек в фоне и заголовок «Network Operations Manager» (звучит как должность в Oracle).
И даже после обновления виртуалбокс считает обязательным заставить человека нажать на одну единственную кнопку.
Я думал, что на предыдущем шаге все закончится, но нет. Даже то тупиковое модальное окно с одной кнопкой — ещё не конец — спросят что делать с тем временным файлом, который качали:
Я абсолютно уверен, что почти каждый этап обновления обсуждали и на каждый этап было логичное объяснение программиста, юриста или ещё кого-нибудь, почему нужно задавать этот вопрос:
- вдруг человек не против обновить, но не прямо сейчас;
- вдруг он занят чем-то важным, скачал обновление, но установить хочет потом;
- вдруг он не хочет удалять временный файл обновления;
- вдруг у него сейчас мобильный интернет и скачивать не надо;
и т. д.
Но общий результат катастрофический: 10 этапов, 8 нажатий на подтверждения. Не надо так. Правильно решение — обновить в фоне как Гугл Хром, чтобы никто даже не заметил.
Ещё раз все экраны вместе: