«Где участковый?» — приложение для Windows Phone и Windows 8 на данных openpolice.ru
Доклад Антона Ленева о приложении «Где участковый?» для Windows Phone и Windows 8 на данных openpolice.ru: хакатон, AR, геймификация и уроки.
Открыть оригинал →«Где участковый?» — приложение для Windows Phone и Windows 8 на данных openpolice.ru
Это архивная текстовая версия доклада. Видео на YouTube.
Доклад Антона Ленева о том, как из идеи для хакатона выросло мобильное приложение на двух платформах Microsoft — Windows Phone и Windows 8. Проект использовал открытые данные портала openpolice.ru, чтобы показывать пользователю его участкового: кто он, где находится его отделение и за какие дома он отвечает. Ниже — пересказ основных тезисов выступления.
Как появился проект: хакатон в Череповце
История «Где участковый?» началась на хакатоне в Череповце. Формат был классическим: команда с дизайнером приезжает на площадку, получает 48 часов и тему — и за это время собирает работающий прототип. На таких мероприятиях рождаются самые разные идеи — от «приложения для метания фаерболов» до социальных сервисов. Антон в то время уже активно писал под Windows Phone и решил попробовать сделать что-то прикладное и социально полезное именно под платформу Microsoft.
В итоге за выходные был собран прототип приложения, показывающего участковых уполномоченных МВД рядом с пользователем. По итогам хакатона проект оказался в числе победителей и не «ушёл с пустыми руками» — это дало стимул довести идею до полноценного релиза.
Зачем нужно такое приложение
Бытовая проблема, от которой отталкивался автор, звучит просто: обычный человек в большинстве случаев не знает своего участкового. Телефон, кабинет, график приёма — всё это теоретически есть на сайтах МВД и на информационных стендах у подъездов, но найти нужную информацию быстро и с телефона почти невозможно. При этом поводы вспомнить про участкового появляются регулярно: шумные соседи в три часа ночи, пропавший велосипед, слитый бензин из машин во дворе.
Идея приложения — свести всю эту разрозненную информацию в один экран, привязанный к геолокации. Пользователь запускает программу, она определяет его адрес, находит ответственного за эту территорию участкового и показывает всё, что о нём известно: ФИО, фотографию, звание, адрес опорного пункта, телефон, список закреплённых домов и ближайшее отделение МВД.
Источник данных: openpolice.ru
Технически приложение построено вокруг открытых данных портала openpolice.ru. Там публикуется справочник участковых уполномоченных: ФИО, адреса опорных пунктов и перечень домов, за которые они отвечают. В строгом виде это просто плоский реестр с текстовыми адресами — никаких координат, никакой карты.
Чтобы эти данные стали пригодны для мобильного приложения, каждый адрес пропускается через геокодер Google Maps: «улица + дом» превращается в пару координат. Дальше их уже можно рисовать на карте, искать ближайшую точку от пользователя и выводить нужного участкового. Именно этот шаг — приведение «бумажной» базы к геоданным — и делает приложение полезным, потому что иначе пользователю пришлось бы самому листать таблицы.
Антон отдельно упоминает, что регулярность обновления данных на стороне openpolice.ru оставляет желать лучшего. Когда он сам писал на портал с предложением обновить базу для Москвы, ему вежливо ответили, но в течение года ничего не прислали. В результате часть информации в некоторых регионах откровенно устаревала — это один из главных честно названных недостатков проекта.
Почему Windows Phone и Windows 8
Выбор платформы для многих выглядел странным: на момент работы над проектом экосистема Microsoft заметно уступала iOS и Android по количеству пользователей. Но у этого решения было несколько причин.
Во-первых, автор в тот период активно развивался именно в стеке Microsoft и хорошо знал XAML, C# и особенности Windows Phone. Во-вторых, под Windows Phone и Windows 8 было заметно меньше конкурирующих приложений, чем под iOS/Android, — и в магазине проект быстрее становился заметным. В-третьих, Microsoft в те годы активно поддерживала разработчиков хакатонами, бонусами и программами вроде DVLUP, что делало платформу привлекательной для экспериментов. Сам формат «живых плиток» Windows 8 и Windows Phone неплохо ложился на идею «карта + участковый + быстрые действия».
Что умеет приложение
Главный сценарий — «найти своего участкового». GPS и так включён у большинства пользователей, приложение получает координаты, определяет адрес, запрашивает по нему ответственного сотрудника и показывает его карточку.
Помимо базового поиска по геолокации, в приложение вошли ещё несколько режимов:
- Поиск по адресу и по фамилии — если геолокация отключена или нужно посмотреть «чужого» участкового, например по адресу родственников в другом городе.
- Карта с отметками участковых — нанесены все точки по городу, можно приблизиться и увидеть, кто за какой участок отвечает.
- Режим дополненной реальности — пользователь наводит камеру телефона, поверх картинки с камеры отображаются метки с участковыми, расстоянием и направлением. Подход похож на старые AR-справочники по POI и неплохо работает в городе с плотной застройкой.
- Информация об отделении МВД — адрес, телефон, привязка к списку участковых.
- Новости МВД — лента, чтобы из приложения можно было быстро узнать о свежих объявлениях или изменениях.
Геймификация и пользовательский контент
Чтобы приложение не сводилось к справочнику, в него добавлены социальные и игровые механики. После авторизации через внешний провайдер (например, Facebook) пользователь получает возможность ставить участковому оценку, писать отзыв и делиться этим в соцсети. Отзывы видны всем пользователям приложения и синхронизируются между платформами.
Отдельный слой — значки и достижения. За разные действия пользователь получает «бейджи»: например, если найти участковых 20 раз или отметить сдачу крови как донор — открываются соответствующие награды. Идея — превратить утилитарное приложение в то, куда хочется возвращаться, даже если конкретно сейчас никакого вопроса к участковому нет.
В докладе Антон честно признаёт и обратную сторону такой открытости: пользователи пишут всё подряд, часть отзывов приходится модерировать и удалять, а в комментариях в магазине встречается откровенно абсурдное «народное творчество», над которым сам автор с удовольствием смеётся со сцены.
Версия под Windows 8 и особенности платформы
Планшетная версия под Windows 8 была собрана буквально в последнюю ночь хакатона, поэтому по функциональности она уступает Windows Phone. В ней есть ключевой сценарий — поиск участкового по адресу, карта, новости МВД и контакты отделений, — но отсутствует часть «продвинутых» фич вроде полноценной дополненной реальности.
Зато Антон отмечает интересную особенность Windows 8 на планшетах и ноутбуках без GPS: местоположение всё равно определяется — через Wi-Fi и сетевую геолокацию. С точки зрения пользовательского опыта это удобно, а с точки зрения приватности — повод задуматься: «Вот такая вот ваша приватность», — шутит докладчик.
Проблемы и ограничения
В докладе честно перечисляется, что не получилось или получилось не так, как задумано:
- Данные на openpolice.ru обновляются редко, и приложение неизбежно разделяет эту проблему — часть карточек устаревает.
- В Москве возникали сложности с поиском «своего» участкового по конкретной улице: база для столицы оказалась особенно «дырявой».
- Модерация пользовательского контента — ручная и требует времени: в магазин и в отзывы приходят и адекватные пользователи, и те, кто заходит просто поугорать.
- Зависимость от сторонних API (геокодер Google, соцсеть-провайдер авторизации) означает, что при изменении их политик приложение может резко «поломаться».
Похожие проекты и уроки
На фоне «Где участковый?» автор упоминает другие свои проекты, собранные по той же идеологии «открытые данные + мобильное приложение»:
- «Где посылка» — трекинг почтовых отправлений через сервис-посредник, потому что с прямой интеграцией с Почтой России регулярно случаются то капчи, то блокировки, то сломанные эндпоинты.
- Календарь донора — приложение, считающее сроки между сдачами цельной крови, плазмы и тромбоцитов, чтобы донор не запутался в правилах.
- Эксперименты с Uber-подобным сервисом курьеров, где сложность — именно в человеческой части: доверии, рейтингах и адекватном подборе исполнителя под задачу.
В обсуждении после доклада прозвучали и идеи-шутки: сделать «Где бандит» с картой криминогенных районов, добавить «кнопку вызова участкового», придумать единую форму электронного обращения по всей России, чтобы запрос автоматически уходил в нужное территориальное подразделение МВД. Все они упираются в одну и ту же стену — отсутствие полноценных открытых данных и стабильного API со стороны государственных сервисов.
Главный вывод, который Антон озвучивает по итогам работы над «Где участковый?», прост: на открытых данных о государственных сервисах можно собрать вполне живое приложение за выходные, выложить его в магазин и получить реальных пользователей. Ограничивают такие проекты не технологии, а качество и актуальность исходной базы — и желание держателей этой базы поддерживать её в рабочем состоянии.
Ссылки
Видео
«Где участковый?» — WP8 app