В ранних тестовых сборках Windows 8 для планшетов на экранах ошибок были ASCII-рисунки кошек

от автора

Разработчик из Microsoft Реймонд Чен, который собирает истории о развитии Windows, рассказал, что в ранних сборках планшетной версии Windows 8 в меню для вывода на экран кодов ошибок были заведены девять картинок с кошками, сидящими на заборе и вилявшими хвостиками, смотря на заходящую Луну. Именно эти картинки позволяли разработчикам понять, что в запущенном приложении произошла ошибка, и экран с кнопкой «Пуск» недоступен.

Чен пояснил, что в интерфейсе планшета с Windows 8 компоненты организованы в виде набора слоев, где каждый элемент располагается поверх следующего.

Основной слой — «Пуск», также есть слой «Приложения». Если пользователь использует приложение, то соответствующий слой отображается в полноэкранном режиме. Если пользователь открывал в этот момент меню «Пуск», то этот слой закрывает «Приложения». Если последнее приложение закрывается, то автоматически открывается слой «Пуск». На экране всегда должен отображаться только полноэкранный слой.

Во время разработки, конечно, что-то неизбежно пойдет не так. Тестировщики при проверках часто попадали в состояние, когда ни слой «Пуск», ни слой «Приложения» не отображались, что приводило к черному экрану и зависанию устройства.

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

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

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

Почему кошки? Чен предположил, что разработчик, создавший этот вспомогательный экран, просто любил кошек.

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

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

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

В среде разработчиков даже появилось сленговое выражение: если при работе с планшетом кто-то упоминал, что видел кошку, собеседники понимали: речь об ошибке в ОС.

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


ссылка на оригинал статьи https://habr.com/ru/articles/653189/