<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Блог Михаила Озорнина: заметки с тегом virtualbox</title>
<link>https://mikeozornin.ru/blog/tags/virtualbox/</link>
<description>Главная · Блог · Работы ·</description>
<author>Михаил Озорнин</author>
<language>ru</language>
<generator>E2 (v3798; Aegea)</generator>

<itunes:owner>
<itunes:name>Михаил Озорнин</itunes:name>
<itunes:email></itunes:email>
</itunes:owner>
<itunes:subtitle>Главная · Блог · Работы ·</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Технозависимость 80 лвл</title>
<guid isPermaLink="false">56</guid>
<link>https://mikeozornin.ru/blog/all/how-not-to-develop-software-update/</link>
<pubDate>Thu, 16 Mar 2017 10:11:24 +0300</pubDate>
<author>Михаил Озорнин</author>
<comments>https://mikeozornin.ru/blog/all/how-not-to-develop-software-update/</comments>
<description>
&lt;p class="lead"&gt;Я иногда пользуюсь виртуалбоксом, чтобы посмотреть что-то на винде. Виртуалбокс опенсорсный и бесплатный, поэтому часто служит набором антипаттернов в дизайне (как делать не надо). Сегодня я расскажу как виртуалбокс обновляет один из своих компонентов.&lt;/p&gt;
&lt;p&gt;Для того, чтобы в гостевой операционной системе (та, которая виртуальная) были полезные фишки типа проброса ЮСБ-портов и автоизменения размера есть специальное расширение Oracle Extension Pack. Показываю как выглядит процесс обновления этого расширения.&lt;/p&gt;
&lt;p&gt;Первый экран — виртуалбокс рассказывает о наличии обновлений:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://mikeozornin.ru/blog/pictures/virtualbox-1.png" width="1128" height="840" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;После того, как согласился обновить виртуалбокс, он предлагает скачать обновление:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://mikeozornin.ru/blog/pictures/virtualbox-2.png" width="1128" height="840" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;После загрузки и проверки (это два разных последовательных прогрессбара)&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://mikeozornin.ru/blog/pictures/virtualbox-3.png" width="1128" height="840" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;предлагает установить обновление:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://mikeozornin.ru/blog/pictures/virtualbox-4.png" width="1128" height="840" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Если согласиться установить, то на всякий случай он уточнит, что расширение уже установлено, правда ли обновлять. Забудет, что вся эпопея началась именно с того, что предложили обновить и пользователь согласился.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://mikeozornin.ru/blog/pictures/virtualbox-5.png" width="1128" height="840" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Потом вмешиваются юристы&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://mikeozornin.ru/blog/pictures/virtualbox-6.png" width="1128" height="840" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;и система безопасности макоси. Обратите внимание на количество разных окошек в фоне и заголовок «Network Operations Manager» (звучит как должность в Oracle).&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://mikeozornin.ru/blog/pictures/virtualbox-7.png" width="1128" height="840" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;И даже после обновления виртуалбокс считает обязательным заставить человека нажать на одну единственную кнопку.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://mikeozornin.ru/blog/pictures/virtualbox-8.png" width="1128" height="840" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Я думал, что на предыдущем шаге все закончится, но нет. Даже то тупиковое модальное окно с одной кнопкой — ещё не конец — спросят что делать с тем временным файлом, который качали:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://mikeozornin.ru/blog/pictures/virtualbox-10.png" width="1128" height="840" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Я абсолютно уверен, что почти каждый этап обновления обсуждали и на каждый этап было логичное объяснение программиста, юриста или ещё кого-нибудь, почему нужно задавать этот вопрос:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;вдруг человек не против обновить, но не прямо сейчас;&lt;/li&gt;
&lt;li&gt;вдруг он занят чем-то важным, скачал обновление, но установить хочет потом;&lt;/li&gt;
&lt;li&gt;вдруг он не хочет удалять временный файл обновления;&lt;/li&gt;
&lt;li&gt;вдруг у него сейчас мобильный интернет и скачивать не надо;&lt;br /&gt;
и т. д.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Но общий результат катастрофический: 10 этапов, 8 нажатий на подтверждения. Не надо так. Правильно решение — обновить в фоне как Гугл Хром, чтобы никто даже не заметил.&lt;/p&gt;
&lt;p&gt;Ещё раз все экраны вместе:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;div class="fotorama" data-width="1128" data-ratio="1.3428571428571"&gt;
&lt;img src="https://mikeozornin.ru/blog/pictures/virtualbox-1.png" width="1128" height="840" alt="" /&gt;
&lt;img src="https://mikeozornin.ru/blog/pictures/virtualbox-2.png" width="1128" height="840" alt="" /&gt;
&lt;img src="https://mikeozornin.ru/blog/pictures/virtualbox-3.png" width="1128" height="840" alt="" /&gt;
&lt;img src="https://mikeozornin.ru/blog/pictures/virtualbox-4.png" width="1128" height="840" alt="" /&gt;
&lt;img src="https://mikeozornin.ru/blog/pictures/virtualbox-5.png" width="1128" height="840" alt="" /&gt;
&lt;img src="https://mikeozornin.ru/blog/pictures/virtualbox-6.png" width="1128" height="840" alt="" /&gt;
&lt;img src="https://mikeozornin.ru/blog/pictures/virtualbox-7.png" width="1128" height="840" alt="" /&gt;
&lt;img src="https://mikeozornin.ru/blog/pictures/virtualbox-8.png" width="1128" height="840" alt="" /&gt;
&lt;img src="https://mikeozornin.ru/blog/pictures/virtualbox-10.png" width="1128" height="840" alt="" /&gt;
&lt;/div&gt;
&lt;/div&gt;
</description>
</item>


</channel>
</rss>