# Первый опыт GoBadminton — исследование и решение 08.11.2026 · Issue #522 · Astra / xhigh по trusted assignment. Сетевая работа в этой сессии отключена. Использованы переданные первичные наблюдения, собранные реальным открытием официальных страниц 08.11.2026, и адресные чтения принятого source. Это самостоятельный дизайн-синтез, не исследование установленных приложений и не пользовательское тестирование. ## Решение Рекомендую **A — «Сначала свой город»**: короткое приветствие объясняет сервис и сразу предлагает ручной выбор города. Затем человек попадает в публичный каталог. Аккаунт нужен для конкретного действия; разрешение — для конкретной функции. В начале нет карусели, анкеты или пакета разрешений. Город здесь — полезная граница: без него каталог плохо отвечает на вопрос «что доступно мне». Однако это выбор поиска, а не регистрационные данные. Поэтому город не записывается в профиль молча, неизвестный город не заменяется Москвой. Доказательство пользы — открытая игра или площадка, а не число заполненных полей. ## Сравнение концепций | Концепция | Первый путь | Сильная сторона | Цена решения | Рекомендация | |---|---|---|---|---| | A · Сначала свой город | Приветствие → город → игры | Понятен бадминтонный смысл; ручной город заметен; логичный переход к аккаунту | Два коротких экрана до содержания | Основной путь первого запуска | | B · Содержание сразу | Каталог без данных → город внутри каталога → результат | Быстрее узнаётся структура продукта; меньше отдельного onboarding | Пустой каталог первым кадром слабее объясняет ценность новичку | Хороший режим возвращения; альтернативный первый запуск в галерее | | C · От намерения | Игра / площадка / люди → город → соответствующий каталог | Сразу обслуживает человека, который ищет зал, а не игру | Добавляет решение; «люди» раньше игрового контекста может сместить восприятие к соцсети | Оставить альтернативой, не делать обязательной развилкой | A не пытается объяснить все функции. Фото существующих кортов, реальный логотип и фраза «Встречаемся на корте» задают спортивный контекст. Человек видит главное действие и вход без серого спрятанного отказа. B и C можно пройти в том же прототипе: они сходятся в общий каталог и используют одну модель состояния. Возвращающийся пользователь и любая известная ссылка обходят приветствие во всех вариантах. ## Пять первичных примеров Все ссылки ниже проверены сборщиком входов **08.11.2026**. «Наблюдение» означает прочитанную официальную страницу; не означает лично выполненный сценарий в установленном приложении. | Пример / источник | Реально наблюдалось | Затруднение / вывод дизайнера | Перенос в GoBadminton | Что нельзя переносить | |---|---|---|---|---| | [Playtomic: создание аккаунта](https://playerhelp.playtomic.com/hc/en-gb/articles/19831938095633-How-to-create-your-account-in-Playtomic), документ обновлён 30.10.2026 | Описан общий вход/создание, вход при web booking, последующее дополнение профиля, уровень для open matches | Человек не обязан заранее знать, зарегистрирован ли он. Вторичные данные можно собирать позже. Это вывод из описания, не измеренная конверсия | Одна точка «Войти или зарегистрироваться»; необязательный профиль после полезного действия | Телефон, пароль, набор провайдеров, платежи, бронирование и назначенный уровень не являются возможностями GoBadminton | | [Meetup: локальные события](https://help.meetup.com/hc/en-us/articles/39488979117837-How-Meetup-Shows-You-Local-Groups-and-Events) | Описан приоритет явно выбранной локации над другими источниками; optional device location и fallback профиля | Люди ищут события и в другом городе. Намерение важнее угадывания | Ручной город виден; выбор каталога отделён от профиля и от города игры по ссылке | Не копировать IP-определение, автоматический default city или сроки хранения. Полный native signup не наблюдался | | [Spond: присоединение к группе](https://help.spond.com/app/en/articles/130403-join-a-group) | Описаны ссылка/код приглашения, новый/существующий пользователь, явные accept/decline и видимость контактов | Приходящий по ссылке уже имеет цель; общее знакомство не должно её заменять | Сразу конкретная игра; возврат после входа; новое чтение условий; отдельное подтверждение | Закрытые группы, опекуны, email/SMS приглашения, правила членства. Сохранение ссылки через установку магазина не доказано | | [Strava: privacy defaults](https://support.strava.com/en-us/articles/15401763-what-are-my-privacy-defaults-when-i-create-a-strava-account), страница от 14.09.2026 | Профиль, активности, сообщения и карта имеют отдельные настройки; часть сведений остаётся публичной | Один тумблер «приватность» скрывает важные различия | Отдельно объясняем каталог, запросы на общение, Radar и OS permissions; существующие opt-out сохраняются | Не заимствовать чужие defaults, радиус маскирования, активность/карты маршрутов. Auth onboarding и OS prompt не наблюдались | | [Komoot: планирование маршрута](https://support.komoot.com/hc/en-us/articles/10206792140826-Plan-routes-in-the-app) | Описаны адрес/место, current location и точка на карте; просмотр подробностей до сохранения/навигации | Разрешение нужно только одному способу выполнить задачу; есть ручная альтернатива | «Рядом со мной» просит геолокацию; ручной город остаётся; просмотр до заявки | Навигация, прогноз спортивной сложности, premium и routing. Не делаем вывод о гостевом native доступе по одной help-странице | Эти источники поддерживают паттерны, но не доказывают превосходство A над B цифрами. У нас нет интервью, наблюдений реальных новичков, измерений времени до первой игры или сравнительного эксперимента. Предлагаемая проверка после согласования: человек без подсказки называет смысл сервиса, открывает игру/площадку, отказывается от геолокации и возвращается после отмены входа. До неё Owner UAT = NOT_TESTED. ## Платформенные ориентиры - [Apple HIG / Onboarding](https://developer.apple.com/design/human-interface-guidelines/onboarding): технический launch отделён от знакомства; короткое обучение в контексте. Отсюда отдельный splash без минимальной рекламной задержки и отсутствие карусели. - [Apple HIG / Privacy](https://developer.apple.com/design/human-interface-guidelines/privacy): запрос при понятной необходимости. Используем обычный экран функции; dedicated pre-alert, если он понадобится, имеет одну нейтральную кнопку продолжения к реальному prompt. Не рисуем собственную кнопку так, будто ОС уже разрешила доступ. - [Apple HIG / Accessibility](https://developer.apple.com/design/human-interface-guidelines/accessibility): адаптивный текст, VoiceOver, контраст и альтернативные сигналы. 44 pt, Dynamic Type, Reduce Motion проверяются на устройстве отдельно. - [Android / Request permissions](https://developer.android.com/training/permissions/requesting): feature-driven request, rationale и полезное поведение после отказа. - [Android / Approximate location](https://developer.android.com/develop/sensors-and-location/location/permissions/runtime): приблизительный доступ считается самостоятельным состоянием. Не обещаем точные расстояния. - [Android / Notification permission](https://developer.android.com/develop/ui/compose/notifications/notification-permission): Android 13+ требует runtime POST_NOTIFICATIONS; dismiss не равен deny. Grant отделён от device binding и типов событий. - [Android / Photo Picker](https://developer.android.com/training/data-storage/shared/photo-picker): выбираются конкретные объекты; не требуется общий запрос чтения библиотеки. - [Android / Accessibility](https://developer.android.com/guide/topics/ui/accessibility/views/apps-views): 48 dp hit targets, labels, порядок фокуса. - [Apple App Review 4.8](https://developer.apple.com/app-store/review/guidelines/#login-services): наличие email-кода само по себе не доказывает соответствие social login. Это отдельная зависимость native-плана. HIG HTML требовал JS; сборщик получил официальные markdown endpoints. Их сырые копии остаются в приватных inputs и не публикуются. Здесь только краткий синтез и ссылки. ## Наблюдение собственного продукта Принятый DEV: `0.1.0-alpha.59`, API `0.40.0`. Переданные screenshots — Chromium mobile web 390×844: игры, выбор города, chooser входа. Это не native устройство и не доказательство PWA installation. `live-observation.json` описывает первый capture без auth chooser; отдельный последующий screenshot login передан как самостоятельный артефакт. Не приписываем первому журналу второй capture. На текущем games крупные фильтры и создание игры оказываются выше списка. Для первого native опыта приоритет отдаётся каталогу и карточке, фильтр уровня доступен позже: это новое предложение для mobile, не изменение web. Текущий location — длинный список с отдельными «Выбрать»; native получает поиск и компактные строки. Нынешний web при отсутствии выбранного города показывает Москву; новый путь требует явного выбора и не наследует этот fallback. Адресные source checks подтвердили: безопасное публичное имя «Игрок», directory=true/contact requests для новых профилей, прежние opt-out сохраняются. Provider/account names приватны. Web ProfileSetupPage сохраняет только city с expectedVersion; серверная заявка не требует полного профиля. Native-дизайн предлагает не вставлять city-only setup перед заявкой при уже известной игре, потому что это не серверный join gate. Изменение координатора mobile фиксируется в M2, не меняет текущий web. Дополнительный точечный факт: `ContentPages.tsx` сейчас показывает legal documents и operator/support как **не опубликованные**. Прототип не сочиняет юридический текст. Это зависимость #461 / legal readiness перед реальным открытием регистрации и магазинами, а не формальное наличие ссылок.