В этом посте мы хотим рассекретить пасхальные яйца, созданные за всю историю Parallels Desktop для Mac, и рассказать о причинах их создания. Easter Eggs — пасхальные яйца, шуточная функциональность, которую многие разработчики внедряют в свои продукты уже более 30 лет. Обычно они делают это просто «по приколу» — особенно, если шутка в софте не требует много времени на разработку. А если для реализации яйца приходится потрудиться (как в нашем случае)? Зачем тратить ресурсы на разработку такой функциональности в коммерческом продукте, которая не добавляет ей стоимости?
Чтобы вы сразу нашли «яйцо»: в последних версиях «пасхалка» находится в одном и том же месте. Верхнее меню -> Parallels Desktop -> About Parallels Desktop. Открывающееся окно с информацией об установленной версии иллюстрировано картинкой Мака с большой черной кнопкой посередине. Кликайте на нее.
Зачем мы это делаем?
- Нам это все-таки нравится. Начавшись как способ развлечься в процессе технологически сложных задач (причем всякий раз нестандартно, мы об этом писали здесь), «пасхалка» стала одной из любимых фич. А с любимыми не расстаются.
- Способ отработать новые для себя вещи, типа openGL (читайте об этом ниже в истории про яйцо из 10-ой версии), а также в процессе разработки выловить и поправить определенное количество косяков. Последнее, кстати, важно: например, нашим знакомым разработчикам пришлось вообще выпилить пасхалку из софта, потому что она им регулярно рушила всю работу продукта.
- Один из способов геймификации приложения. Во всяком случае, конкурсы «Найдите нашу пасхалку» мы устраиваем довольно часто. Работает такой способ или нет – другой вопрос. Можем поговорить об этом в комментариях к посту.
Про идеолога пасхальных яиц Parallels Desktop для Mac
Вдохновителем создания всех пасхальных яиц, начиная с самых ранних версий, был Александр Гречишкин, глава разработки Parallels Desktop для Mac. Он, кстати, твердо уверен, что «пасхалки» — это хобби, которое непосредственного отношения к продукту иметь не должно. Поэтому они никогда не стоят в плане работ и делаются все исключительно вне рабочего времени. Конечно, иногда топ-менеджмент интересуется, будет ли «пасхалка» в новой версии, но обычно это происходит уже на той стадии, когда понятно, что с основной функциональностью продукта проблем нет. Дело в том, что создание даже такой маленькой вещи, как пасхальное яйцо, может вылиться в долгий процесс, особенно если хочешь сделать все качественно.
Про Льюиса Кэррола, Гомера Симпсона и балалайку
Parallels Desktop 3. При открытии окна About («О программе») в динамиках звучала фраза «It takes all the running you can do, to keep in the same place. If you want to get somewhere else, you must run at least twice as fast as that!», которую говорила Королева из «Алисы в стране чудес». Собственно, «чтобы двигаться немного вперед, нужно бежать в два раза быстрее» до сих пор отражает мнение всей команды разработки PD о том, как именно быть лучше, чем все остальные.
PD4, PD5 и PD6. Во всех этих трех версиях мы использовали одно и те же «пасхальное яйцо». Правда, оно работало только на MacBook Pro, поскольку в нем есть встроенный акселерометр. Чтобы его запустить, надо открыть About и поднять компьютер над столом, наклоняя его влево-вправо. Выезжали окошки с любимыми высказываниями сотрудников Parallels из фильмов, книг, да и наши собственные выражения. Правда, в одной из сборок разработчики умудрились допустить баг как раз в «пасхальном яйце»: окошки с высказываниями выезжали в противоположном наклону направлении. Если у вас именно так, то поздравляем: вы обладатель раритетной версии!
Видео пасхалки тут.
Пасхалки в версиях с 7 по 9
В качестве пасхального яйца мы использовали изображение балалайки и сопровождающее ее балалаечное соло. Саму балалайку наши дизайнеры срисовывали с настоящей, подаренной в прошлом главе разработки этого продукта Андрею Омельянчуку еще в середине 2000х и по сей день находящейся в его кабинете в московском офисе. В качестве музыкального сопровождения к «яйцу» изначально была выбрана песня 40-х годов «Эх, дороги… пыль да туман». Исполнять ее решили в стиле romantic metallic, потому что один из наших разработчиков Кирилл Багриновский играет в группе соответствующего направления. Текст cover версии песни, естественно, было решено немного переделать. Ее благополучно записали в студии и даже включили в ранние билды продукта. Но впоследствии из-за возможных вопросов об использовании авторских прав от этой реализации пришлось отказаться. В результате в окончательной версии «яйца» звучит балалаечное соло, сыгранное и записанное нашим инженером тестирования Сергеем Митрофановым.
Видео пасхалки.
Почему «балалайка»?
Небольшой экскурс в историю. В начале 2000-х стоявший у истоков Parallels разработчик, известный в компании как «дядя Юра», работал над другим проектом, но так болел душой за молодых программистов, что прибегал к ним в комнату по нескольку раз на дню и спрашивал: «Ну как ваша «балалайка»? Работает?!» Ему было ужасно интересно застать тот момент, когда PD «взлетит», и поздравить своих юных коллег с победой, но они пока только пытались запустить MS-DOS внутри виртуальной машины. С тех пор «балалайкой» сперва называли появившийся первым Parallels Workstation, а потом и Parallels Desktop для Mac.
Про игру в «колонки» в последней 10-й версии
В 10-й версии мы решили порадовать пользователей возможностью поиграть в игру Columns. В свое время один из наших инженеров Артем Коломейцев написал аналог этой игры для своей жены. Он назвал игру Natrix (от имени жены – Наташа и популярной Tetris/Tetrix) и преследовал цель сделать вариант игрушки, которая была бы лучше существовавших аналогов «Колонок», в которые Наташа успешно наигралась. Он написал игру согласно ее пожеланиям с элементами 3D и акселерации (плюс еще был в том, что эта задача давала возможность поупражняться с openGL, который Артем на тот момент изучал). Для включения Natrix в пасхальное яйцо был написан соответствующий виджет, а в процессе выявлено несколько серьезных багов, которые приводили к «падению» виртуальной машины в целом. Среди сотрудников команды даже родилась шутка, что скоро в нашу службу поддержку начнут поступать обращения со словами «когда я прохожу третий уровень, ваша программа падает».
А вот, кстати, ссылки на статьи о самых известных пасхальных яйцах в софте, начиная с того, что принято считать самым первым (в игре Adventure, которая выпускалась в 1979 году компанией Atari, ее программист Уоррен Робинетт сделал внутри комнату со своим именем): раз статья, два статья.
А какие пасхальные яйца в разном софте вам запомнились больше всего?
Автор: master1981