
…В какой-то момент, ковыряясь в своём геоорганайзере «Места» (я писал о нём на Хабре), я поймал себя на простой мысли:
Всё работает — но не живёт
Нет, я не адепт восстания машин. Я о другом…
Проблема утилитарных приложений
Можно:
-
создать место,
-
собрать маршрут,
-
описать всё это дело,
-
добавить фоточек,
-
разложить всё по папочкам,
-
довольно причмокнуть,
…закрыть вкладку — и не вернуться.
И это нормально. Хороший утилитарный инструмент делает свою работу. Чётко, предсказуемо и без сюрпризов.
Он решает задачу.
Но не создаёт привязанности.
Сразу оговорюсь: я не пытаюсь засунуть пасьянс в калькулятор.
Есть старый и вполне здравый принцип: делать что-то одно и делать это хорошо. Я с ним полностью согласен.
Но речь пойдёт не про изменение самой задачи и не про усложнение инструмента. Речь про то, что происходит рядом с ним.
Если базовая функциональность остаётся:
-
предсказуемой,
-
быстрой
-
и не перегруженной,
поверх неё можно добавить дополнительный слой, который не мешает работе, но делает взаимодействие чуть более… живым.
Не обязательным. Отключаемым. Но запоминающимся.
Идея: добавить слой игры
Я не хотел делать из этого «ещё одну фичу». Просто хотел добавить живости. Так пришла в голову идея пасхалок.
Но не «пасхалок ради пасхалок». А пасхалок, вокруг которых возникнет интерес.
Сразу уточню, что я здесь называю «пасхалками». Это не бонусы, не подарки и не какая-то внутренняя валюта. Тем более, не яйца.
Это скрытые реакции интерфейса на определённые действия пользователя. Сделал что-то в определённом порядке или при редком сочетании условий — и внезапно получил эффект, которого в обычном режиме нет.
Ну, а теперь к делу.
Как это работает
В настройках аккаунта — чекбокс «Пасхалки».
С честным описанием системы и правил.
-
Чекбокс включен — ты в деле.
-
Чекбокс выключен — ну, никаких пасхалок тебе вылезать не будет, ты просто не участвуешь.
Можно присоединяться когда угодно, можно временно отключать, потом включать… Вся эта затея будет длящейся.
-
Есть одна и только одна активная пасхалка на всех.
-
У неё есть глобальный порядковый номер.
Сначала будет №1. Это счётчик.
Как только очередная пасхалка открыта, её номер увеличивается на 1. Номера повторяться не будут.
Номер текущей активной пасхалки отображается прямо в версии органайзера.
Ну, например, сейчас у нас v6.3.6 beta, а с пасхалками будет v6.3.6:1 beta для первой пасхалки, потом, скажем, v6.3.6:2 beta, v6.3.7:2 beta, v6.4.0:2 beta — для второй и т.д.
Механика игры
Главный принцип — максимальная изоляция. Сама пасхалка — это буквально пара строк кода, которые описывают только условие «срабатывания» (триггер). Эти строки живут в сторонке, не трогают API и никак не влияют на работу приложения или сохранность данных.
Что это даёт?
-
Безопасность
Даже если кто-то «взломает» пасхалку или найдет её в бандле, максимум, что он получит — увидит секретную анимацию или пасхальное сообщение чуть раньше других. Никакого доступа к «кишкам» системы это не даёт. -
Контекст
Сами по себе эти строки кода — просто замо́к. А вся соль — в поиске ключа и в том, что происходит вокруг:
Есть отдельный канал (скорее всего, Telegram, хотя я ещё в раздумьях) для зарегистрированных в органайзере пользователей. Это, так сказать, центр истины. Доступ к нему будет свободным, а вот возможность писать туда будет только у зарегистрированных пользователей, то есть непосредственных участников игры.
Как только кто-нибудь обнаруживает текущую пасхалку, он может подробно (и правильно, естественно) описать её на этом канале. Тогда она считается открытой, этому пользователю полагаются плюшки, почёт и слава, номер пасхалки меняется, я сразу придумываю новую и прописываю её в коде.
Разумеется, как только пасхалка открыта и описана на канале, все могут её в органайзере проверить. Старые пасхалки технически будут продолжать работать — просто ради развлечения, а чтобы с тысячелетиями работы сервиса он не превратился в их минное поле, в тех же настройках аккаунта в органайзере сразу под чекбоксом «Пасхалки» будет зависящий от него второй чекбокс «Проигрывать открытые»:
-
чекбокс включен — старые работают,
-
чекбокс выключен — работает только актуальная (ну, если вообще главный чекбокс «Пасхалки» включен).
Как только пасхалка разгадана, и вступает в действие новая, как её открыть — знает только автор (в данном случае я), который и следит за каналом на предмет открытия текущей пасхалки.
Разумеется, открывший текущую пасхалку человек вовсе не обязан сообщать о ней или описывать её на канале.
Скандалы, интриги, расследования 😁.
Примеры
Если в дереве мест органайзера в одной папке последовательно перейти в обратном порядке по 10 местам, цветовая тема меняется на непредусмотренную в общих доступных. Какую-нибудь сумасшедшую, вырвиглазно-серобуромалиновую. Разумеется, можно её сразу убрать нафиг 😁.
Можно даже открывать такие темы для всех после нахождения пасхалки. Но это уже вопрос баланса и не всегда уместно. В каждом конкретном случае надо думать.
Или. Если центр карты находится в радиусе, скажем, километра, точки с определёнными координатами (адекватными, а не где-нибудь в Антарктиде) — донатская кнопка «На колбасу» в подвале органайзера меняет текст на «На шнапс». И да. Это нужно ещё заметить. Но это уже уровень сложности покруче.
Типы пасхалок
-
Последовательности действий
-
Координаты
-
Время (в 03:33 что-то происходит)
-
Комбинации действий
-
Работа с деревом
В UI могут быть лёгкие намёки. Они же — микро-сигналы, что это не баг:
-
тост вроде «Кажется, ты нашёл что-то стоящее…» при смене темы,
-
едва заметно отличающийся цвет кнопки, намекающий на её значимость в этот момент,
-
мелкий текст вроде «Иногда порядок имеет значение…».
Это создаёт ощущение, что «что-то здесь не так», но при этом пользователь понимает, что это намеренно.
Но тут особенно важен баланс. С одной стороны, это должно быть замеченным, но при этом максимально лёгким.
Сложность
Первую пасхалку можно сделать простой, как в примере выше — с обратным порядком. А вот уже какой-нибудь №36 может быть больше похож на тот пример с кнопкой.
Тут, правда, минимум две проблемы:
-
Баланс
Слишком простые пасхалки будут бесить частотой появления и отвлекать от дела.
Слишком сложные будут торчать неоткрытыми месяцами, и в конце концов все тупо забудут про всю эту петрушку, канал и пр. -
Порог
При нарастающей сложности через пару лет она станет, см. выше, уже неадекватной. И что тогда?
Возможно, сложность не должна расти линейно. Гораздо важнее — сохранять баланс.
Зал славы
Прямо где-нибудь в интерфейсе органайзера, в специальном разделе:
«Пасхалка №3: открыта пользователем Dimanych 01.04.26»
И это работает лучше любых «ачивок». Потому, что это не система — это история продукта, в которой пользователь может оказаться.
Реверс-инжиниринг — это тоже часть игры
Можно специально оставлять зацепки в коде. Своего рода пасхалка в пасхалке. Кто-то полезет в DevTools, и это станет отдельным уровнем участия. А уж за такой отдельный вид мазохизма, как копание в бандлах и найденную там закладку должны быть предусмотрены не просто плюшки, а Плюшки.
Почему это работает
На уровне ощущений это «прикольная мелочь». На практике — довольно сильная механика вовлечения.
-
Любопытство. «Что за №2?»
-
Соревнование. «Я хочу быть первым»
-
Социальный эффект. «Кто-то уже нашёл. Значит, это реально»
-
FOMO. «Пока я не ищу, кто-то уже может открыть следующую»
-
Ощущение жизни. Когда пользователь видит
v6.3.6:2 beta, он понимает: в проекте что-то происходит и кроме добавления фич и исправления багов.
В какой-то момент я поймал себя на мысли
Это уже не просто пасхалки. В этом что-то есть.
ARGiP — Alternate Reality Game in Product
По сути, это уже не набор скрытых «фишек».
Это система, в которой:
-
есть прогресс,
-
есть коллективное открытие,
-
есть внешний слой взаимодействия,
-
и есть ощущение, что за пределами интерфейса происходит что-то ещё.
Я фактически переношу механику Alternate Reality Game внутрь интерфейса.
Но в упрощённом виде:
-
без внешних сайтов,
-
без сложного онбординга,
-
без «сюжета, который надо объяснять».
Точка входа — обычное действие пользователя.
Разница с обычными пасхалками
|
Обычные пасхалки |
ARGiP |
|---|---|
|
Разовые |
Система |
|
Случайные |
Управляемые |
|
Без прогрессии |
Есть развитие |
|
Нет истории |
Есть «открытия» |
|
Локально |
Коллективно |
|
«Прикол» |
Метагейм |
Маленький трюк
В настройках чекбокс «Пасхалки» можно назвать иначе: Режим ARGiP включен / Режим ARGiP выключен.
Без объяснений.
Кому надо — найдёт.
А дальше начинается самое интересное.
Кто-то просто проигнорирует. А кто-то полезет гуглить: — «что это вообще за зверь такой?». Наткнётся на эту статью, поймёт, что речь идёт о том самом сервисе, которым он уже пользуется…
И в этот момент произойдёт маленький щелчок: он уже не просто пользуется инструментом. Он начинает в нём участвовать. И уже смотрит на свою работу с органайзером немного по-другому.
Если перевести это на «продуктовый» язык, картина получается интересная.
Такая механика:
-
даёт дополнительный повод вернуться в приложение,
-
даёт эффект «живого процесса», а не статичного инструмента,
-
и постепенно формирует вокруг продукта небольшое сообщество.
При этом она не вмешивается в основную функциональность и остаётся полностью отключаемой.
То есть, это редкий случай, когда можно добавить вовлечённость, ничего не ломая.
Вывод
Я хотел добавить в приложение пару «прикольных» пасхалок. В итоге дофантазировался до слоя игры поверх утилитарного продукта.
И это, как мне кажется, может сработать лучше, чем ещё одна фича (которая тоже, конечно, уже пилится). Но иногда пользователю нужно не больше возможностей, а ощущение, что внутри есть что-то ещё.
Что думаете?
P.S. Заходите тыкать. Пасхалок пока нет, но скоро будут. А идеи — в комменты.
ссылка на оригинал статьи https://habr.com/ru/articles/1023102/