Приложение Маяки Эстонии
26 Декабря

Симулятор мичиганского глиномеса

Сейчас время праздников, можно расслабиться и, например, поиграть. Расскажу об игре, в которую я накатал уже за сотню часов - SnowRunner. Но начну я с 2006 года, когда вышла российская игра "Полный привод: УАЗ 4x4". Проект был весьма специфическим, на любителя. Мне зашёл максимально. Я прошёл всё, что вышло под брендом "Полный привод", включая КрАЗ и Hummer. Вымученная третья часть поставила точку в серии и... всё.

Спустя годы я узнал, что есть такая игра, как Spintires. Посмотрел стримы на Ютьюбе - тоска. Потом её как-то раздавали бесплатно, поиграл - неплохо, но не более. Стримы MudRunner и SnowRunner тоже пробовал смотреть - всё равно тоска. Кстати, даже сейчас, когда сама игра меня очень увлекла, стримы я так и не смотрю.

SnowRunner я купил целенаправленно, чтобы медитативно поигрывать на Свитче, лёжа в кухне на удобном диванчике. По итогу всё так и получилось: играть интересно и в 90% случаев не напряжно. Ещё раз подчеркну, что смотреть на это со стороны - скука смертная, а играть самому очень увлекательно.

SnowRunner

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

SnowRunner

23 Декабря

Третья и заключительная публикация о том, как делалось приложение "Маяки Болгарии". В этой части будут только технические подробности.

Самое большое программное отличие "Маяков Болгарии" - новая библиотека карт. В двух других приложениях я использовал mapbox_gl. Эта библиотека выдаёт отличные векторные карты и имеет кэширование "из коробки", но с ней чертовски сложно работать. Её сложно настраивать и она капризна в работе, хотя, казалось бы, на официальном сайте есть инструкции. У меня был прецедент, когда новая версия приложения, где карты не менялись вообще, вылетала при открытии карт. С приложением "Маяки Болгарии" всё работало на эмуляторе, но не работало на реальном смартфоне. Очень это всё надоело. Вдобавок, mapbox_gl давно утратил статус официального плагина и перемещён из репозитория Mapbox в репозиторий непосредственно автора. Кроме того, развитие его остановилась и сейчас он попросту доживает.

Одной из самых популярных картографических библиотек под Flutter сейчас является flutter_map, которая, по сути, является адаптацией популярной библиотеки Leaflet. Я уже пробовал её в "Маяках Эстонии", но отказался из-за одного досадного бага: если открыть карту, нажать там на маркер маяка (откроется страница этого маяка), потом вернуться назад на карту, нажать на другой маркер, опять вернуться и повторить этот цикл ещё пару раз, карта начинала очень сильно тормозить. Сейчас попробовал её снова и, как оказалось, этого бага больше нет. Второй приятностью перехода на новую библиотеку стал фильтр по типу объектов, как в списке маяков. Я очень много сил потратил, чтобы сделать это на mapbox_gl для "Маяков Прибалтики", но так и не сдюжил. С flutter_map я просто взял код фильтра из виджета списка и он заработал.
Есть в flutter_map и свои нюансы. "Из коробки" нет ни кэширования, ни векторных карт. И то и то доступно через отдельные плагины, но выбрать надо что-то одно. Я выбрал векторные карты, но не смог прикрутить к ним кастомное оформление и отказался. Зато теперь у карт есть кэширование.

Впрочем, самое первое, что я сделал для этого приложения - это логотип. Здесь приключилась некоторая цепочка удачных решений. Идея использовать в логотипе цвета болгарского флага была крайне очевидной. Это напрямую продиктовало выбор маяка - красно-белых маяков в Болгарии всего два (чисто красных нет вообще) и из них Шабла более узнаваем. Таким образом, концепция лого оформилась, но с оригинальными цветами флага оно выглядело не очень. Поиграл с оттенками - стало лучше, даже почти хорошо. Дальше был достаточно важный для меня в таких случаях момент - я взял паузу. Периодически поглядывал на результат, но старался специально ничего не придумывать. В какой-то момент решил попробовать добавить объёма. С логотипом "Маяков России" это не сработало, но тут добавило последний недостающий штрих. Сразу проверил, как получившееся лого будет выглядеть в виде маленькой иконки и понял, что нарисовал свой лучший логотип. Он прекрасен, не спорьте!

Ставьте все приложение (Google Play Market, Apple App Store), если ещё не сделали этого, и читайте историю маяков, на русском о маяках Болгарии есть только у меня в приложении и на сайте. Хороших всем праздников!

20 Декабря

В субботу (17 декабря) вышла iOS версия приложения "Маяки Болгарии", так что продолжу о маяках этой страны. Эта публикация будет своего рода обзором всех маяков Болгарии. Начну с курьёза: самый высокий маяк Болгарии... фальшивый. Речь идёт о 40-метровой башне в центре закрытого гостиничного комплекса Ахелой. Это не настоящий маяк, в приложении его нет, но на него можно посмотреть в видео ниже.

В Болгарии 10 действующих маяков (хотя на официальной карте их 9), а всего в приложении 25 объектов. Всех их условно можно разделить на три группы. В первой группе находятся типовые маяки, построенные в 1930-е годы: Ахтопол, Маслен нос, Несебр, Поморие, Приморско и Св. Атанас. Все они внешне похожи и вряд ли будут особо интересны туристам. Если проводить аналогии с маяками Эстонии, то это маяки Армаса Луйге, даже годы постройки близки. Во второй группе маяки и входные знаки портов Бургас и Варна - 7 объектов в приложении. Все они построены в самом начале XX века из листового металла и имеют схожую конструкцию (входные знаки, как мне показалось, и вовсе идентичны). Субъективно, старые железные башни очень интересны, новые маяки - не так.

Третья группа самая интересная - маяки построенные компанией "Compagnie des Phares de l'Empire Ottoman". Это маяки Галата, Калиакра, Св. Анастасия, Св. Иван и Шабла. Это самые старые маяки Болгарии, именно их рекомендовал бы смотреть в первую очередь. Ну и осталось ещё 7 маяков вне этих групп. Если всё это вас заинтересовало, скачивайте приложение в Google Play Market и Apple App Store и изучайте сами.

15 Декабря

Почти вышло (версия для Apple на повторной модерации) приложение "Маяки Болгарии" и самое время рассказать о нём. Начну не совсем с того, с чего в таких случаях принято: "на_уя, а главное зачем" я его сделал. Сразу надо уточнить, что работал я не один, а вместе с болгарским фарологом Белой Беновой. Так всё же, зачем? Действительно ли есть люди (кроме нас двоих, работавших над приложением), кому интересна тема маяков Болгарии? Я не задавался и не задаюсь такими вопросами. Я не делал ни это, ни свои прошлые приложения для кого-то. Разумеется, есть целевая аудитория, которой я максимально стараюсь угодить, но делаю я приложение именно для себя. Я уже давно понял, что делать что-либо ради кого-то - это не очень хорошая мотивация в долгосрочной перспективе. И что хуже всего, обязательно настанет момент, когда мысленно начинаешь этого "кого-то" обвинять, мол я для тебя столько всего, а ты для меня такой мелочи не можешь. Всего этого очень просто избежать - надо делать всё для себя. Ребёнок просит купить игрушку и я покупаю. Не потому, что он её хочет, а потому что я хочу чтобы у меня был радостный ребёнок. Ровно то же самое и с моими приложениями - делаю для себя. Собственно, по этой причине я не смотрю статистику скачиваний - не в этом моя цель. И по этой же причине я до сих пор "облизываю" "Маяки Прибалтики" - делаю приложение лучше для себя.

Теперь в общих чертах о приложении "Маяки Болгарии", чем оно уникально или интересно. Также при работе я специально считал затраченное время и на этом аспекте будет сделан особый акцент. Итак, идея сделать приложение пришла мне в голову 12 августа. Логика была такой: я уже имею готовую программную базу приложения "Маяки Прибалтики", которую с минимальными изменениями можно использовать, фото почти всех маяков у меня есть, тексты я в любом случае буду писать для сайта. Получается сделать ну очень малой кровью, плюс, весьма возможно, заведу новые интересные знакомства. На практике же только на программирование, где требовалось взять код и с минимальными переделками адаптировать под новое приложение, у меня ушло две недели плотной работы. Подтянуть интерфейс, поменять цвета, протестировать всё на светлой теме, протестировать всё на тёмной теме, пофиксить ошибки, заново протестировать и т.д. Даже такой простой процесс, как публикация в Google Play занял более 4 часов. Подготовка к публикации в App Store заняла тоже 4 часа. но там процесс ещё не заверщён. Помимо бесчисленного количества форм, надо подготовить баннеры и скриншоты для каждого языка отдельно и в разных разрешениях.

Теперь контент. Он делался параллельно программной части. Все тексты писал я, корректировала и переводила Бела. На написание одного текста у меня уходило в среднем 45 минут. Первый из них я написал ещё в июле, потом ждал книг, когда занялся приложением, времени на написание почти не осталось и т.д. Последний текст я дописал 27 ноября. Тексты в приложении те же самые, что и на этом сайте. Источники информации указаны тут, но часто их было недостаточно. В таких случаях Бела связывалась с департаментом мореходства и узнавала непосредственно у них. В первую очередь, нужны были уточнения по характеристикам огня, так что эта инфа в приложении эксклюзивна.
Чтобы закрыть тему затраченного времени, скажу, что у меня на свою работу по приложению ушло 100-120 часов при очень грубом подсчёте. Это при том, что это мой pet-проект и мотивирован я был до предела. Собственно, это ответ на вопрос почему я не принимаю заказы на создание приложений. У меня на это уходит неконтролтруемо много времени.

Теперь о неочевидном функционале этого и других моих маячных приложений. Если в списке маяков сделать долгое нажание на одном из объектов, он добавится в избранное (раздел "Мои маяки"). То же самое можно сделать свайпнув название маяка влево. В самом разделе "Мои маяки" объект можно убрать из избранного свайпом вправо. Я изобрёл маячный Tinder!

Ещё одно удачное решение данного приложения - дополнительный блок о компании "Compagnie des Phares de l'Empire Ottoman". Эта компания строила и обслуживала некоторые маяки и очень желательно рассказать немного и о ней. На сайте я написал об этом блок текста, в других публикациях просто ставил ссылку непосредственно на него. В приложении так не сделать. В какой-то момент мне вспомнились бумажные журналы и их врезки. Практически то же самое я сделал и в приложении - отдельный блок в рамке с текстом про компанию, идущий после исторической информации. Он показывается только на страницах маяков связанных с "Compagnie des Phares de l'Empire Ottoman", а контент его всегда одинаков. Идея показалась мне настолько удачной, что я решил использовать её и в "Маяках Прибалтики".

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

12 Декабря

Наснимал что бог послал #73

В минувшую субботу заехали к маяку Летипеа. Я летал два раза, до того, как маяк начал работать и после. Второй раз спешил и при взлёте зацепил ветки и крашнул свой Autel EVO Lite+ с трёх метров в мягкий сугроб. У дрона даже лучи не сложились. Короче, сдул снег и полетел фоткать маяк. Дома осмотрел подробнее: один пропеллер треснул и от корпуса откололся небольшой кусочек у основания переднего луча. Последнее крайне озадачило - с чего? Пропеллер туда не достанет, удариться дрон тоже ни обо что, вроде как, не мог. Пошёл в интернеты читать. Да, у Autel качество пластика хуже, чем у DJI и на холоде может треснуть. Хотя случаи единичные. Гораздо больше меня обеспокоило другое - частые жалобы на тряску дрона при минусовых температурах. Однозначно это косяк текущей версии прошивки, так как прошлой зимой таких жалоб не было. Autel до конца года обещались ещё прошивку выпустить, бог даст, поправят. Ну а ниже чего наснимал. Самому очень нравится центральный кадр.

Цитировать
в комментарии