Привет, Хабр! Уже завтра День программиста (12.09.2020), и специально к нашему профессиональному празднику я написал не хардкорно-технический пост, а лайтовую статью о маленьких, не всегда очевидных фичах, которые хоть и не часто, но встречаются в мобильных приложениях и не только. Как вы уже догадались — это пасхалки. И не просто пасхалки, а отечественного производства. Если хотите ненадолго погрузиться в детали, которые мы обычно не замечаем, либо которые сложно найти, — добро пожаловать под кат.



Для тех, кто не знаком с понятием «пасхальное яйцо» — небольшая выдержка из википедии:
«Пасхальное яйцо» (англ. Easter Egg) — секрет в компьютерной игре, фильме или программном обеспечении, заложенный создателями. Отличие пасхального яйца в игре от обычного игрового секрета состоит в том, что его содержание, как правило, не вписывается в общую концепцию, выглядит в контексте неправдоподобно, нелепо, и зачастую является внешней ссылкой. Пасхальные яйца играют роль своеобразных шуток для внимательных игроков или пользователей, но могут применяться в целях защиты авторских прав.
Чаще всего для получения пасхального яйца следует произвести сложную или нестандартную совокупность действий, что делает маловероятным случайное обнаружение. Название происходит от популярного в США и бывших Британских колониях семейного мероприятия «охота за яйцами» (англ. egg hunt), устраиваемого накануне Пасхи, в котором участники должны с помощью подсказок найти как можно больше спрятанных по местности яиц.
Мы опросили наших коллег по цеху из отечественных компаний о наличии пасхалок в мобильных приложениях, и вот какой обзор в результате получился:

Lamoda и OneTwoTrip


В новогодние праздники на страницах с предложениями идёт снег. (к сожалению, сборок приложения с этой пасхалкой найти не удалось).

Joom


В Android-приложении есть змейка. Инструкция для активации: профиль -> настройки -> About -> Провести пальцем по логотипу от верхней части до точки. Обязательно играйте со звуком!


Tinkoff


При выборе диапазона дат в анализе трат по карте 3-го сентября календарь переворачивается. Хотя пасхалка и была доступна только 3.09, многие успели оценить шутку по достоинству.


Сберавто


Если в поиске находится слишком много предложений (число не уточняется), то вместо количества будет написано «видимо-невидимо» или «рука листать устанет». А также в честь дня программиста в приложении появилась игра 2048. Если в поиске ввести число 256 или 2048 — она активируется.

VK


В iOS приложении анимация обновления иногда (в случайном порядке) меняется на котика.


Ангстрем


Этот конвертер величин есть только на iOS. При листании экранов вправо последним экраном будет смайлик, и если его вытащить достаточно далеко, он подмигнёт.


2GIS


В День космонавтики маркер геопозиции в навигаторе менялся на ракету и при старте маршрута звучала знаменитая фраза Юрия Гагарина «Поехали». Также раньше была доступна карта Вестероса. Сейчас, к сожалению, этого в приложении нет.

iFunny


И, конечно же, флагман нашей компании.
В приложении есть аккаунт c игровым контентом в виде Web Apps, под названием iFunnyArcade_2017. Про их разработку мы писали тут.


Android OS


Даже сама Android OS содержит в себе пасхалки (она, конечно, не отечественного производства, но думаю, вы не будете против почитать про несколько пасхалок разработчика самой популярной операционной системы в мире).

Для пользователей:
Нужно зайти в настройки -> о системе -> версия OS -> 3 раза быстро тапнуть по версии OS (количество может отличаться от версии системы).
Android 10 Android 11

Для разработчиков:
В коде класса Chronometer есть метод isTheFinalCountDown, при вызове которого произойдёт переход по ссылке www.youtube.com/watch?v=9jK-NcRmVcw (клип на песню группы «Europe» — «The Final Countdown»).
    /**
     * @return whether this is the final countdown
     */
    public boolean isTheFinalCountDown() {
        try {
            getContext().startActivity(
                    new Intent(Intent.ACTION_VIEW, Uri.parse("https://youtu.be/9jK-NcRmVcw"))
                            .addCategory(Intent.CATEGORY_BROWSABLE)
                            .addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT
                                    | Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT));
            return true;
        } catch (Exception e) {
            return false;
        }
    }

Также у класса SensorManager есть константа-отсылка к «Звёздным войнам».
/** Gravity (estimate) on the first Death Star in Empire units (m/s^2) */
public static final float GRAVITY_DEATH_STAR_I = 0.000000353036145f;


А где ещё?


Пасхалки встречаются много где, и я уверен, что мой список можно значительно увеличить. Думаю, многим было бы интересно узнать о том, какой же ещё функционал или отсылки скрываются в программах как российских, так и зарубежных коллег! Поэтому предлагаю поделиться своими находками в комментариях или же рассказать о том, какие пасхалки вам самим довелось реализовывать! А у меня на этом пока всё. Всем хорошего Дня программиста!