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

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

9 Января

Биг дэй, мазафака!

Чуть более трёх недель назад я писал, что "весь функционал приложения готов". Да, оставались мелочи, которые, как это часто бывает, отъели времени больше, чем основная часть разработки. Начну с того, что я "допилил" считанные минуты назад - карта. Я уже писал, что Google.Карты оставили не самое лучшее впечатление. Фиг бы с ним, но они ещё и платные и цена совершенно конская. Ещё в декабре я поискал альтернативы, достойного ничего не нашёл и решил выпускать приложение в релиз вообще без карт. Но на этой неделе мне попалась адаптация Leaflet под Flutter. Подключилась на ура и, что наиболее приятно, маркеров не закрысила. Карты подключил от MapBox. Что немаловажно в моём случае, есть возможность использования оффлайн-карт. Единственный досадный баг, который присутствовал: карта загружалась, но маркера начинали отображаться только когда тронешь экран. Простое понимание того, как всё работает, быстро дало решение. Надо сначала грузить данные о маркерах из файла, а потом инициализировать карту. Теперь всё работает просто сказочно.

Маяки Эстонии

В выходные, когда подготавливал фотки, всплыла ещё одна проблема: для некоторых маяков хотелось добавить не два снимка, а больше. Старый лэйаут имел по одной квадратной фотке во всю ширину сверху и снизу страницы с информацией о маяке. При повороте устройства в горизонтальное положение, нижняя картинка уходила вверх и обе фотки занимали половину ширины. Что делать, если фоток больше двух? Думал пару дней и нашёл решение в виде слайдера. Теперь, вместо верхней фотки, слайдер с автопрокруткой и наплевать пять там изображений или одно.

Маяки Эстонии

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

Маяки Эстонии

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

Ну и теперь главное: программная часть приложения готова. А вот контент ещё добавлять и добавлять: сделано лишь 30 маяков из 68. Потом будет тестирование и, если ничто не помешает, релиз.

Размышлял: Lentyay
29 Декабря

Следующим пунктом поездки был маяк Мехикоорма. У меня это был единственный маяк Эстонии, который я ещё не снимал с дрона. В прошлую поездку я не успел сделать разрешение. В этот раз подал заявление в Департамент полиции и погранохраны за полтора месяца, через две недели после получения положительного ответа подал заявление в Леннуамет и дополнительно за шесть дней до полёта известил мэйлом кордон Муствее. Это всё стандартная процедура. Вдобавок ко всему этому, за 40 минут до полёта мне позвонил пограничник и спросил приеду ли я. И всё бы ничего, но за 10-15 минут до прибытия к маяку, к густому туману ещё и дождь добавился, причём, достаточно сильный. Приехав на место, я пообщался с пограничником и уныло побродил по берегу со штативом. Дождь мешал, объектив потел. Маяк работал, хоть это радовало.

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

Размышлял: Lentyay
18 Декабря

Бог управился за шесть дней и на седьмой отдыхал, я в его сроки не уложился. Хотя... Я о своём приложении. Подробнее о нём я расскажу позднее, когда выпущу, а сейчас непосредственно о разработке.
Итак, я начал писать приложение, чтобы освоить Flutter. То, что мне с своё время крайне бы пригодилось - энциклопедия маяков Эстонии с некоторой заточенностью под туриста. Первые полдня разработки я разбирался, что такое Flutter, устанавливал его и потом игрался с писькой примерами. После этого, вечером, я продумал структуру и особенности приложения. Так как оно рассчитано на туриста, у него может не быть интернета, значит все данные должны быть доступны и без него. Сами данные я для удобства решил хранить в JSON. Второй день я делал routing, главное меню и иконку, отображаемую при загрузке приложения. Иконка была такая:

На третий день выводил список всех маяков из JSON-файла и делал его фильтрацию. Для этого пришлось разбираться со StatefulWidget, их состояниями и переменными. На четвёртый день делал иконку приложения и переделывал иконку загрузки (творческий поиск, мать его), разбирался с передачей данных из виджета в виджет. Пятый день начался хорошо, я за пару часов запилил показ маркеров всех маяков на карте Гугла. Но дальше случился софтварный коллапс. Это нормально, что периодически что-то подвисает и приходится перезапускать Android Studio, но в этот раз, вероятно, повредился какой-то файл и всё в миг перестало работать. Перезапускал, перезагружался, а потом и переустанавливал. Flutter заработал, моё приложение - нет. Пришлось начинать новый проект, куда по файлику, по строчечке переносить всё из старого. В итоге, через 4 часа всё заработало, но уже с некоторой тормознёй и подвисаниями. Честно скажу, облегчения не испытал, скорее злость и раздражение.

На следующий день продолжил с картой. Заменил стандартные маркера на свои и выяснил два момента. Во-первых, из 68 объектов, Гугл показал лишь 59 маркеров, нагло проигнорировав очень близкие друг к другу. Во-вторых, свои маркера нормально выглядят на Android, но при этом раза в три крупнее на iOS. Короче, пришлось оставить стандартные маркера. Google Maps API для Flutter очень печалит, а альтернативу пока нашёл лишь одну. Также в этот день начал оформлять страницу информации о выбранном маяке. Никакого дизайна или хоть какого-то представления о нём не было, так что тыкался-мыкался. К концу дня удалось получить некий вектор от дизайнера, что я и реализовывал вчера вечером и сегодня утром. В настоящий момент (седьмой день) весь функционал приложения готов. Честно скажу, увлекло меня это дело не на шутку, забыл про всё на свете, занимался всё свободное время на работе и дома, до 11 часов в день. Да, я прекрасно понимаю, что сделано оно по выдранным из чужих примеров кускам кода. Оптимизировать буду, но позднее. Есть ещё пара декоративных "хотелок", которые бы тоже не помешало реализовать. Ну а первым делом надо добавить фотографии и данные по оставшимся 67 маякам, после этого можно будет выпускать бету приложения.

Размышлял: Lentyay
18 Ноября

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

Заброшенная сиренная станция в Нинамаа

Заброшенная сиренная станция в Нинамаа

Заброшенная сиренная станция в Нинамаа

После этого, остальные здания уже не так впечатляют, но и там есть что посмотреть. В целом, некоторое гнетущее ощущение оставила эта поездка. Возможно, я череcчур впечатлителен, но меня основательно потом подгрузило. Как именно люди покидали это место? Вряд ли это было как-то экстренно. Но почему тогда они оставили столько вещей?

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

Размышлял: Lentyay
8 Ноября

Возвращение на Вайндло

Хорошим продолжением поездки на Хийумаа и просто отличным завершением недели стала бы поездка на Вайндло. Вместе с Юрием Мацеевским мы планировали поездку на этот остров ещё в середине сентября, но тогда погода никак не хотела пускать нас на остров. Не гладко всё было и в этот раз: уже сутки шёл мелкий, но непрерывный дождь. Вдобавок, прогноз погоды менялся часто и подтверждение от капитана катера о том, что поездка состоится я получил за полтора часа до выезда из Таллинна.

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

Поездка была спланирована так, чтобы провести на острове около полутора часов: час до заката и полчаса после. Почти половину этого времени шёл дождь, так что я мог только ходить и фоткать на "зеркалку". В какой-то момент заработал маяк и это подняло моё подупавшее настроение. Кстати, с южной стороны он похож на злобного робота с красными глазами. А вообще, секторное освещение это очень экономично и настолько же некрасиво.

Злобный робот

Тем временем дождь дал нам передышку и я решил полетать. Взлетел, сделал пару кадров и маяк... выключился. Поднявшийся ветер немного расчистил небо, стало чуть светлее и автоматика выключила фонари. Посадил дрон, погулял просто так и через какое-то время навигационный знак заработал снова. Полетал, пофоткал и мы пошли назад на материк.

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

Перекинулся парой слов со смотрителем острова. Оказывается, прошлый раз я не совсем правильно понял. На острове постоянно находится один из двух смотрителей. Они сменяются каждую неделю, а зимой - раз в две недели. Что же до пса по имени Паваротти, о котором я упоминал в прошлый раз, то он скончался 25 июля. Ему было 15 лет, все из которых он прожил на Вайндло.

Размышлял: Lentyay
Цитировать
в комментарии