Позднее Ctrl + ↑

Стиль бледный

Дизайнеры Mapbox обновили стиль для навигации. Вместо привычных мягко-оранжевых линий водитель будет смотреть на бледное серо-жёлтое месиво. Первой реакцией на заметку было: «нам нужно было разделить дороги по классам и адаптировать к быстрым взглядам на мелкий экран, поэтому мы три контрастных цвета превратили в два размытых и увеличили шилды, оттянув внимание». Действительно, сравнивая «было» и «стало» недоумеваешь, зачем портить хороший картостиль.

Но не всё так просто, разумеется. Бледный стиль получается, когда дизайнеры перестают выбирать цвета и отображаемые элементы по наитию и подходят к стилю системно, определив задачи. Меньше цветов — легче выделить важные элементы, вроде парковок или заведений. Среди дорог достаточно различать главные и неглавные, а маршрут всё равно покажет линия. Тёмная заливка явно мешала замечать подписи.

Те же претензии, что появились у меня к новому стилю Mapbox, высказывали относительно стиля MAPS.ME, великолепно переделанного командой «Урбики». И действительно, в сравнении с феерверком цветов новые дороги выглядели бледновато. Но выкатить стиль — это половина работы, и «Урбика» потом ещё полгода дорабатывала цвета и линии по комментариям: чуть больше контрастности, чуть иные размеры.

У нового стиля навигации Mapbox много заметных проблем. Например, по исследованиям, текст легче читается не на белом, а на чуть менее контрастном фоне. А ночной стиль стал слишком ярким: на картинке в блоге выглядит красиво, но в машине ночью я бы предпочёл едва различимые дороги, как слева. Но раз навигационный стиль стал из обрубка презентационного стал самостоятельным, дизайнеры, я уверен, сгладят все проблемы по отзывам пользователей своего API.

Обледнение стиля свойственно всем веб-картам, от Google и Here до «Космоснимков» и OpenStreetMap. Кричащие цвета не помогают в использовании карты совместно с другими геоданными: маркерами, линиями, тепловыми картами. Переход от ярких дорог и выделяющихся точек заведений к белым линиям и унифицированным иконкам сродни смене высказывания «Смотрите! У нас дороги! И POI!» на «вот вам однородная карта, готовая к любым применениям». Другими словами, чем менее кричаще, более бледно выглядит карта, тем она взрослее и серьёзнее.

На этой иллюстрации вы видите самый взрослый стиль на основе OpenStreetMap в мире (если не считать MapSurfer Gray). Он красивый и не помешает ничему, что вы наложите поверх. Разумеется, это странный способ оценивать стили: цветовая гамма и количество элементов не являются мерилом качества.

Дизайн картостиля — это непрерывная работа по отделению важного от второстепенного. Медитирование над палитрой. Чтобы красиво, но неброско. Информативно, но не перегруженно. Привычно, но не копия. И поверх всего — задача для стиля, без которой не стоит даже начинать (но все начинают). Рано или поздно задача меняется или просто утверждается, и карта меняет вид. Это нормально и всегда к лучшему. Без задачи невозможно осмысленное улучшение, а с задачей... Ну да, получается бледно.

Этому дала, этому не дала

Стив Беннет в марте сделал замечательный интерактивный сайт, где можно окинуть взглядом предложения сервисов геокодирования и оценить потенциальные затраты на каждый. Посмотреть на нюансы бесплатных API и узнать, что миллион запросов в месяц (нормально для курьеров) обойдётся в миллион рублей, да и то — не каждый готов предоставить.

Карточки геокодеров занимательно аннотированы: например, по качеству («LocationIQ: ★☆☆ OpenStreetMap», «Google: ★★★ Top-notch») или по использованию с чужими подложками (почти все проприетарные сервисы запрещают). Встречаются комментарии типа «находятся в Белизе», «запрещают показывать пользователю координаты», «обязательно кэшируйте».

Меня заинтересовало яркое предупреждение «нельзя отображать на OSM или других открытых картах» у TomTom и я пошёл читать их условия использования. И боже мой, как там всё хорошо!

Условия начинаются с перечисления компаний, которым запрещено использовать Maps API (раздел 4). Среди них — Amazon, Google, GetTaxi (ныне Gett) и Lyft. Убера нет. Пункт 9.12 запрещает сравнивать карты TomTom с конкурентами, что нарушает BBBike.

А что с OpenStreetMap? Пункт 9.4 запрещает выводить результаты геокодирования на любой сторонней карте, а результаты обратного геокодирования (координаты → адрес) — можно, но только не на «Open Street Maps» или любой другой открытой карте.

Но почему? Может, TomTom затаили злобу на открытое сообщество после неудачной попытки FUD в 2012 году? Или считают наш стиль недостаточно прекрасным для их данных? Всё проще — и сложнее для нас. Причина в вирусности нашей лицензии, что они и поясняют в пункте 16.2.3: «не совмещайте данные из Maps API с открытыми программами или данными, если это может привести к требованию публикации данных под открытой и/или вирусной лицензией». Условия ODbL настолько туманны, что проще запретить даже приближаться к открытым картам.

Заверните всё, пожалуйста

Overpass API версии 0.7.54 вышел больше года назад и в нём было так много нового, что Роланд завёл блог проекта, чтобы похвастаться полезными применениями. Язык запросов был и так сложен, но там появились выражения: если, например, добавить (if:count_tags() == 0), то получите объекты без тегов. А чтобы выбрать дороги с повышенной скоростью, пригодится (if:number(t[maxspeed])>110). Наконец, появился важный селектор отбора по идентификатору (id:123,456,...).

Со дня на день выйдет следующая версия API. Роланд уже неделю обновляет описание языка запросов в вики. Там, разумеется, много непонятной дичи вроде операторов цикла и условия, а также «цикла до тех пор, пока результат не стабилизируется». Добавили новые операторы для (if:...): is_closed() и length() для линий, count_by_role(...) для отношений.

Есть и штука, которая будет немедленно полезна каждому, кто когда-либо делал запросы: фильтр nwr, который объединяет в себе node, way и rel. Больше не нужно перечислять все три типа в запросах по тегу: достаточно nwr[shop=pet] — и получите все зоомагазины, каков бы ни был их тип. И самое главное — фильтр уже работает на основном сервере!

В списке запросов для тестирования новой версии можно найти пример, который ещё лучше сократит ваши запросы:

nwr[amenity=recycling](if: t["recycling:glass"] || t["recycling:paper"] || t["recycling:clothes"]);
2018   overpass

OpenStreetMap не ваш

На волне новостей от Google Том Чедвин напомнил о преимуществах открытого софта и закончил заметку словами: «теперь у вас есть железный аргумент для тех, кто спрашивает, почему бы просто не взять Google Maps».

А у меня титановый аргумент в пользу условных Google Maps: потому что у вашей открытой карты нет будущего, вот почему. На ней даже POI нет нормальных, не то, что у гугля, которому все эти точки несут владельцы добровольно. Потому что там не сотня хмурых амбалов, отворачивающих всех, кто несёт данные, а коврик постелен с «добро пожаловать».

Разумеется, это преувеличение. У нас замечательная, красивая карта, которой во многих областях нет не то, что равных, — нет альтернатив. Ниоткуда вы больше не возьмёте в меру корректный граф дорог. Ни по одной другой карте не прикинете плотность населения. Никто не даст вам данные, чтобы установить копию сервиса в закрытой сети.

Но нельзя не заметить, что OpenStreetMap загибается. Не потому, что у нас база данных вместо карты, или модераторов нет, или данные не разделены на слои, как придирался Серж. Для технически подкованного человека поверить в упадок OSM невозможно: это же децентрализованные данные, они по определению вечны. Кроме того, они бесплатны и наполняются миллионом редакторов по всему миру: почему их не использует каждый первый сайт?

А дело в том, что невозможно нас использовать. OSM проигрывает любой альтернативе по одной причине: нет контроля. Ни у кого. Ни над чем. OpenStreetMap примерно с 2012 года на автопилоте летит в бездну, и редкие попытки выправить курс наталкиваются на хмурых амбалов, защищающих ручки управления со словами «не позволим захватить власть» и «у нас саморегулирующийся проект». Сила проекта оказалась его слабостью — и, кажется, фатальной.

Над картой нет контроля. Хотите импортировать сеть своих магазинов? Фигушки, ваше качество данных не отвечает нашим критериям. Хотите порисовать свой посёлок? Познакомьтесь с местным вахтёром, который сначала поругает вас за выбор классов дорог, а затем пропадёт, потому что вы невыносимы. А вахтёрам, кстати, тоже несладко: четырнадцатый год проекту, а лучшее, что мы смогли сделать для контроля качества, — OSMCha. Пользователи которого до сих пор стонут от диаметров больших, но худых пакетов правок. Автора OWL мы успешно потеряли. Члены DWG до сих пор для работы пользуются скриптами на Perl из прошлого десятилетия.

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

Над моделью данных нет контроля. В последний раз для изменения API потребовались деньги и усилия целой компании Cloudmade, десятка осмеров, работавших за венчурные инвестиции несколько недель. Надежда на тип area или другие изменения тлела лет пять назад, но теперь об изменениях перестали думать даже самые оптимистичные осмеры. Единственное, что нас ждёт в API, — это огораживание личных данных для GDPR, да и то потому что штраф платить никто не хочет.

Над тегированием нет контроля. Главное отличие и достоинство OpenStreetMap — свободная атрибутивная модель — настолько разрослась, что никому, даже ветеранам проекта, не под силу выбрать правильные теги. Форумы полнятся шутками про вереск, лес и пространства имён. Пропозалы — смех: с одной стороны изобретают инопланетные схемы на полсотни килобайт, с другой изворачиваются в попытках потопить каждое предложение. Новички не офигевают только потому, что все редакторы, даже мобильные, заменили таблицы тегов заготовками.

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

Но сейчас заметно, что никто не знает, куда двигаться дальше. Собственно, Пол Норман с этой темой уже два года выступает на конференциях. На конвульсии разработчиков особенно тяжело смотреть в этом году: они безуспешно пытаются изменить устоявшиеся схемы тегирования, потому что модель данных OSM несовместима с приличной картографией. Мы упёрлись в потолок стека, написанного пять лет назад. Единственным разумным выходом будет выкинуть всё и начать заново — что авторы и обсуждают.

Над разработчиками нет контроля. «Наш главный ресурс — это люди, которые тянут проект в светлое будущее». Ага, а присмотришься к разработчикам — там кто в лес, кто по дрова. Одни пилят двадцатый геокодер или десятый роутер, другие на две недели погружаются в жонглирование данными, чтобы на выходе получить невпечатляющий набор точек. «Мне удалось поднять тайл-сервер» — слышно из угла. Мои поздравления, блин. 2018 год, а у нас ни окружения для разработчиков или интеграторов, ни финансовой поддержки, ни стратегического плана. Только по одному волонтёру на ключевых элементах инфраструктуры сидят.

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

Наша лицензия запрещает всё это, от чего третьи стороны не особо страдают — у них уже есть достаточно данных. Страдаем мы, потому что не можем адекватно ни с кем договориться. Участники сообщества зорко следят, чтобы никто не проскочил. Даже с тривиальными случаями использования у нас проблема. Я только за этот год видел полдюжины вопросов насчёт использования карты в телепередачах, и каждый раз на одинаковые вопросы им выдавали разные ответы. Никто, даже юридическая рабочая группа, не понимает ODbL. Но это статус кво, в OpenStreetMap он тут власть.

Как вы знаете, в этом мире чтобы оставаться на месте, нужно быстро бежать. Я читаю новости 2ГИС, Яндекс.Карт, Google Maps и вижу, что они пробуют новые алгоритмы, новые точки зрения. Меняют интерфейсы, постоянно дополняют модели данных, учатся по-новому взаимодействовать с сообществом. Реагируют на проблемы структурными изменениями. В их возможностях всё поменять — или наоборот, причесать данные, сгладить углы, сделать удобно. Они могут купить и продать, чтобы сделать свою карту лучше.

Всё, что на сегодня способно сообщество OpenStreetMap, — сообща за выходные нарисовать домики ещё в одном городе. Поэтому главными применениями проекту остаются гуманитарные инициативы, да использование в качестве подложки, когда не хватило денег на нормальную карту. Вспомните, что у нас такого происходило за последний год, достойного заметок в главных технологических журналах? Новую версию JOSM выпустили с обрезанием пробелов в тегах?

Да, полагаться на проприетарную карту — значит, отдавать часть контроля корпорации. Но вы уверены, что хотите иметь контроль над каждой частью картографического стека? Вам точно хватит денег? Коммерческая компания может изменить условия и поставить вас в неловкое положение, но от OSM её отличает договороспособность. Там работают живые люди и у них есть все рычаги: можно позвонить и сторговать лимиты, или попросить помочь с картографическими данными. Для них вы — клиент; для OSM вы, если чего-то хотите от карты для бизнеса, хуже чем никто.

Поэтому OpenStreetMap не растёт. Если приглядеться, на графиках намечаются негативные тренды. Как викимапия около 2011 года, наш проект выбрал большую часть своих смыслов. С нынешним направлением у нас ещё лет десять, после которых мы будем выглядеть как викимапия сейчас: с кучей данных и без сообщества, разбежавшегося по альтернативным проектам. И тогда уже люди, выбравшие OSM как замену Google Maps, задумаются.

Именно сейчас, в ближайшие два года, нужно найти для проекта новые векторы развития. Риторика «а зато у нас бесплатно», неизменная на протяжении десяти лет, превратилась из прогрессивной в жалкую. Главный вопрос — зачем вам OpenStreetMap, когда есть много альтернативных картографических сервисов, каждый из которых в чём-то его превосходит (и не надо тут про качество отрисовки вашего двора)? Может, мы собираемся перевернуть обучение географии, или стать новой универсальной базовой картой, или заделаться фреймворком для экспериментов в новой картографии. Любой ответ хорош, если вы готовы подкрепить его делом.

А пока что для многих организаций проще взять Google Maps.

Снова иди, снова мапь

Единственный полнофункциональный редактор OpenStreetMap для iOS, аналог Vespucci, но приятнее на вид, обновился — спустя два с половиной года после прошлого релиза. Версию 1.5 (уже 1.5.2 после правки ошибок) приложения Go Map!! качайте в сторе. Из нового:

  • поддержка последних моделей iPhone;
  • заготовки тегов на вашем языке (но не остальной интерфейс);
  • можно увидеть и поправить теги на запретах поворота;
  • копирование и поворот объектов;
  • запись трека в фоне;
  • компас;
  • уведомления о неотправленных правках;
  • выбор сервера OpenStreetMap.

Многие успели записать редактор в заброшенные и даже отчаялись писать в багтрекер. В отсутствие альтернатив приложением пользовались — и иногда, не подозревая, загружали сотни пустых пакетов правок.

28 марта после долгого молчания разработчик Брайс Когсвелл появился в багтрекере и позакрывал кучу замечаний: «сделано». Пока он не пропал снова, попробуйте отредактировать карту на своём айфоне и напишите ему, если что не так.

Ранее Ctrl + ↓