Позднее Ctrl + ↑

Активируемся!

В последние месяцы сообщений об активации HOT прошло так много, что создаётся впечатление, будто они наняли двух домикоманьяков, и теперь пытаются не оставлять их без работы. Из последних объявлений — Конго, Сирия и Мали. Каждую из этих стран можно обклацать по бингу во славу гуманитарных служб ООН. В Мали требуемая территория оказалась слишком большой, поэтому PovAddict предложил новый подход: игровой, как мы любим. На его сайте участникам выдаются квадраты из Bing, на них требуется отметить дома и плотины. Помеченные области добавляются в задачу по обрисовке. Пропущенные выдаются нескольким участникам, чтобы наверняка. В итоге все населённые территории появятся в OpenStreetMap.

Правда, за время тестирования я просмотрел, наверное, сотню квадратов, и не увидел ни единого дома. Наверное, всё нашли в первые три дня, после которых «игра» на неделю отключилась. А если судить по схемам в Tasking Manager, у них нет никаких домикоманьяков, и в рисовании карты, как всегда, требуется помощь.

Снимкопад

Вчера бинг снова выложил порцию спутниковых снимков, и судя по репликам на форуме, это самое эпичное обновление с прошлого февраля: Великие Луки (!), Сергиев Посад, Адлер, Чебоксары, Сызрань, Пенза и деревня Большие Коты: ни одна область не обижена раздачей. Как ни смешно, ряд городов, которые Совет готовился почистить из-за отрисовки по гуглоснимкам, получил покрытие бинга и «спасён». Крупная карта обновления — под картинкой:

https://shtosm.ru/pictures/bing-coverage-1302-small.png

Если новые снимки с облаками закрывают более хорошие старые, не жалуйтесь на форуме, а найдите на Bing Maps проблемное место, нажмите слева внизу «Обратная связь», выберите в окне «Problem with map imagery» и опишите проблему на английском языке. Говорят, помогает.

А внутре у него...

Разработка iD перевалила за экватор, и подходит время документации. John Firebaugh описал в трёх статьях устройство редактора, чтобы будущие разработчики не сломали мозг, продираясь через парадигмы d3.



Первая — про хранение данных: все элементы OSM хранятся в неизменяемых объектах, которые объединены в граф, тоже статичный. Действия, вроде удаления узла, создают новый объект и новый граф, в котором часть объектов заменена новыми версиями (или удалена), а незатронутые сделаны ссылками, чтобы не выесть всю память. Такая структура называется «Persistent data structure», и восстановление её прошлых состояний тривиально.



Во второй части Джон рассказал про режимы рисования, которые влияют на поведение некоторых элементов управления (хотя с точки зрения пользователя режимов всего два: создание и изменение). Также он описал контекстные операции над объектами, и почему их список на экране должен быть неизменен, хотя не все операции могут быть применимы.



Завершается трилогия описанием системы рендеринга карты, полностью основанной на библиотеке d3. Из него я узнал, что нынче модно эмулировать классы в javascript через функции, возвращающие функции (потому что функции — это объекты). Для рендеринга данные OSM отображаются на геометрию более высокого уровня: точки, вершины, ломаные и контуры, которые затем скармливаются d3. Элементы интерфейса редактора тоже следуют конвенциям библиотеки.

В последнем абзаце автор дал ссылку на пересказ статей в гитхабе и пообещал, что он ещё не раз поменяется.

KeypadMapper 3



Немецкая компания ENAiKOON GmbH взялась за самый эффективный инструмент сбора адресов в OSM и довела его до ума. Теперь не нужно компилировать отдельные версии для разных языков и версий Android, а саму программу можно установить из Google Play. Помня о важности качества сигнала GPS в городской застройке, авторы добавили экран для его контроля. Наконец, в программе появились инструкция и множество настроек. Исходники, разумеется, открыты.

При этом программа на фоне, без возможности отключения, собирает данные для OpenCellID, крупнейшей свободной базы вышек GSM. Похожая, но закрытая, база используется для геолокации в вашем телефоне, когда отключен GPS и недоступны точки Wi-Fi. На сегодня, по оценке ENAiKOON, в базе около 10-15 процентов базовых станций, и они надеются поднять это число, встраивая сбор данных во все свои мобильные приложения. Как и с исходниками KM3, авторы в отсутствие понимания лицензий опустили условия использования, но уверяют, что базу (которая доступна в CSV) можно свободно использовать для коммерческих приложений.

Хуже, чем ничего

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

В начале 2011 года новостное поле OpenStreetMap состояло из официального блога OSMF, списка основных событий проекта (дважды в месяц) и его перевода на русский в блоге OSM Digest. 90% интересностей проваливалось сквозь это решето, и каждый день на форуме и в чатике поднимались «баяны». Это было несерьёзно. Сейчас русский перевод умер, зато автор англоязычного дайджеста делает более подробный еженедельный список на немецком языке. Его твитер, когда-то выплёвывавший по десятку ссылок за день, нынче обновляется реже штосма. Всё, больше актуальные новости в проекте брать неоткуда. Русскоязычные участники проекта не замечают этой информационной пустоты.



Штосм в хорошие месяцы обновляется ежедневно, и его заметки делятся на три типа:
  1. «Срочно в номер» (пример — вчерашняя новость про Cloudmade): кто-то написал интересную заметку в блоге, вышла новая версия программы, или в OSM что-то изменилось. Неинтересная рутина: часто новость редуцируется до ссылки и её описания. Поэтому с апреля прошлого года эти новости переехали в твитер. Почему-то программисты особенно ценят заметки такого типа.
  2. «История» (пример — «Закат Маперитива»): ссылки не уходят в сиюминутные новости, а копятся на протяжении нескольких дней, иногда — месяцев. В определённый момент они складываются в историю. Любую такую заметку можно раскрыть до уровня статьи на хабрахабр.
  3. «Мнение» (пример — всё по тегу «внезапно»): когда общий новостной фон провоцирует на аналитику или пространное высказывание по какой-то теме. Именно ради таких статей покупают журналы, они — признак жизни проекта (из чего следует, что наши «конкуренты» — смех один).
Источников чуть меньше, чем до фига. Прежде всего, новостные ленты OSM: блог Фонда, opengeodata, немецкий блог с твитером, страница новостей в вики. Собственно, в вики я отслеживаю около двухсот страниц, плюс каждую правку вики OSMF. В гугль-ридер занесены общая лента блогов OSM и два десятка прочих лент, включая клуб НЯК и смешные фрагменты гуглокарт. Кроме того, в твитере слежу за всеми основными участниками проекта, и несколько раз в день проверяю каналы #osm и #osm-dev в IRC. Разумеется, обязательно читать почтовые рассылки (я ограничился семью основными) и русскоязычный форум (нужно бы и остальные разделы, но лениво). Этого недостаточно: несколько новостей в месяц проходят мимо, и приходится напяливать тег #слоупокньюз.

Заметка начинается со ссылки, иногда — с реплики в чате или в почтовой рассылке. Полчаса на поиск контекста и сортировку. Сиюминутные новости отправляются в твитер, зародыши историй — в черновики. Сейчас черновиков 18, из них половина рано или поздно превратится в истории. Не все они ждут ссылок, некоторые просто нет настроения завершать (например, про тегирование лыжней, или про cutetown, где накопились уже шесть статей и видеоролик). Новость можно подготовить за час, описав содержание ссылки и контекст. Истории требуют многих часов: внимательно перечитать статьи по каждой ссылке; связать их и решить, какие детали опустить; узнать, что изменилось за время подготовки; сделать иллюстрации. Иногда заметка требует работы, обычно — перевода предмета на русский. Так, глупо писать про возможность локализации редактора iD, не дав его скриншот с русскими надписями (поэтому я сначала закоммитил перевод). Или постить инфографику про OSM, не переведя десяток простых фраз (странно, что немцы так не поступили).



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

Именно благодаря заметкам на отвлечённые темы (которых значительно больше в англоязычном сообществе) проект растёт. Опытные участники перечисляют не чем наш проект превосходит другие, а его коренные недостатки. Только так можно сделать OSM лучше, задавая вопросы и ища ответы. Недавние заметки, которые многие сочли критическими, были очередной попыткой поднять уровень дискуссии над обычным «зато у нас есть экспорт в навигаторы», заставить участников осознать, на что они тратят своё время. Поэтому я не закончил пафосной моралью: она не помогает. Может быть, те вопросы разбудили бы человека, готового вести свой блог. Увы.

Это двадцать восьмая заметка за февраль, и 906-я за два года. Теперь я редко углубляюсь в рисование карты, и урывками работаю над проектами улучшения OSM. Неудивительно: на самом деле, интереснее ведения этого блога для меня ничего нет. Держать в голове всю историю OpenStreetMap и периодически вытягивать из неё нити для заметок; понимать точки зрения десятков людей на наш проект и его место в сети, в краудсорсинге, в ГИС; составлять собственное мнение и наблюдать его трансформацию с годами — неужели написание очередного скрипта может состязаться с этим?

Надеюсь, вам стало понятнее, почему я косо смотрю на предложения дополнительно вести колонку на хабре или d3, или оживить чей-то чужой блог, или писать заодно в специальную тему на форуме. И на штосм-то уходит слишком много времени. Привет программистам, недовольным редкой критикой своих проектов, требующим больше новостей и меньше рефлексии. В чём удовольствие единственной точки зрения на своё творение и рутинных ретвитов? Наконец, у нас открытый проект, и вы знаете наш главный принцип: «Хочешь? Сделай!»
Ранее Ctrl + ↓

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