Есть такой вид спорта - спортивное ориентирование. В нём есть задачи, которые просто вопят о программной реализации на смартфонах. Но пока программисты обходили своим вниманием этот рынок программ.

Пример участка карты с контрольными пунктами
Пример участка карты с контрольными пунктами

1. Что такое "Спортивное ориентирование"

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

2. Задача планирования маршрута

Ориентировщики обычно идут/бегут "по азимуту" - по прямой от КП к КП. Спортсмены могут развивать скорость до 6 км/ч даже по слегка заваленному и заросшему лесу. Но вариантов последовательности взятия КП может быть множество. Программисты, конечно же, скажут, что это банальная задача коммивояжёра. Да, с небольшими отягощениями. Местность проведения соревнований обычно очень разнообразна по ландшафту: болота, редколесья, поля, пашни, заросшие вырубки, ручьи, завалы, пески, непроходимые ветровалы, овраги, холмы, канавы и многое другое. Очевидно, что по разному ландшафту можно пройти с разной скоростью. По чистому грейдеру (грунтовой дороге, выровненной бульдозером) можно пробежать со скоростью около 6км/ч, по болоту вы будете вязнуть со скоростью 1,5-2км/ч.

Бывают два типа соревнований. В первом варианте спортсменам дают карту до старта и у них есть время для планирования маршрута. Во втором варианте карту дают на старте и время начинает отсчёт от времени выдачи карты, и спортсмены решают задачу на ходу. Когда есть запас времени до старта ориентировщики пользуются методом "булавок и нитки". Участник знает свою среднюю скорость по лесу, знает время закрытия финиша (максимальная длительность прохождения дистанции. Помножив одно на другое получает приблизительный километраж дистанции. Этот километраж умножается на масштаб карты и отмеривается нитка полученной длины. Например, масштаб карты - 500 метров в одном сантиметре, ориентировщик планирует маршрут 45км, отрезает нитку 22,5 сантиметра. Затем кладёт карту на пенку (коврик), точки контрольных пунктов, которые планирует брать, накалывает булавками, затем проматывает нитку через все булавки.

3.Собственно бизнес-идея для программистов

Нужна программа для смартфона. Для Андроида (никогда не видел, чтобы по лесу бегали с айфонами). Встраивание рекламы смысла почти не имеет, там где будут пользоваться этой программой зачастую не ловит интернет. Программа может быть платной в разумных пределах (не более 600р/месяц). Программа должна поддерживать векторные форматы карт, которые есть в открытом доступе (типа OSM) и работать с ними. При фотографировании выданной на соревнованиях карты программа должна распознать характерные узловые точки на фотографии и привязать их к загруженной векторной карте. Программа должна распознать на фотографии отметки контрольных пунктов и привязать их к загруженной векторной карте - они обозначаются красным кружком с номером тоже красного цвета, ничего другого на карте этими условными обозначениями не отмечают. После чего рассчитать различные варианты маршрута и выдать их клиенту - минимальные штрафы, оптимальное время прохождения дистанции, ландшафты с максимальной средней скоростью. Программа должна принимать информацию от пользователя о взятии КП и динамически перестраивать маршрут с учётом реальной скорости пользователя.

Заключение

Если программа будет содержать все перечисленные функции, то гарантирована обширная аудитория. Только в России спортивным ориентированием занимается около 149 тысяч человек (данные на 30 апреля 2020г.). Это только в России... в мире это в разы более крупная аудитория. Примерно половина спортивных ориентировщиков - завсегдатаи соревнований. Они точно захотят воспользоваться такой программой, дающей тактическое преимущество. Если предположить месячную абонплату в 600 рублей (как у знаменитой Strava) у половины из 149 000человек - это почти 45 миллионов в месяц... А если добавить английскую, французскую, итальянскую, немецкую и испанскую версию... Программ таких нет ещё. Совсем. Требуемые технологии уже есть. Кто первый напишет такую программу, будет иметь шикарный куш.