Иногда баги появляются не потому, что код сложный. А потому что логика кажется настолько очевидной, что перестаешь ее проверять.
Именно так я случайно сломал регистрацию в своем приложении.
Любая разработка мобильного приложения — это путь проб и ошибок. Недавно в моем приложении для учета рабочих смен (Shift Schedule) я столкнулся с классической проблемой, которая едва не стоила мне новых пользователей. Это история о техническом дедлоке, "проблеме курицы и яйца" в логике и о том, почему путь к регистрации всегда должен оставаться свободным.
Как я сломал onboarding для новичков
В последнем релизе я улучшил систему безопасности, в том числе и получение бесплатного пробного PRO-периода (триал). Логика задумывалась максимально честной и удобной:
Вы скачиваете приложение.
Авторизуетесь (создаете аккаунт).
Приложение автоматически дарит вам бесплатный PRO-триал без привязки карт. Также в приложении есть подарочные промокоды, которые я периодически разыгрываю.
Но вскоре после релиза мне написал реальный пользователь: он выиграл подарочный промокод (которые я периодически разыгрываю), попытался его ввести, приложение попросило авторизоваться, а на экране аккаунта высветилась глухая заглушка — «Требуется PRO-доступ».
Ни формы логина, ни кнопок. Тупик.
Проблема курицы и яйца
Начав расследование, я обнаружил, что сам создал дедлок. Проверка PRO-доступа выполнялась раньше, чем пользователь успевал войти в аккаунт.
Получился замкнутый круг:
Чтобы получить триал (PRO-доступ), пользователю нужно войти в аккаунт.
Чтобы увидеть экран входа, пользователю нужен PRO-доступ.
Новые пользователи физически не могли пробить эту стену. Почему я не заметил этого раньше? Все просто: на моих тестовых устройствах и у старой аудитории действовал переходный период лояльности (grace period). У старых пользователей проверка прав всегда проходила успешно, и для меня баг оставался абсолютно невидимым целый месяц.
Снимаю замки
Самым простым решением, казалось бы, было добавить костыли: пускать на экран регистрации тех, у кого "еще не было триала", или сделать отдельную кнопку входа где-нибудь сбоку.
Но в итоге я понял, что сама идея была неправильной. Экран авторизации вообще не должен зависеть от подписки. Я решил не городить исключения, а убрать саму причину проблемы.
Я полностью удалил проверку PRO-доступа с экрана аккаунта.
Теперь любой человек может скачать приложение, свободно зайти в свой профиль, посмотреть статус подписки или ввести промокод. Платными (закрытыми) остались только конкретные функции — например, синхронизация данных с сервером или совместный график партнёров. А регистрация и получение триала работают как часы.
Итоги
Самое интересное, что проблема была не в подписке. И не в триале. Она была в архитектуре.
Я пытался защитить платную функцию, но случайно защитил путь к её получению. Пользователь никогда не должен доказывать приложению, что достоин увидеть экран входа.
После исправления правило стало очень простым:
Платными могут быть функции. Экран аккаунта, вход и регистрация — никогда.
После исправления приложение заработало именно так, как задумывалось с самого начала.
Забавно, что проблема оказалась не в подписке, а в одной неверной проверке.
Знаете это чувство, когда хочешь сделать "быстренько и красиво", а в итоге сидишь в три часа ночи, смотришь в монитор и думаешь: "Да кто вообще так пишет движки?!"
Короче, делаю я свое приложение для сменщиков (календарь графиков 2/2, сутки/трое и вот это всё). В какой-то момент пользователи говорят: "Слушай, а можно не кнопки нажимать для переключения месяцев, а просто свайпать пальцем вбок?"
Я (наивный разработчик): "Пфф, конечно! Это же 2026 год, сейчас всё свайпается".
Лезу в документацию своего движка (Unity UI Toolkit). А там черным по белому: "Хотите свайп? Создайте три копии экрана (прошлый месяц, текущий, следующий), выстройте их в ряд и двигайте туда-сюда".
Я так и сделал. Запустил на тестовом Android. Телефон нагрелся так, что на нем можно было жарить яичницу, а при свайпе всё тормозило, как будто я запускаю Cyberpunk 2077 на калькуляторе. Держать в памяти три сетки календаря со всеми днями и цветами смен оказалось слишком жирно.
Попытка №2. Я решил использовать встроенный ScrollView. Но тут пришла беда откуда не ждали: весь мой экран прокручивается сверху вниз, а календарь нужно свайпать слева направо. В итоге, когда пользователь пытался перелистнуть месяц, экран начинал дергаться по диагонали в припадке эпилепсии. Движок просто не понимал, что от него хотят.
И тут Остапа понесло... Я решил пойти против системы. Написал свой собственный обработчик касаний на самом низком уровне. Как только вы касаетесь экрана, код за миллисекунды вычисляет вектор вашего движения. Если вы ведете палец вбок — система жестко блокирует вертикальную прокрутку экрана. Анимацию я тоже сделал "поддельную": календарь никуда не едет, он просто растворяется и тут же появляется новый, но с микро-сдвигом и приятной вибрацией (хаптиком). Выглядит как настоящий свайп, а ресурсов жрет в 10 раз меньше!
Победа? Однозначно.
А еще, пока у меня компилировался этот код, я успел дописать новую вкладку «Доход». Теперь приложение умеет само считать зарплату сменщика с учетом ночных часов, выходных и переработок.
Обновление 2.1.0 уже прошло модерацию и доступно в RuStore и на нашем сайте. А я пошел пить кофе и думать, какую еще "простую" фичу пользователи попросят добавить в следующий раз.
А у вас на работе как считают зарплату? Сами в эксельке прикидываете или верите бухгалтерии на слово?
У обычных людей всё просто: суббота, воскресенье, праздники. Можно заранее договориться, куда поехать, когда встретиться с друзьями или когда просто ничего не делать.
Со сменным графиком всё веселее. У одного день, у второго ночь. Потом один отсыпается, второй выходит на работу. Через пару дней вроде бы оба свободны, но у кого-то подработка, у кого-то смена поменялась, а кто-то уже забыл, что вообще хотел планировать.
Один общий выходной ещё можно найти вручную. Открыл календарь, посмотрел даты, сравнил. А вот найти несколько дней подряд — это уже отдельная мини-игра.
Особенно если графики разные: 2/2, 3/3, день/ночь, сутки через трое или вообще какой-нибудь свой цикл, который нормально понимает только тот, кто по нему работает.
Один выходной — это не отдых
Один свободный день вместе — это хорошо, но часто его хватает только на бытовые дела.
Съездить за продуктами, решить какие-то вопросы, сходить куда-то по необходимости. А если хочется реально отдохнуть, выбраться за город, поехать к родственникам или просто провести пару дней без беготни, нужен не один день, а хотя бы два-три подряд.
И вот тут начинается ручной подсчёт.
Смотришь свой график. Потом график партнёра. Потом замечаешь, что у тебя выходной, а у него ночь. Потом вроде бы два дня совпали, но один из них после ночной. Потом рядом праздник, но он почему-то выпал на рабочую смену.
В итоге проще закрыть календарь и сказать: “потом посмотрим”.
Я сделал отдельный экран для таких совпадений
В своём приложении для сменных графиков я добавил отдельную вкладку “Вместе”.
Идея простая: приложение сравнивает два графика и показывает дни, когда оба свободны.
Но в новой версии я понял, что просто показать отдельные совпадающие дни мало. Нужно сразу видеть периоды.
Например:
13–14 июня — два дня вместе;
17–21 июня — пять дней вместе;
30 июня — 1 июля — ещё один общий период.
Когда дни объединены в блоки, сразу видно, где просто случайный общий выходной, а где уже можно что-то планировать.
Почему периоды удобнее отдельных дней
Если просто подсвечивать общие выходные в календаре, всё равно приходится считать глазами.
Один день тут, второй там, потом ещё один через неделю. Вроде выходные есть, но непонятно, можно ли на них построить нормальный план.
А когда приложение показывает именно период, становится проще:
видно начало и конец;
видно, сколько дней вместе;
можно сравнить короткий и длинный вариант;
легче выбрать время для поездки или отдыха.
Для сменного графика это важнее, чем кажется. Потому что свободные дни у сменщиков часто раскиданы не так, как у людей с обычной пятидневкой.
Погода тоже внезапно стала важной
Когда речь про один день, погоду ещё можно проверить отдельно. Но если свободный период на несколько дней, хочется сразу понять, что там примерно будет.
Поэтому я добавил погодную сводку для совместных периодов. Если у вас совпали несколько дней подряд, можно увидеть температуру и дождливые дни.
Это не “метеостанция в календаре”, а просто быстрый ориентир: подходит ли этот период для прогулки, поездки или лучше сразу планировать что-то в помещении.
Праздники, заметки и всякая реальная жизнь
Ещё одна штука, о которой сначала не думаешь: праздники.
У сменщиков праздник не всегда означает выходной. Иногда праздник выпадает на рабочую смену. Иногда рядом с ним получается хороший общий период. Поэтому я добавил отображение официальных праздников разных стран.
Плюс заметки. Потому что найти общий период — это половина дела. Нужно ещё не забыть, что вы хотели сделать.
Например:
прогулка;
кино;
поездка;
море;
семейные дела;
отпуск.
Теперь такие планы можно видеть прямо рядом с совместными днями.
В итоге
Самое сложное в сменном графике — не только помнить свои смены. Иногда сложнее понять, когда у вас вообще есть нормальное общее время.
Один работает днём, другой ночью, потом выходные не совпали, потом подработка, потом праздник, потом всё снова пересчитывать.
Поэтому я и начал делать не просто календарь смен, а инструмент, который помогает жить вокруг этого графика: видеть свои смены, общие выходные, периоды отдыха, погоду, праздники и планы.
Не знаю, насколько часто у других такая же проблема, но по комментариям понял, что у сменщиков это довольно типичная история.
Как раздражение от рекламы, два угробленных проекта и желание видеть общие выходные превратились в Android-приложение ShiftSchedule.
Я один разрабатываю Android-приложение. Без команды, без инвестора, без маркетолога. Просто я, ноутбук и идея, которая не давала покоя.
Началось даже не с идеи. Началось с рекламы.
У меня было похожее приложение для учёта смен. Обычное, с баннерами. И в какой-то момент я в очередной раз случайно ткнул в рекламу — и на меня вывалилось окно за окном. Закрыл телефон, подумал секунду и поймал себя на мысли: а почему бы не сделать своё?
Без рекламы. Без лишнего шума. И не просто “мой график”, а чтобы можно было видеть, когда мы со второй половиной оба свободны.
Вот с этого всё и началось.
Март 2026 года. Я установил Unity, начал читать документацию, пробовать. Не знал, как нормально сохранять проекты — о системе контроля версий тогда почти не думал. И я угробил два проекта.
Оба раза одинаково: неделя работы после основной работы, ночами, когда все уже спят. Что-то придумал, реализовал, тестируешь — и в какой-то момент проект перестаёт компилироваться. Ошибка за ошибкой, непонятно откуда. Что делать — не знаю.
В итоге: удалить всё и начать с чистого листа.
Два раза по кругу. Третий проект — тот, что сейчас.
Когда в семье кто-то работает посменно, жизнь превращается в постоянную арифметику.
“Ты в эту субботу работаешь?”
“Подожди, дай посчитаю. Сегодня пятница, значит завтра... нет, подожди, мы же поменялись на той неделе...”
Особенно это заметно на графиках 2/2, 3/3, день/ночь или сутки через трое. На бумаге всё выглядит просто: рабочие дни, выходные, повторяющийся цикл. Но в реальности начинаются подработки, больничные, отпуска, переносы смен, вторая работа и попытки найти хотя бы один общий выходной.
Все существующие приложения обычно думают об одном пользователе: вот твой график, смотри.
Но у сменщика есть ещё и семья. Им тоже нужно планировать жизнь.
Мне нужно было знать не только когда я работаю. Мне нужно было знать, когда мы оба свободны.
Общие выходные в ShiftSchedule отмечаются прямо в календаре — не нужно вручную сравнивать два графика.
Это маленькое, но принципиальное различие. Именно оно в итоге начало определять каждое решение в приложении.
Первые месяцы я сам себе тестировщик. Обновление выходит — ставлю на свой телефон, хожу и ищу баги. Просил друзей на работе: “Поставь, посмотри, как у тебя выглядит”.
У меня на экране всё красиво — у кого-то на другом телефоне разъезжается вёрстка. Приходишь домой, правишь, снова смотришь. Пользователей мало, обратной связи почти нет.
Это, пожалуй, самое сложное: делаешь в тишине и не всегда понимаешь, правильно ли идёшь.
Обновления выходят раз в неделю-две. Каждое — это несколько вечеров, найденные баги, исправленные косяки и один новый кусок того, что хочется в итоге.
Так приложение постепенно перестало быть просто календарём смен.
Появились заметки к дням, подработки, отпуск, больничный, второй график, будильники перед сменой, облачная синхронизация, вход через Яндекс, Google и почту. Потом добавился партнёрский режим, чтобы можно было видеть общие выходные. А позже — навык Алисы, чтобы можно было спросить голосом: “Работаю ли я завтра?”
И вот тут я окончательно понял: сменный график — это не просто “рабочий день” и “выходной”.
Это сон. Это семья. Это планы. Это дорога. Это подработки. Это отпуск, который хочется поставить так, чтобы не потерять лишние дни. Это вопрос “когда мы вообще можем куда-то поехать вместе?”
Обычный календарь показывает даты. Но он не всегда понимает жизнь человека, который работает по сменам.
Похожие приложения появляются, но идея у многих одна и та же — просто мой график. Я же продолжаю делать то, что изначально хотел видеть сам.
А хотел я с самого начала две вещи: вкладку “Вместе”, где видно, когда вы оба свободны, и AI-помощника, который подскажет, когда лучше запланировать отпуск или совместный выходной.
Думал, сделаю быстро. Три месяца назад казалось, что это вопрос пары недель.
Сейчас вкладка “Вместе” наконец готова — тестирую её на своём телефоне. AI пока пустой экран с надписью “в разработке”. До логического конца я всё ещё не дошёл.
Но каждый раз, когда кажется, что вот-вот финишная черта, я придумываю что-то новое. Что-то, чего ещё не было. Что-то, что хочется попробовать.
Наверное, это и есть главное. Не дойти до конца, а продолжать пилить. И получать от этого удовольствие.
Три месяца. Три старта. Один человек.
И одна мысль, которая не даёт остановиться.
Если интересно посмотреть, что из этого получилось, я собираю всё на сайте ShiftSchedule. Там есть описание приложения, инструкции, FAQ и ссылки для скачивания.
Как я один продвигаю ShiftSchedule без рекламного бюджета: статьи, Дзен, 4PDA, RuStore, Алиса, сайт и много терпения.
Когда приложение готово, начинается другая работа. Та, к которой разработчик обычно не готов.
Я не маркетолог. У меня нет рекламного бюджета, команды продвижения и человека, который будет красиво упаковывать каждый релиз.
Зато есть приложение ShiftSchedule — календарь смен для Android — и несколько месяцев проб, ошибок и неожиданных открытий.
Писать код оказалось проще, чем найти первых пользователей.
Начал с того, что умею: с текста
Первое, что я сделал — начал писать статьи.
Не рекламные посты в стиле “скачайте моё приложение”, а обычные полезные материалы. О том, как считать сменный график, чем отличается график 2/2 от графика 3/3, как устроена работа день/ночь, что делать с графиком сутки через трое и почему людям со сменной работой так сложно планировать обычную жизнь.
Люди каждый день вбивают такие запросы в поиск. Если статья отвечает на реальный вопрос, она может жить долго. Не день, не два, а месяцами. Ты уже забыл, что писал её, а она всё ещё приводит кого-то на сайт или в приложение.
Это не быстрый способ продвижения. Первое время — почти тишина. Но статья про календарь смен, будильники перед сменой или общие выходные с партнёром работает как тихий менеджер: без криков, без рекламы, но постоянно.
Сейчас я всё больше понимаю, что для маленького приложения это один из самых честных способов продвижения. Не пытаться орать громче всех, а отвечать на конкретные вопросы конкретных людей.
Большие площадки и реальность маленького проекта
Я пробовал публиковаться на крупных площадках — DTF и Пикабу.
Написал несколько статей. Где-то они получили просмотры, где-то комментарии, где-то люди действительно переходили и интересовались приложением. Для начинающего проекта это очень ценно: наконец-то появляется ощущение, что ты не просто выкладываешь обновления в пустоту.
Но довольно быстро стало понятно, что у больших площадок свои правила. Если материал связан с твоим продуктом, его легко могут посчитать рекламой. А дальше выбор простой: либо ограничения, либо платное продвижение.
Для большого бизнеса это нормальная механика. Компания платит за охваты, получает показы, считает эффективность. Всё понятно.
Но для одиночного разработчика на старте сумма в десятки тысяч рублей в месяц выглядит иначе. Особенно когда приложение только начинает продаваться, пользователей мало, а каждая покупка — это скорее подтверждение, что ты движешься в правильную сторону, чем реальная окупаемость.
Я не спорю с площадками. У них свои правила, у меня свои возможности. Просто пришлось принять: строить продвижение только на чужих алгоритмах нельзя.
Где пишу сейчас
Сейчас пробую несколько направлений.
В Дзене веду канал и постепенно переоформляю его под ShiftSchedule, сменные графики и разработку приложения. Там пока тихо, но я не жду мгновенного результата. Старый канал раньше был на другую тему, поэтому алгоритмам нужно время, чтобы понять новую аудиторию.
На VC.ru пробую формат личного опыта: как один человек делает Android-приложение, продвигает его, сталкивается с RuStore, Алисой, пользователями, SEO и всем остальным, что обычно не видно за кнопкой “скачать”.
В VK, Telegram и MAX публикую короткие новости: обновления, новые функции, заметки по разработке. Это больше связь с теми, кто уже интересуется проектом.
На 4PDA есть страница приложения. Это отдельный мир со своими правилами, но для Android-приложения такая площадка важна. Там люди умеют задавать конкретные вопросы, проверять APK, замечать мелочи и говорить прямо.
И главное — собственный сайт.
Сайт оказался самым важным
Сайт стал центром проекта: там собраны описание приложения, инструкции, FAQ и ссылки для скачивания
Со временем я понял: сайт — это единственное место, где никто не может обрезать охваты, скрыть пост, поменять правила или решить, что сегодня твоя публикация “слишком рекламная”.
На сайте можно нормально объяснить, что такое ShiftSchedule, для кого оно, какие графики поддерживает, как работает партнёрский режим, как включить синхронизацию, где скачать приложение и что нового появилось.
Сейчас я постепенно собираю всё вокруг сайта: статьи, инструкции, FAQ, описание функций, ссылки на RuStore и APK.
Это медленнее, чем купить рекламу. Зато каждый материал остаётся работать дальше.
Разобрался, как показаться поисковикам
Есть отдельный этап, о котором я раньше почти не думал: нужно объяснить Яндексу и Google, что твой сайт существует и ты за него отвечаешь.
Звучит странно, но без этого сайт как будто стоит в лесу. Он есть, ты его видишь, ссылку можешь отправить. Но поисковики могут долго не понимать, что с ним делать.
Я подключил Яндекс.Вебмастер, Google Search Console, Метрику, проверил sitemap и robots.txt. Потом подключил Дзен к сайту.
Последнее особенно запомнилось: нужно было загрузить специальный файл на сайт, чтобы Яндекс убедился, что сайт действительно мой. Загрузил — ошибка. Проверил — опечатка в одном символе. Исправил, подождал пару минут. Сработало.
Полчаса на то, что могло занять две минуты. Классика.
Алиса — неожиданный канал
Навык Алисы стал отдельным экспериментом: простая идея неожиданно превратилась в недели правок и модераций.
Одна из самых странных и одновременно приятных идей — сделать навык для Яндекс Алисы.
Сценарий простой: человек спрашивает колонку или телефон “когда я работаю?” — и получает ответ из ShiftSchedule.
Я думал, это займёт день. В худшем случае пару вечеров.
Заняло недели.
Модерация Яндекса отклоняла навык два раза подряд. Первый раз я честно злился. Второй раз уже смеялся сквозь зубы: ну как, второй раз подряд, серьёзно?
К третьей попытке просто методично исправлял каждый пункт из письма. Команды, подсказки, помощь, сценарии, формулировки. В итоге навык одобрили.
Теперь ShiftSchedule можно использовать не только как приложение, но и через голосовой помощник. Можно спросить: “Алиса, спроси у навыка Мой график смен, работаю ли я завтра?”
Для маленького приложения это необычный канал. Не массовый, не волшебный, но живой. И точно выделяет проект среди обычных календарей смен.
Карточка приложения в магазине — это тоже часть продвижения: описание, скриншоты и каждое обновление влияют на первое впечатление.
Отдельная часть продвижения — RuStore.
Мало просто загрузить APK и ждать. Нужно следить за описанием, скриншотами, разделом “Что нового”, ключевыми словами, отзывами, обновлениями и тем, как выглядит карточка приложения.
Каждая мелочь влияет на то, пройдёт ли пользователь мимо или хотя бы откроет страницу.
Я постепенно понял, что карточка приложения — это почти отдельный лендинг. Первые скриншоты, описание, название функций, упоминание графиков 2/2, 3/3, день/ночь, суток через трое, партнёрского режима, будильников, облака и Алисы — всё это важно.
Здесь нет волшебной кнопки. Просто аккуратность и регулярность.
Что реально сработало
Пока рано делать большие выводы, но уже видно несколько вещей. Людям интереснее не функция сама по себе, а проблема, которую она решает.
Что впереди
Хочу писать крупным компаниям — Яндексу, Сберу, возможно, другим сервисам. Не уверен, что ответят, но не попробуешь — не узнаешь.
Планировал подать заявку на грант, но не успел до дедлайна. Значит, попробую позже, когда проект станет сильнее и понятнее.
Ещё хочу развивать сайт: отдельные страницы под график 2/2, сутки через трое, день/ночь, общие выходные с партнёром, будильники, Алису и синхронизацию. Это не самый быстрый путь, но он кажется самым устойчивым.
Продвижение без бюджета — это медленно
Честно: продвигать приложение без бюджета — медленно. Очень медленно.
Иногда обидно. Особенно когда ты тратишь вечера на статью, а площадка даёт ей пару сотен показов. Или когда пост считают рекламой просто потому, что ты честно рассказываешь о своём продукте.
Но у этого пути есть одно важное свойство: всё, что ты построил, остаётся с тобой.
Статья на сайте. Пост в Дзене. Тема на 4PDA. Страница в RuStore. Ответ пользователю. Инструкция. Обновление. Новый скриншот. Новый релиз.
По отдельности это мелочи. Вместе — система.
Соло-разработчик не может конкурировать деньгами. Зато может конкурировать конкретностью.
Писать не “для всех”, а для конкретных людей. В моём случае — для тех, кто работает по сменному графику, считает дни 2/2, 3/3, день/ночь, сутки через трое, пытается не проспать смену, не потерять расписание и найти общий выходной с близким человеком.
ShiftSchedule как раз про это.
Если интересно посмотреть, что получилось, я собираю всё на сайте приложения: описание функций, инструкции, FAQ и ссылки для скачивания.
А дальше — терпение, новые статьи, новые обновления и немного чувства юмора. Особенно после второго отказа модерации.
Я сделал для своего календаря смен навык Яндекс Алисы. Теперь можно спросить: «Алиса, я завтра работаю?»
Когда работаешь по пятидневке, такой вопрос почти не нужен. Всё понятно: будни — работа, выходные — отдых.
Но при сменном графике всё сложнее. Сегодня день, завтра ночь, потом отсыпной, потом выходной. У кого-то 2/2, у кого-то сутки через трое, у кого-то вторая работа поверх основной. В итоге даже простой вопрос «я завтра работаю?» иногда приходится проверять в календаре.
Я давно делаю ShiftSchedule — приложение для сменных графиков. И постепенно заметил, что людям нужен не только календарь, а быстрые ответы на бытовые вопросы:
— я сегодня работаю?
— когда следующий выходной?
— сколько смен в этом месяце?
— когда отпуск?
— когда общий выходной с партнёром?
Поэтому добавил навык Яндекс Алисы «Мой график смен». Теперь эти вопросы можно задать голосом через колонку или приложение Яндекс.
Навык берёт данные из облака, поэтому старым пользователям нужно обновиться до версии 1.9.0+, войти в аккаунт и сделать первую синхронизацию. Иначе Алиса просто не увидит актуальный график.
Полная инструкция и список команд находятся на сайте приложения.
Понятно, что это не функция первой необходимости. Но в быту она оказалась очень логичной: утром собираешься, вечером планируешь дела, после смены не хочется открывать телефон — проще спросить голосом.
Самое интересное, что календарь смен постепенно превращается не просто в таблицу с рабочими днями, а в помощника, который знает твой режим.
Посмотрим, насколько такая функция будет нужна людям. Мне самому кажется, что для сменщиков голосовые команды здесь вполне на своём месте.
Вышло обновление ShiftSchedule 1.9.0. В этой версии мы сделали регистрацию и вход в аккаунт проще: теперь можно войти через Яндекс ID, Google или обычную почту.
На первый взгляд регистрация может казаться необязательной. Приложение работает и без неё: можно настроить график, отмечать смены, выходные, отпуск, больничный, подработку, пользоваться заметками и будильниками.
Но есть важный момент. Мы периодически получаем сообщения от пользователей, которые потеряли свой график после смены телефона, переустановки приложения или сброса устройства. Если данные не были привязаны к аккаунту, восстановить их может быть сложно или невозможно.
Именно поэтому мы рекомендуем зарегистрироваться в приложении. Аккаунт нужен не “для галочки”, а для сохранения графика в облаке. Если вы смените телефон или переустановите приложение, данные можно будет восстановить на другом устройстве.
В версии 1.9.0 это стало удобнее. Теперь не обязательно вводить всё вручную: можно войти через Яндекс ID или Google одним нажатием. Также остаётся регистрация через почту.
После регистрации пользователь получает 14 дней PRO-функций бесплатно. Это небольшой бонус за то, что график теперь будет надёжнее защищён от потери.
Ещё одно изменение касается партнёрского режима. В настройках синхронизации появилась кнопка обновления кода партнёра. Она нужна, если вы хотите сменить код совместного доступа. Чтобы случайно не сбросить код, действие подтверждается двойным нажатием.
Также в обновлении исправлены ошибки. На некоторых устройствах Oppo и ColorOS мог появляться чёрный экран при запрете геолокации — это исправлено. Расписание партнёра теперь корректно обновляется после загрузки из облака.
Если вы уже пользуетесь ShiftSchedule, рекомендуем открыть Настройки → Синхронизация и привязать график к аккаунту. Это займёт немного времени, но поможет не потерять расписание при смене телефона или переустановке приложения.
В новой версии ShiftSchedule появилась поддержка второго графика: теперь основную и вторую работу можно вести в одном календаре, не путая их с подработкой.
Вышло обновление ShiftSchedule 1.8.0. Главная новая функция — второй график. Это обновление для тех, кто совмещает основную работу и вторую работу, берёт дополнительные смены в другом месте или живёт сразу по двум расписаниям.
Раньше в приложении уже была «Подработка» — это статус внутри основного графика. Например, когда у вас есть обычный график, но в какой-то день вы дополнительно вышли на смену. В версии 1.8.0 появилась другая возможность: именно отдельный второй график со своим циклом, своими рабочими и выходными днями.
Это удобно, если у вас есть основная работа и вторая работа с отдельным расписанием. Например, основной график идёт по схеме день/ночь, а вторая работа — 1/3 или по своим плавающим дням. Теперь это можно вести в одном календаре, не смешивая всё в голове и не отмечая вторую работу вручную каждый раз.
Второй график можно настроить отдельно: задать название, количество рабочих и выходных дней, дату начала цикла и произвольный выбор дней. При необходимости отдельные дни можно добавить или убрать вручную — это не ломает основной цикл. Такой вариант нужен для реальных графиков, где на бумаге всё красиво, а в жизни смену могут перенести, отменить или поставить дополнительно.
В календаре дни второй работы отмечаются отдельным значком портфеля. При этом это не статус «Подработка» из основного графика, а именно отдельная отметка второй работы. Если значки мешают, их можно скрыть в основном календаре и оставить второй график только в настройках.
Отдельно добавлена защита от случайных ошибок. Когда вы настраиваете вторую работу, занятые дни основного графика закрываются заглушками. Это нужно, чтобы случайно не поставить вторую работу поверх основной смены. Такой подход помогает разделить два расписания и не испортить уже настроенный основной график.
Обновился и партнёрский режим. Теперь при поиске общих выходных приложение учитывает не только основной график, но и второй. Если у вас или у партнёра в этот день стоит смена на второй работе, день больше не будет ошибочно считаться общим выходным. А расписание партнёра теперь обновляется автоматически раз в 30 секунд, без необходимости перезапускать календарь.
Также в версии 1.8.0 улучшены будильники после перезагрузки телефона. Если смартфон перезагрузился, ShiftSchedule покажет тихое уведомление-напоминание. Достаточно открыть приложение, и будильники под смены пересчитаются заново.
Есть и технические исправления по отзывам пользователей. Улучшена работа на Xiaomi и Redmi с MIUI: приложение корректнее открывает нужный раздел настроек автозапуска. Счётчик «Всего» в фильтре стал точнее и больше не считает дни, где есть только заметка без статуса смены. Также исправлены кнопки открытия системных настроек и обратной связи.
Небольшое важное напоминание: если вы пользуетесь синхронизацией, партнёрским режимом или хотите сохранить данные в облаке, лучше создать аккаунт в настройках и подтвердить email. Иногда письмо подтверждения попадает в спам. Это поможет надёжнее сохранять графики и восстановить данные при необходимости.
ShiftSchedule 1.8.0 уже доступен. Если вы совмещаете две работы или ведёте сложный сменный график, это обновление должно сделать календарь заметно удобнее.
Скачать приложение и посмотреть подробности можно на сайте проекта.