Как стать автором
Обновить

Комментарии 76

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

После прочтения остался вопрос: в чем же Ваше приложение удобнее и быстрее Я.Метро? Текст какой-то очень сумбурный и непонятно о чем именно должен повествовать, просто какие-то обрывки.
Ни разу не доводилось пользоваться картами метро, но как минимум один плюс могу назвать не глядя — это не яндекс.
НЛО прилетело и опубликовало эту надпись здесь
Здравствуйте! Такая функция у нас тоже есть.
Вы уже попробовали воспользоваться нашим приложением? Поделитесь впечатлениями?
Так нет же. Не Дефолт Сити.

PS: Визуально лучше, чем тоненькие линии у Яндекса. Но зачем при клике спрашивать, Отсюда или сюда? В идеале нужно предполагать, а если что — допускать уточнение по долгому нажатию.
Да и мы не из Мск :) Фичу обсудим, протестируем!

Мне очень нравилась pMetro, ещё задолго до засилья смартфонов (с самого начала нулевых) — если бы она не была завязана на Windows, её бы потянул любой смартфон, а концепция обновления/добавления схем до сих пор меня приводит в восторг, равно как и 3D-модели станций с краткой справочной информацией. Жаль, автор отказался от идеи портирования на мобильные платформы. Не последней деталью, радующей меня является её размер ("установщик программы cо всеми схемами (16.0 Мб)" — цитата с сайта).

Что плохого в том, что приложение от «Яндекса» (любой другой конторы), если оно хорошее?

Монополией. Тем, что если кому-то нужны схемы метро — будут пользоваться Яндекс.Метро за неимением альтернатив. А это значит огромная пользовательская база.
В пределах компании Яндекс это может привести к не очень ожидаемым последствиям.
Пример для ознакомления:
https://habr.com/ru/post/249747/

Как на iOS, так для Андроида, есть качественная альтернатива Яндекс Метро. На iOS приложение называется Метро Москвы. Так что о какой монополии идет речь — неясно.
Альтернативы с таким же успехом могут сливать такую же (или иную) информацию. Для меня, как для пользователя, приложение Яндекса удобное и искать альтернативы смысла нет (ну собирают что-то там, пофиг), тут в статье ни о каких преимуществах речи тоже не идет.
Схемы станций — преимущество очень важное.
Судя по скринам эти схемы — перегружены визуально и читаются очень плохо. Необходимости в схемах станций (а как следствие выделять их наличие как преимущество, тем более очень важное) не вижу. Как и окружение, которое успел опросить — из моей выборки 8 человек не поняло зачем это надо, когда на картах 2gis и так показаны номера выходов, а на самих станциях ориентироваться проще непосредственно по указателям на станциях.

Я не пытаюсь сказать, что приложение плохое или ненужное, я просто не понимаю, почему в статье не описано никаких преимуществ или технических моментов интересных.
Фича, скорее всего и правда не массовая, но я вот тот пользователь, которому нужны схемы станций. Предпочитаю не тупить под указателями, а еще в поезде понять, в какую сторону идти к выходу/переходу. Пятнадцать лет назад пользовался pMetro, потом «pMetro для Андроид», потом «Метро и МЦК...» теперь вот это.
Вы еще писали про покупки в приложении. Вот меня они сами по себе не смущают, а что смущает — это покупка темной темы по подписке.
Все так, скандалы с использованием данных в руках крупных агрегаторов (яндекс, гугл, фб) каждый месяц звучат в инфопространстве.
Из того, что отмечает команда:
— лучше работает на медленных устройствах
— красивее и удобнее сама карта, это карта Лебедева, привычная (идентична тому, что используется в вагонах)
— возможность иметь одно приложение для всех городов (реализовано частично)
— UI\UX лучше. Сложно описать в чем конкретно, но по оценке пользователей можно понять, за кого голосует большинство ;)
По UI вопросов нет — карта Лебедева рулит. А вот UX… было бы гораздо удобнее выбирать станцию простым касанием, а схему станции — открывать долгим. В идеале — чтобы такое поведение настраивалось, поскольку иначе новые пользователи даже не узнают про схемы станций.
"Метро Москвы"

Метро нескольких городов и стран

Логично.

Максимум функционала сделано для метро Москвы (схемы, вагоны), а кроме того есть более 10 других городов разных стран.
Кроме того, такое название выбрано в угоду ASO :) Следующим этапом мы расскажем о том, как название и «иконка» могут поднять кол-во органических инсталлов в разы.
1. Кто-нибудь знает, что за эпический мифический сюжет на КДПВ и какое он имеет отношение к теме?
2. Не знаю, как на Андроиде, а для iOS, кроме Яндекса, есть «Метро Москвы». О какой монополии речь-то?

Тут и написано про "Метро Москвы" же. :)

Нет. Тут написано про «Метро Москвы + схемы станций»

А вы про "ГУП Московский Метрополитен"?


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

К сожалению, таковы реалии ASO. Брендовые или доносящие суть названия не поднимаются высоко в выдаче магазинов
1. Давид и Голиаф. Отношение понятно: маленький да удаленький заваливает гиганта.
100к+ установок и платный контент против 10кк+ установок без платного контента. Точно заваливает? Разве что в воображении создателей)
Мы ещё только раскручиваем пращу :)

Не очень понятна Ваша мысль про платный и бесплатный контент.
Очень просто: на страничке в гуглплее у ЯМетро нет in-app'ов, у вас — есть. Зачем они нужны в карте метро — мне непонятно и выяснять через установку желания тоже нет.
Для того чтобы у пользователя была возможность поддержать разработчиков.
Пользователь (Я) видит в магазине наличие покупок в простом приложении со схемами метро и скорее всего думает, что схемы эти или количество построений маршрута — за деньги. Устанавливать не захочет.
Давид Неизвестный: я крут! Я вам легко завалю Галиафа, но есть небольшой вопрос за деньги…
жюри: следующий!

Это я к тому, что на начальных этапах, если это не вопрос выживания команды, лучше бы убрать эту фичу куда-нибудь в About приложения. Просто чтобы в сторе не показывалась плашка [in-app purchase], которая действительно создает впечатление, что сейчас меня будут разводить на бабло: вот тебе 2й лучший маршрут, а 1й только за деньги.

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

К сожалению, плашка показывается в любом случае, куда бы мы не запрятали эту фичу :) Но спасибо за фидбек!

Можно было бы на первое время в About оставить ссылку на донейт. А inn-app purchases убрать. Со временем (если оно действительно надо), добавить, оно запросит дополнительные разрешения при обновлении, там объяснить зачем и почему уже существующим пользователям. Кто-то уйдёт, разумеется, но для раскрутки это будет проще.

Да, опыт приложения «Метро и МЦК» показывает, что ненавязчивым донейтом вообще не пользуются. 0.001% юзеров.

Мы не считаем что in-app это плохо. Плохо это когда реклама неотключаемая и неконтролируемая. Если я как пользователь хочу чтобы приложение развивалось, то я понимаю, что разработчику нужны средства на это. У Яндекса написано «contains ads». Так что тут одно из двух :)

Сейчас у нас уже около 100К DAU, и оно постоянно растет.
Давид меньше, все как на картине :)
А вот про платный контент — все немного не так. У нас есть возможность поддержать разработчиков, это платная функция, но при этом бесплатная версия никак(!) и ничем не ограничена. И, конечно, у нас в приложении нет рекламы. А у Яндекса есть ;)
В приложении «Метро Москвы» (Мосметро) нет никакой рекламы. И там также использована официальная схема метро.
Это приложение под андроид имеет оценку 4.2 и не очень удобно, у Яндекса 4.5, у нас 4.7
А о плюсах (по нашему мнению) я рассказал чуть выше.
На iOS ситуация следующая:

«Метро Москвы» — 4.8 (48 000 оценок)
«Яндекс Метро» — 4.5 (16 000 оценок)
Ваше — 4.6 (91 оценка)

Я просто к тому, что в первом же предложении публикации заявляется о «монополии» Яндекс-метро, а это сразу же не соответствует действительности. Исходя из количества оценок, тут скорее монополия Мосметро, но вы это приложение почему-то стараетесь не замечать.
Я понял в чем дело. Изначально мы смотрели на Андроид, делали под Андроид, и статью писали про Андроид :) Конечно, под iOS у мосметро получилось сделать хорошее приложение.
Но у них нет схем станций!
У вас и установок как бы в 100 раз меньше, при такой разнице говорить о превосходстве в 0.2 балла оценки, которую и ставят-то далеко не все… ну самообман что ли.
Кроме того, мы пользуемся приложением сами и видимо плюсы и преимущества. Предлагаю установить и сравнить ;)
Вы же понимаете, насколько нелепо это звучит?
Эм, а что такого сложного изображено на этой карте, что появилась нужда в SurfaceView/TextureView? И зачем сразу рендерить карту в 5000х5600?
Судя по скринам — десяток линий, кружков и подписей можно чуть ли не в реалтайме рисовать/скейлить/перемещать на обычном канвасе.
И да — можно рисовать и за границей канваса. Просто layout, в котором лежит вьюха, делает clip по размерам вьюхи, что можно отключать через clipChildren=«false»
То, что видно на экране, не отражает сложности того, как на самом деле это построено. Каждая линия, кружок, градиент и прочие элементы реализованы наслоением, что позволяет нам отрисовывать маршрут на такой сложной карте. У Яндекс.Метро карта намного легче, на ней меньше элементов, она сама по себе меньше (примерно в 2.6 раз).

Карта Артемия Лебедева огромная. Чтобы она нормально выглядела при максимальном зуме на телефонах с большим экраном и хорошей плотностью пикселей, она должна быть примерно такого размера. Соответственно, на слабых телефонах карта показывается меньшего размера.
TextureView нам понадобился из-за того, что эта карта очень долго отрисовывается на слабых телефонах.

Без использования его нам пришлось бы делать надстройку над View и делать на ней отрисовку в отдельном потоке, чтобы не стопить UI-поток. В итоге получилась бы та же самая TextureView.
Есть такая ошибка в iOS версии. Обязательно исправим в следующем обновлении. Спасибо!

О, решили сделать следующий шаг от приложения со схемами станций? То-то я смотрю, схемы знакомые. :)


UPD: А, хотя похоже приложение со схемами просто выкуплено у автора.

Мы теперь вместе работаем :)
Offers in-app purchases

Что вы предложите мне покупать и по какой цене?

Предложим поддерживать разработчиков :) Донат фактически.
Приложение годное, но хотелось бы возможность перейти к схемам станций прямо из построения маршрута. Вот строю я маршрут от Жулебино до Выставочной, например. Мне хотелось бы по тапу на «3 минуты пешком» увидеть схему, как мне между этими станциями придется идти. Тогда вообще огонь будет.
Еще хочется видеть информацию о пандусах для чемоданов/самокатов на лестницах.
Уже работаем над более удобным просмотром схемы, спасибо за идею!
А как вы собирали информацию о времени езды между станциями? Интересно, как много это заняло времени для стольких городов?
Начальные сведения собирали по крупицам из открытых источников. А дальше колоссальный вклад внесли наши пользователи. В каждом маршруте внизу есть кнопка «сообщить об ошибке» — простой механизм обратной связи через почту. Люди пишут о неточностях, мы проверяем и вносим изменения.
В отзывах (эппстор) пишут, что не работает без интернета, это правда?
Нет, это неправда. Иначе приложение не имело бы никакого смысла. Весь основной функционал, включая просмотр схем станций, доступен без интернета!
Единственный способ победить этот баг — на телефонах с определенным видеочипом занижать размер карты, чтобы не было белого квадрата вместо карты. Но как мы узнаем модель видеочипа? Мы должны создать GLSurfaceView размером 1х1 пиксель при старте приложения, получить с нее информацию о видеочипе и только потом рисовать карту.

Ограничение размера одной текстуры в памяти GPU — это не баг, а стандартное ограничение GL(ES): www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glGet.xml (ищите GL_MAX_TEXTURE_SIZE).

А вот ответ Romain Guy на StackOverflow об ограничении конкретно в Android.
Заявлен минимум в 2048x2048. Ну, и можно получить ограничения с помощью Canvas.getMaximumBitmapWidth() и Canvas.getMaximumBitmapHeight()

Вообще статья наполнена какими-то голословными ничем не обоснованными (да и просто ошибочными) утверждениями об Android. Например, утверждение по поводу того, что SurfaceView
не может выдержать нагрузку больше отрисовки кубика 20х20
— ложь. TextureView не может быть эффективнее SurfaceView хотя бы согласно официальной документации.
Ограничение размера одной текстуры в памяти GPU — это не баг, а стандартное ограничение GL(ES): www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glGet.xml (ищите GL_MAX_TEXTURE_SIZE).


В таком случае почему нам удалось отрисовать канвас 5000х5000 на большинстве телефонов, а на телефонах с определенными видеочипами нет?

Вообще статья наполнена какими-то голословными ничем не обоснованными (да и просто ошибочными) утверждениями об Android. Например, утверждение по поводу того, что SurfaceView
не может выдержать нагрузку больше отрисовки кубика 20х20
— ложь. TextureView не может быть эффективнее SurfaceView хотя бы согласно официальной документации.


Документация — это круто, но она не соответствует реальности. При перерисовке SurfaceView моргает черным цветом. Об этом можно почитать здесь

А вот ответ Romain Guy на StackOverflow об ограничении конкретно в Android.
Заявлен минимум в 2048x2048. Ну, и можно получить ограничения с помощью Canvas.getMaximumBitmapWidth() и Canvas.getMaximumBitmapHeight()


Не работает на Huawei Honor 6x, присылает нули.
От «Горьковской» до «Владимирской» не показывает очевидный маршрут: до «Достоевской» через «Сенную» и переход. Яндекс показывает. И еще визуально черный цвет на станциях пересадок выглядит чужеродным, черный — он же для шрифта надписей. Про обязательный выбор «Отсюда», даже если ты рядом со станцией, я уже писал (выше), надоедает. И нет указания наилучшего вагона. Но в целом свежо.
Зачем в настройках «Язык», если переключение на русский ничего не меняет и все равно все написи на английском? Как выбрать другой город — перерыл все, но единожды выбрав Москву не могу переключиться на другой… Ну и «подписка», ПОДПИСКА на карты метро — это безумие какое-то. Сделайте платный про-аккаунт за 1-2 бакса, если кому-то так темная тема нужна — купят. Но подписка… ох.
А вот station layout поверх карт OSM — это шикарно! за это лайк. Еще бы масштаб там менять можно было — был бы большой ЛАЙК.
Чтобы сменить город нужно зайти в настройки и кликнуть по пункту меню «город». Настройка «Язык» позволяет изменить язык карты метро
Выглядит отлично, если не пойдете по пути корпораций добра в сторону хочу-все-знать-куда-когда-зачем-ты-ездишь, то вообще будет замечательно. К сожалению такой путь рано или поздно выбирает большинство команд-разработчиков =(

Из конструктивных предложений: очень понравилась возможность поделиться маршрутом отправив его в телеграм или куда-нибудь еще. Полезно, когда нужно снавигировать человека у которого нет приложения. Но реализация довольно неудобная — просто список станций очень сложно использовать даже человеку хорошо знающему все станции и пересадки.
У вас:
Менделеевская > Цветной Бульвар > Чеховская > Боровицкая > Арбатская > Смоленская > Киевская > Парк Победы > Славянский Бульвар (24 min)

Хотелось бы:
1. Менделеевская > Боровицкая
2. переход на Арбатско-покровскую ветку (синяя), ст. Арбатская
3. Арбатская > Славянский Бульвар
время в пути: 24 минуты
Пожелания примем, а я прокомментирую про «корпорации добра» — чем больше людей будут донатить и по копеечке покупать подписку, тем меньше вероятность что придется включать хотя-бы рекламу. Но, откровенно говоря, донатят мало. Стримерам донатят больше)

Хотел бы высказать своё видение некоторых аспектов работы с подобными программами:


  1. Желательно иметь настройку, позволяющую занести "любимые" станции (дом/учёба/работа/...) для быстрого выбора в "откуда" и "куда"
  2. Желательно уметь определять ближайшую станцию, и для простоты, сгруппировать её с "любимыми"
  3. Ввод станций по названию/фрагменту названия (ну, не знаю я, даже примерно, где искать станцию "Центросоюзный бульвар", а ехать надо)...
1. у нас можно добавить станцию в избранное
2. эта функция по-умолчанию включена. Вы можете проверить это в настройках
3. достаточно кликнуть в поле «откуда» или «куда»
Спасибо за статью, очень интересно! Ваше приложение оч быстро запускается, в отличии от МосМетро, и на мой взгляд чуточку быстрее яндекса, это несомненно плюс. Так же хотел бы вам предложить идею: если на станции куда мне надо ехать есть пересадочные станции, то мне бы хотелось не строить маршрут до каждой станции отдельно, а выбрать все вместе (вроде Курская/Курская/Чкаловская) и чтоб отобразился оптимальный маршрут до этого узла. Спасибо
Спасибо за отзыв! Идею обдумаем
Тестировал в Киеве.
— Приложение называется Метро Москвы, хотя там не только Москва — странно, путает.
— Нет времени работы станций — в Яндекс.Метро есть, Гугл-карты — учитывают это время при расчете маршрута.
— Не предлагает удобный вагон — Яндекс предлагает.
— Неверно показывает время движения между станциями — Яндекс.Метро тоже не верно, но ближе к реальности.
— Не учитывает расписание поездов — Яндекс тоже не учитывает. Это была бы классная фича, сейчас считает, что круглосуточно одно и то же расписание. Гугл-карты — учитывают.
— Не хватает схемы станций, пересадок и выходов — в Яндексе тоже нет.
Смысла для киевлян на данном этапе мало — т.к. всего 3 ветки, то схему и так более-менее все знают, а остальная информация отсутствует или ошибочна.
У нас и вправду есть некоторые трудности со сбором информации по Киеву. Было бы здорово, если бы кто-то нам с этим помог :)
есть некоторые трудности со сбором информации по Киеву.

3 линии, 52 станции
В разработке карты метро Парижа и Нью-Йорка

16 линий, 303 станции и 36 линий, 472 станции соответственно. Скажите, вы действительно считаете, что это реально? Сделать схему метро городов других государств, не проживая там, не понимая специфики транспорта? Это с Киевом проблемы, а с Нью-Йорком? Самое главное — кто он, потенциальный пользователь приложения нью-йоркского метро, выпущенного вашей студией?
Вся информация о времени работы и расписании есть на официальном сайте.
после того количества разрешений, которое требует ваше приложение, единственный ваш плюс — это не яндекс. но таким же плюсом обладают абсолютно все кроме одной программы (понятно какой).
а что такого криминального в разрешениях, которые требует это приложение?
зачем оффлайновой карте метро какие-либо разрешения?
Мы запрашиваем только разрешение на доступ к геопозиции для определения ближайшей станции. Но ведь вы можете его не давать.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий