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

Коничива, уважаемый!

За время вашего отсутствия мы тут вон чего понаписали:

6

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

Приложение "Маяки Прибалтики"

Короче, поработав над "Маяками России" и взвесив все взвеси, я отказался от оффлайн-контента полностью. Теперь в "Маяках Прибалтики" весь контент качается с сервера. На переделку приложения ушло ощутимо больше времени, чем я сам рассчитывал. Кто бы мог подумать, но перенос данных из файлов в БД занял порядка 10 часов чистого времени. Вдвое меньше ушло на переделку всех фото и добавление новых 102 снимков (было 323 фото, стало 425). Плюс тестирование, программирование и подготовка новых скринов для маркетов - и количество затраченного времени перевалило за 20 часов. Также было добавлено два новых объекта (передний и задний знаки Телисе), исправлено несколько опечаток и корявостей в английской версии и заменены некоторые иконки. Наконец-то музеи получили свою специальную иконку, спасибо дизайнерам Flutter/Google.

Ну, и как это нередко бывает, отдельно про версию для iOS. Между этим предложением и предыдущим было полторы строки неуклюжего, но очень искреннего мата, но я его удалил. Что-то, где-то, как-то на этом сраном Макбуке обновилось и приложение крашится на эмуляторе при открытии карты. Несколько часов ушло на то, чтобы установить, что дело не в новой версии моего приложения, так как старая версия "Маяков Прибалтики", которая сейчас доступна в AppStore, тоже вылетает в этом месте. А "Маяки России" не вылетает. Как так? Yahooйегознает. Перепробовал много чего и новых идей пока нет. Со временем у меня сейчас будет туго, так что, вероятнее всего, обновления на iOS в ближайшие 2-3 недели не будет. Страдать я стараюсь дозированно. Ну а пользователям Андроида: обновление для вас доступно со вчерашнего дня, вэлкам и наслаждайтесь. До конца лета будут ещё новые отличные фотографии маяков.

14

Сочинение на тему "как я провёл последние 10 месяцев"

Я гуглил, переписывался, обрабатывал фото, читал тексты, писал тексты и, конечно же, программировал. На всё это ушло несколько сотен часов моего свободного времени. Конец сочинения, но... начало чего-то нового. Я о своём приложении "Маяки России". Вчера оно официально вышло. Ниже немного статистики и технических подробностей, ну а кому это не интересно, тут ссылки для скачивания приложения из AppStore и Google Play.

Это второе моё приложение и первое, которое я выпускал в ранний доступ (бета-тест). Примечательно, что тестовое приложение нельзя найти через поиск, только по ссылке. За два с половиной месяца тестирования приложение было установлено на 80+ Android-устройств и 30 Эпплов. Цифры, как по мне, вполне хорошие. Гораздо более приятным было то, что со мной связался почти каждый десятый пользователь и дал какой-то фидбек или комментарии по контенту (сорри за англицизмы). Это очень круто.

Непосредственно релиз затянулся. Приложение было отправлено на проверку 8 июня, в день Маячной службы в России. По старой традиции, на iOS опять вылезла какая-то ошибка. В данном случае проблема была в неработающей кнопке "показать на карте". Уже получал об этом сообщение от одного из пользователей, но диагностировать точно не смог. Повторный гуглёж показал, что iOS вообще не понимает geo-ссылок, но, если установлено какое-либо приложение с его поддержкой, то они будут работать. Выход радикальный, но действенный: для пользователей iOS ссылка только на Apple Map, а пользователям "православного Андроида" - вся прелесть geo-ссылок.

Вообще, для программиста iOS очень поганая операционка. Вместо того, чтобы решать проблемы, там зачастую навешивают ограничение. Отголоски этого я встречал как в web-разработке, так и в разработке мобильных приложений. Есть у меня подозрения, что иллюминаты её сделали. И аббревиатура как бы намекает...

7

Мне одному кажется, что программирование на типизированных языках иногда напоминает диалог с очень занудным ребёнком с явным отставанием в развитии:

- Чего ты кричишь, что случилось?
- Ты обещал, что будут цифры.
- Это цифры.
- Нет, это не цифры.
- Это те же самые цифры, только в кавычках.
- Цифры в кавычках - это не цифры. А ты обещал, что будут цифры.
- Хорошо. Давай так: ты сейчас возьмёшь эти цифры в кавычках и мы сразу же переделаем их в нормальные.
- Нет! Ты обещал, что будут цифры, а это никакие не цифры! Не хочу с тобой играть!

В особо же тяжёлых случаях всё скатывается к "Крёстному отцу": "Ты отправляешь эти данные, но делаешь это без уважения". И потом сидишь теребонькаешь большой объект с данными, чтобы найти, где конкретно ты "не проявил уважения".

24

На прошлой неделе я, переполняемый гордостью, рапортовал в Инстаграме, что iOS-версия приложения "Маяки Прибалтики" впервые за почти пять месяцев обновилась и получила анимацию моргания. Теперь небольшой рассказ о том, что было до и немного после. К сожалению, Александр, который до этого, по сути, делал всю работу по версии для iOS, сейчас уже не располагает временем на такую помощь. Выход тут был один - покупать самому MacBook и осваивать сборку приложения.

Ранее я вообще никогда и никак с эппловскими устройствами не общался. Единственное исключение - рабочий iPad, на котором сайты тестирую. Учитывая всё это, у меня ушло три дня на установку и настройку Flutter и Xcode, сборку приложения и размещения его в AppStore. Сложнее всего было с сертификатами. Сертификат разработчика Apple, сертификат издателя Apple, сертификат разработчика iOS (а это чё, не Apple???), сертификат издателя iOS и куча каких-то других. Для меня всё это было так: сертификат для того, чтобы проехаться верхом на коне; сертификат для того, чтобы рассказать всем о том, как ты проехался на коне; сертификат для того, чтобы выслушать впечатления коня от этой поездки; сертификат для того, чтобы пересказать впечатления коня и дальше в том же духе. В итоге обновление было выпущено и... Быстро выяснилось: кое-что из того, что работало ранее, сейчас не работает. Александр сделал мне трансфер самого приложения в AppStore на мой аккаунт, но не передал никаких файлов. В итоге всё, что требовало отдельной настройки для iOS, перестало работать. А именно: все внешние ссылки (кнопка "Показать на карте" и кнопка обратной связи) и переведённое название приложения под иконкой.

Ещё когда обновление "Маяков Прибалтики" было на рассмотрении (это занимает примерно сутки), я сразу занялся вторым приложением - "Маяки России". Я узнал, что у Apple есть возможность выпустить приложение как бета-версию для тестирования. Идея мне очень понравилась и я сразу принялся это реализовывать. Разумеется, тут я столкнулся с теми же проблемами со внешними ссылками. За несколько дней я всё это исправил и сделал аналогичные исправления в "Маяках Прибалтики". В итоге, вчера вечером прошло проверку и было выпущено обновление для "прибалтийского" приложения и сейчас там всё работает.

Рабочее место разработчика

Что же до "Маяков России", то и это приложение вышло в открытое плавание. На iOS его можно установить через специальное приложение TestFlight, ссылка здесь. На Android оно вышло в раннем доступе. Через поиск в Play Market его не найти (такое ограничение раннего доступа), качать надо по этой ссылке.

По итогу, тот редкий случай, когда я горд собой. Теперь я прошёл весь путь от создания приложения до его публикации, как в Play Market, так и в AppStore, да ещё и с заходом на тестирование.

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

Крым наш?

Совершенно не знаю, что делать с маяками Крыма. Вопрос не этический, а тупо геополитический. Де факто это территория России, значит и маяки там - маяки России. Но мировые страны упорно не хотят этого признавать и... короче, хрен его знает.

30

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

Приложение "Маяки России"

Ещё была решена старая проблема с высотой раскрытого верхнего блока на странице списка маяков. В зависимости от ширины экрана устройства и длины названия, текст там может занимать от двух до четырёх строк, при этом, высоту надо чётко задавать в самом начале. Решение в лучших традициях костылестроения нашёл на StackOverflow: ещё до начала отрисовки я создаю блок нужной ширины с текстом заголовка и замеряю его высоту, блок этот нигде не отображается, а высота передаётся дальше и используется при отрисовке.

Приложение "Маяки России"

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

Вас же я призываю устанавливать новую версию приложения (если у вас Андроид) и писать свои комментарии и пожелания в Телеграме. Ссылка на канал теперь есть в главном меню приложения. И хороших вам праздников!

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