5 заметок с тегом

maps.me

Хакатон MAPS.ME

В середине июня команда MAPS.ME почти в полном составе ездила на хакатон. Не чей-то чужой, вроде хакатонов по открытым данным или по дата-журналистике, а внутренний. Как два и три года назад, мы на несколько дней покинули офис и семьи, чтобы сконцентрироваться на экспериментах в развитии приложения. День подготовки, три дня работы и выступление в конце.

Самая большая команда разработчиков, включая программистов под iOS и Android, набросилась на задачу UGC: добавить отзывы в карточки объектов. Кажется тривиальной задачей: мы видели отзывы и в специализированных приложениях, типа Foursquare, и в популярных онлайн-картах. Но приложение MAPS.ME хорошо не только дизайном, но и работой в отсутствие интернета. Как вы сделаете отзывы, когда нет сети?

В конце хакатона группа UGC показала звёздочки и смайлики для оценки заведений, но картинки не отразили масштаба работы. Разумеется, должны быть отзывы, и их нужно не только собирать в офлайне, но и показывать, то есть, хранить в файлах карт. Это требует лучших алгоритмов сжатия. Для ресторанов полезно спросить, понравилась ли еда, и какая именно, а для автомойки — качественно ли протёрли кузов и вежливо ли обошлись. Команда вручную просмотрела около 250 категорий объектов, выбрав для каждой признаки, которые могут быть интересны пользователям.

Поскольку внутренние идентификаторы объектов меняются с каждой сборкой карт, мы привяжем отзывы к идентификаторам OpenStreetMap. То есть, по сути, мы проектируем систему отзывов на объекты OSM — как давно мечтали некоторые наши участники. Прошлые попытки не вышли из статуса демонстраций для своих, а тут сразу будет аудитория из десятков миллионов пользователей. Наконец-то они будут писать «неплохая пицца» не в название ресторана, а в отзывы. Может быть, удастся договориться с руководством MAPS.ME об общей базе с другими приложениями на OSM.

Соседний домик в гольф-отеле, больше похожем на коттеджный посёлок, заняла команда метро. К сожалению, лопат не выдали и команда не создала ни метра новых линий. Но нарисовать в приложении MAPS.ME то, что уже выкопано, — почему бы и нет. Нас часто спрашивали, когда появится навигация с использованием общественного транспорта. Начать решили с простого, как казалось: схемы линий метрополитена.

OpenStreetMap — глобальный проект с единой системой тегирования. Если получилось нарисовать московское метро — получится и нью-йоркское. Так мы думали. Хорошая попытка, но нет: русские рисуют линии не так, как немцы, англичане — не так, как корейцы. Как вы знаете, схема метро состоит из трёх элементов:

  • Станции — на самом деле, это комплекс из платформы, точек, где останавливаются поезда, и станции как сущности. Нередко это четыре разных объекта, а то и больше. Схема общественного транспорта 2.0, при этом, забывает про точки railway=station в случае метро: это же не платформа и не остановка, дублировать нельзя. Это вообще не физические объекты! Мапперы иногда тоже о них забывают. А с отношением stop_area вообще получается тушите свет.
  • Линии — опять две сущности в одной. Это и пути, по которым движется поезд. Картографы очень любят их рисовать, потому что получается красиво, и считают их главной частью отношения маршрута. Увы, пользы от них ноль: важна линия как последовательность остановок, от первой до последней. И тут бардак. Причём, в России ещё нормально, пришлось править только московский МЦК, а в Лондоне многие линии почти не имеют станций.
  • Пересадки — их в OSM нет. Не в смысле, не нарисовали, а вообще: для пересадок нет схемы тегирования, никто даже не пытается их картировать. Иногда встречаются попытки смоделировать пересадки отношением stop_area, но лучше бы не пытались. Приходится определять пересадки по близости и затем удалять лишние рёбра.

В общем, за три дня и не такие данные удавалось выпрямить: мы не только автоматически обработали, пусть и с ручной доводкой, системы метро Минска, Москвы, Петербурга, Вены, Барселоны и Сеула, но и сделали полноценный интерфейс! Команда удивлённо наблюдала знакомые схемы в городской геометрии на затенённом фоне карт, а докладчик выбирал станции и прокладывал маршруты с пересадками. Видео его демонстрации опубликовано на ютубе, выглядит примерно так:

Вы нескоро увидите эти технические наработки: за два дня не пишут тесты и проверяют код менее тщательно. Это были эксперименты, но они станут основой для будущих улучшений MAPS.ME. Мы сделаем и навигацию по общественному транспорту, и отзывы, но точно не в том виде, как за эти три дня. Это только часть наших больших планов: приложение через полгода будет несравнимо с нынешним.

В перерывах между работой мы купались, жарили шашлык и бургеры, катались на велосипедах (не всем удалось миновать охрану и поехать изучать окрестности реки Яхромы) и сегвеях. Когда садилось солнце, кто-то увлечённо пел караоке, кто-то, уединившись, смотрел фильмы ужасов. Удивлялись безальтернативному меню ресторана и в панике тушили угли, пока ураган не швырнул их в деревянный дом. По пути домой с трудом не выезжали на автобусные полосы: несмотря на дни работы среди коллег, сложно было поверить, что за окном не воскресенье, а середина рабочей недели.

 7 комментариев   2017   maps.me

Букинг в кармане

Вчера вышла новая версия MAPS.ME, в ней, помимо коекакового велороутинга появились точки из базы booking.com. Кликнешь на гостиницу — и с большой вероятностью узнаешь не только название и количество звёзд, но уровень цены и рейтинг по букингу. И, конечно, ссылку на бронирование, с секретным номером, по которому нам переведут часть комиссии. Так что для бронирования гостиниц и хостелов пользуйтесь теперь только MAPS.ME! Мадина в фейсбуке правильно заметила, что приложение теперь стало не только «картой в кармане», но полноценным офлайновым каталогом рейтингов booking.com в кармане: приехав в другой город, можно не искать интернет, а прямо выбрать ближайшую приличную гостиницу.

Ещё это означает, что внутри файлов mwm теперь собраны данные из OSM и из проприетарного источника. Это значит, что если вы их вытащите, распространять их нельзя. Также это потребовало аккуратного подхода, ведь лицензия OpenStreetMap запрещает смешивание. Мы не могли использовать ни координаты, ни локализованные названия закартированных гостиниц. По сути, мы просто выкинули 84 тысячи точек и шлёпнули поверх 856 тысяч проприетарных точек. Чтобы не выкладывать гигабайты изменённых данных OSM, мы ограничились публикацией файла skipped_nodes.lst в каталоге карт: вырезав точки с этими идентификаторами из данных OSM, получите ровно то же, что видно в приложении.

Вы правильно озадачены, почему так мало вырезали и почему в приложении так много задублированных гостиниц? Мы не успели сделать сопоставление с площадными объектами, поэтому если теги висят на здании, оно останется. Можно ли обойтись без данных booking.com? Конечно: качайте ежедневные карты, там всё для осмеров. Разумеется, их можно совместить: например, для своего города пользоваться ежедневными сборками, а для путешествий качать официальные карты. Главное, качать не зря: ищите гостиницы по новой большой базе и бронируйте, как выберете!

 5 комментариев   2016   maps.me

MAPS.ME наградили

«Дырявому Активному Гражданину дали Премию Рунета. Это всё, что вам нужно знать о Премии Рунета» — @plushev.

фотография из фейсбука «премии рунета»

Не прошло и года с переезда MAPS.ME в Россию, как мы получили премию — говорят, самую престижную в рунете. Пятикилограммовую статуэтку вручили в новой категории про мобильные приложения за открытие исходников и развитие общественной картографии. Конечно, Юра Мельничек поблагодарил и сообщество OpenStreetMap, работа которого делает приложение лучшим.

С одной стороны — мы и википедия (поздравляем их, снова), с другой — половина лауреатов и в наших, и в других номинациях очень странные, вроде развенчанного «активного гражданина», налоговой службы, каких-то нефтяных компаний... Где РБК и «Медуза» в номинации «СМИ»? Церемония обставлена богато, с секьюрити, випами и лентами, на большом экране профессионально сделанные ролики — хотя нет, такие косяки с кернингом и задержками уважающая себя студия не позволит. Среди ведущих ни одного известного в «нормальной» IT-тусовке человека, кроме Алёны. Короче, видеозапись стоит смотреть сразу с 2:04, где наш звёздный час.

И да, нам нужна своя премия, с лупами и картографами.

 6 комментариев   2015   maps.me

Открытие года

С этого дня исходный код MAPS.ME опубликован под разрешительной лицензией Apache. Очень здорово иметь возможность сослаться на код публично. Пользуйтесь.

Это здорово для программистов, которые хотят сделать форк картографического приложения, и для читателей кода, но лучше всего — конечно, для OpenStreetMap. Популярнейшее приложение для OSM теперь любой [разработчик] может настроить по вкусу: убрать или добавить какие-то виды объектов, заменить картостиль, убрать лишние функции. Приложение мультиплатформенное: после модификаций его можно установить почти каждому. И разработчики теперь не прячутся за почтой bugs@maps.me: любой может заглянуть в список пул-реквестов и узнать, чем порадует ближайший релиз.

Плюс, конечно, десятки статей в технологических блогах, которые сегодня появятся, уделят внимание OpenStreetMap и команде гуманитарного картирования не меньше внимания, чем MAPS.ME: мы надеемся, что главной пользой от открытия в ближайшей перспективе станет упрощение и ускорение работы команды в местах стихийных бедствий. Со временем мы постараемся интегрировать приложение в их процессы, убрав зависимость от бумаги и андроидов.

 9 комментариев   2015   maps.me

Московское время

Долгое время я уравновешивал кучу московских мапперов непомерной активностью петербуржских. Собирал их не реже раза в месяц. Считал, во сколько обойдётся проезд до очередной конференции. На вопрос о работе отвечал, что картами занимаюсь только в свободное время. Теперь, спустя почти пять лет участия в OpenStreetMap, всё поменялось: с этого понедельника я работаю в maps.me, ныне входящем в Mail.Ru Group, и живу в Москве.

Это означает, что приложение maps.me заинтересует не только миллионы нуждающихся в офлайн-картах, но и тысячи осмеров. Что направлениям Mail.Ru Group, которым понадобится карта для игры или социалки, теперь достаточно одного внутреннего звонка. Что обсуждения открытых геоданных и инициатив, касающихся открытых карт, не пройдут мимо сообщества. Что на мысль от ГИС-Лаба «а не организовать ли» последуют положительный ответ и помощь. Что удастся протолкнуть OpenStreetMap на новых площадках, напомнить москвичам, что карты — это не только Яндекс.

И самое главное, московское сообщество OSM перестанет быть диванным. Я не просто перенесу сюда всю петербуржскую движуху, коей завидовали осмеры со всей России, но смогу задействовать в ней все ресурсы Mail.Ru. Как программист и специалист по OpenStreetMap, я буду работать над удвоением крутости maps.me, но как осмер с возможностью уделять проекту часть рабочего времени, я планирую сделать OpenStreetMap самым громким и одним из самых эффективных краудсорсинговых проектов в России. Начнём, как обычно, с картовстреч — готовьтесь к апрелю, москвичи.

Команда maps.me растёт, мы будем рады программистам на C++ и другим специалистам. Пишите, будем строить большие планы и писать маленькие фичи вместе. В этом блоге, радиопередачах и на других сайтах я продолжаю говорить как осмер, а не как сотрудник maps.me: ничего из сказанного не является официальной позицией компании, если не заявлено обратное.

Мнения, высказанные на этом сайте, отражают точку зрения лично автора сайта и ничью больше: ни его бывших или настоящих работодателей, ни семьи и знакомых.