Вадим Елистратов из Tjournal написал колонку о том, как современный человек постепенно привыкает жить бок о бок с «сырыми» программными продуктами (из-за их растущей сложности), а разработчикам стоит «отказаться от формального понятия релиза». На мой взгляд, проблема шире и касается не только новых релизов. Массовая (не B2B) аудитория ежедневно сталкивается с нестабильным и непредсказуемым поведением своих компьютеров, и эта непредсказуемость меняет саму концепция использования.
Компьютер можно рассматривать как математическую функцию. На практике это значит, что если делать с компьютером одно и то же, должен получаться один и тот же результат. Долгое время так и было, но теперь концепция изменилась и при, казалось бы, одинаковых действиях результат получается разный.
Изменение концепции связано с двумя факторами:
Компьютер перестал быть персональным и у пользователя больше нет контроля за функцией
С развитием интернета код многих программных продуктов опять стал клиент-серверным, и многие составляющие программ размещаются не на компьютере пользователя, а в «облаке» производителя. Производитель волен обновлять ПО в облаке в любой момент, а иногда делает это и на клиентах (Windows 10, приложения Android). Фактически, если смотреть на это с точки зрения пользователя, разработчики многих программных продуктов давно отказались от «релизов» и каждый момент времени это может быть уже не та программа, которая была ранее. А в случае проблем со связью, современные устройства по своей ценности быстро сравниваются с фоторамкой или фонариком.
Пользовательский ввод больше не является единственным или определяющим аргументом функции
Многие популярные программы для вычисления результата используют не только явно введенные пользователем данные. Поиск Google, помимо прочего, учитывает местоположение и прошлые запросы, поэтому один и тот же запрос дает разные результаты. Facebook строит ленту на базе одному ему известных алгоритмов. Квинтэссенция - виртуальный помощник Google Now, который на свое усмотрение показывает пользователю какие-то результаты в произвольный момент времени — рассчитывать на них не стоит, но иногда они бывают полезны.
Другим ярким примером является вход в аккаунты Google и некоторых интернет-банков, где работает многофакторная аутентификация: помимо пароля учитываются время суток, местоположение, «отпечаток» браузера, паттерны ввода с клавиатуры или вставки из буфера обмена. При некоторых условиях вход в аккаунт блокируется или требует дополнительных действий, даже если основной фактор — пароль — указан верно. Забавно, что пресловутая «двухфакторная аутентификация» Google защищает вас не только от хакеров, но и от чересчур умных алгоритмов самой компании - об этом косвенно говорится в «справке», где пользователям, часто входящим из новых мест и с разных устройств, советуют включать двухфакторную аутентификация для предотвращения блокировки по неопределенным факторам обычной многофакторной аутентификации. То есть советуют уменьшать количество факторов!
Подводя итог: под давлением зависимой от каналов связи и динамически меняющейся функции и вследствие роста объема динамически меняющихся данных, используемых для её вычисления, осознанные действия пользователя все меньше влияют на получаемый от компьютера результат, снижая таким образом возможности планирования и обесценивая осознание пользовательского опыта. Использование компьютеров превращается в бесконечный квест.