HeadUp — стартап, создающий мобильное приложение.
Наша миссия — помочь людям сократить экранное время, повысить продуктивность и сосредоточиться на действительно важных вещах.
Мы ищем специалиста для разработки версии нашего приложения на MacOS.
Общее описание
Приложение помогает пользователю сосредоточиться на работе за компьютером, блокируя отвлекающие приложения.
Это прямой аналог Opal.
Opal for Mac
iOS-версия уже доступна в App Store. Её функционал немного шире, чем у Mac-приложения, но внешний вид и общее поведение планируется перенести.
Screen Time Control - HeadUp App - App Store
Figma проекта
Требуемый функционал
Приложение должно позволять пользователю создавать разные типы правил блокировки приложений и сайтов на устройстве.
Структура правила
Активность – общий термин для приложения или сайта, который будет использоваться далее по тексту
Каждое правило имеет:
- Список активностей, которые оно должно блокировать
- Режим строгости блокировки
- Метаданные (пока только название)
Блокировка активности
Во время блокировки пользователь не может пользоваться активностью, однако между блокировкой сайтов и приложений есть различия.
Блокировка сайта
Поверх (или вместо) заблокированных сайтов должен отображаться “экран-щит”, препятствующий использованию, содержащий описание причины блокировки и набор доступных действий, который зависит от режима блокировки.
Блокировка приложения
При попытке открыть заблокированное приложение пользователь должен перенаправляться в HeadUp. В нём в свою очередь должен отображаться аналог экрана-щита из случая блокировки сайта.
Разблокировка активности
Процесс разблокировки зависит от режима строгости блокировки.
Если активность заблокирована несколькими правилами, применяется максимальный среди них режим строгости.
Любая разблокировка происходит на определённое время. В этот промежуток активность получает своего рода «неприкосновенность» и остаётся доступна пользователю независимо от количества правил, которые её блокировали.
Поскольку разблокировать активность можно путём удаления или редактирования блокирующих правил, доступ к их настройкам также ограничен в зависимости от режима блокировки.
Строгость блокировки
Доступны три режима строгости блокировки:
-
Easy mode
Пользователь может сразу разблокировать приложение на одну минуту. Возможность разблокировки на произвольное время (от минуты до часа) появляется после задержки. Длительность задержки выбирается пользователем при создании или редактировании правила.
Настройки правила открываются после той же задержки, что и для разблокировки на произвольное время.
-
Medium mode
Приложение можно разблокировать только на одну минуту после выбранной пользователем задержки.
Настройки правила открываются после задержки, выбранной пользователем, или через 40 секунд — в зависимости от того, что больше.
-
Strict mode
Разблокировка приложения невозможна.
Настройки правила можно открыть только когда оно не блокирует никаких активностей.
Блокирующее расписание
Этот тип правил просто блокирует все выбранные активности в соответствии с указанным расписанием и является фактически наиболее простым из имеющихся.
Параметры
- Время, в которое активности должны блокироваться (например с 9:00 до 17:00)
- Дни недели, в которые правило работает (например с понедельника по пятницу)
Дневной лимит на время использования
Такие правила отслеживают количество времени, которое пользователь провел в активности за день и блокируют её в тот момент, когда оно превышает установленный пользователем ранее лимит.
Параметры
- Максимальное время использования (например 3 часа)
- Дни недели, когда правило действует (например с понедельника по пятницу)
Дневной лимит на количество открытий
Такие правила ограничивают количество раз, которое пользователь может открыть активность а также время использования после открытия. После достижения ограничения правило блокирует приложение.
В случае прерывания сессии до достижения ограничения (то есть если пользователь закрывает приложение раньше, чем успеет сработать блокировка по времени использования) сессия все ещё засчитывается как открытие.
Параметры
- Предельное количество открытий (например 3)
- Предельное время сессии (например 10 минут)
- Дни недели, когда правило действует (например с понедельника по пятницу)
Быстрая блокировка
Такие правила отличаются тем, что существуют только на время блокировки. Они предназначены для быстрого блокирования списка активностей на определенное время без необходимости повторять блокировку в дальнейшем.
Они применимы для сфокусированной работы над определенной задачей, чтения статей требующих полного фокуса, рабочих звонков, и прочих менее непредсказуемых вещей.
В остальном такие правила работают аналогично блокирующим расписаниям.
Параметры
- Время блокировки
Технические требования
- SwiftUI в качестве UI фреймворка.
- TCA для управления состоянием будет очень большим плюсом.
- Поддержка macOS 13.0+
Ключевые навыки
- SwiftUI
- TCA
- macOS