28 Августа

Текущий месяц прошёл у меня под знаком приложений. Я не обновлял их более полугода, но халява не может длиться вечно: в какой-то момент Google уведомил меня, что если я не изменю целевую версию SDK в настройках каждого приложения, то все они будут удалены из Play Market до конца августа. Пришлось обновляться. В идеале, надо лишь открыть в Android Studio каждое из приложений, поменять одну циферку, скомпилировать и загрузить результат в "Маркет". Но насколько же наш мир далёк от идеального... За последние месяцы Flutter, на котором сделаны приложения, существенно изменился и мне пришлось делать много исправлений в коде, просто чтобы сохранить функциональность. Больше всего возни было с цветами и оформлением. Google наконец-то полностью интегрировал во Flutter свой UI Material 3. Когда он только появился, он был мне очень интересен, но не было возможности использовать его фишки в приложении. Потом я посмотрел, как оно работает на практике и всё желание с ним связываться пропало.

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

Приложения "Маяки Прибалтики", "Маяки России" и "Маяки Болгарии"

Ну и "чтоб два раза не вставать" - немного об обновлениях контента приложения "Маяки Прибалтики". Стабильно каждые пару недель добавляю что-то новое. Из последнего, что запомнилось: новые фото маяков Осмуссаар, Нарва-Йыэсуу, Найссаар, Нинакюла и Мехикоорма, информация о местоположении разрушенных маяков на Осмуссааре и Найссааре, информация и фото временного деревянного маяка Найссаар и это не весь список. Вчера был в компании GT Corporation, которая более 20 лет занималась реставрацией маяков Эстонии. Привёз оттуда немного интересной технической информации о ремонте маяков. Самое главное, наконец-то мне внятно и доходчиво объяснили про бетонные кольца на маяке Мохни. Эта информация тоже уже в приложении. Как и подробности того, как башню маяка Манилайд переносили с места на место.

Кстати, ещё я обновил версию приложения в AppGallery, до сих пор гадаю, пользуется ли им там хоть кто-нибудь?..

29 Августа

Недавно Google вежливо попросил меня обновить все свои приложения до новой версии SDK, иначе - санкции. Негоже на такую вежливость отказом отвечать, да и вообще, с Google'ом не очень-то поспоришь. Пришлось обновлять, благо только на Андроиде. В "Маяки России" никаких изменений, кроме версии SDK не вносил. В "Маяки Болгарии" добавил кнопку "Оценить приложение". А вот в "Маяках Прибалтики" запилил новую "фичу", идея которой пришла мне в Микельторнисе - ориентация секторов свечения в демке по компасу. Лично мне это было бы полезно при планировании фотосъёмки в тёмное время: сразу на местности видно, где какие сектора. Обновление доступно с прошлой недели.

Напомню, что абсолютно обо всех обновлениях как приложения "Маяки Прибалтики", так и его контента (технически это несвязанные вещи) я сразу сообщаю в Телеграме.

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", а контент его всегда одинаков. Идея показалась мне настолько удачной, что я решил использовать её и в "Маяках Прибалтики".

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

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

Warning: Undefined array key "page" in /data02/virt40099/domeenid/www.newkamikaze.com/dev/index.php on line 306