Проблемы с версией 2.7+

Нет худа без добра, как и бочки мёда без ложки дёгтя.

В попытке починить уже поднадоевшую “ошибку”, которая приводила к удалению локальной копии данных (та, что хранится на устройстве пользователя), появилась новая напасть. Те пользователи, которые без проблем использовали программу на протяжении нескольких лет, столкнулись с тем, что после обновления до версии 2.7.0 и далее (на данный момент доступна версия 2.7.3.742), при входе в программу не видят свои данные, а вместо этого видно сообщение о том, что “Регистрация не завершена.”

Попробую объяснить что это, почему вообще появилось, ну и как, собственно, заставить программу работать дальше.

  1. Причина

Как писал выше, всё случилось в процессе перехода на новое хранилище данных, любезно предоставленное компанией Google. Это хранилище настолько надёжно, что локальная копия данных о расходах не удаляется, даже если удалить приложение с телефона. При этом оно закодировано-зашифровано, и никак его не прочитать, кроме как из программы “Мои Авро Расходы”.

Старый метод хранения был очень быстрый. Новый же помедленнее. Это цена за надёжность и неудаляемость. Я заметил, что мои 4.000 (четыре тысячи) записей о расходах чуть-чуть медленнее отрисовываются на графиках. Так вот старый метод давал очень редкий, но крайне раздражающий сбой – когда в процессе “обновления” данных о расходах из программы (ещё реже на самом входе в программу) – канал связи до сервера прерывался, случалась ошибка сохранения “новых” записей.

Лично мне (как я не старался) и моим немногим тестировщикам никоим образом не удалось даже воссоздать эту проблему. Фактически это моя теория, что данные “терялись” из-за кратковременного перебоя в соединения устройства с интернетом именно в тот момент, когда пользователь “вызывал” обновление данных о расходах.

2. Следствие

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

3. Как всё вернуть

Никак. Всё идёт вперёд, и в данном случае нужно лишь выполнить требование, о котором было написано выше – самый первый раз после обновления, нужно зайти в приложение, удостоверившись, что Ваше устройство подключено к сети Интернет. Не буду фантазировать про 100% вероятность, но 99% случится именно правильный результат, т.е. пользователь увидит свои данные в целости и сохранности. А также некоторые визуальные изменения, которые были внесены в версии 2.7

4. Пряники

Буквально пара предложений о том, что было добавлено в 2.7, кроме (надеюсь, что непродолжительной) головной боли у некоторых пользователей.

Переделал экспорт в CSV (comma separated view) – файл, легко читающийся Экселем. Теперь сам файл не только сохранится на устройстве, но и будет предложено его заслать туда, куда сам пользователь решит (мессенджеры, почта, какие-то другие направления).

Визуально изменил все иконки, чтобы всё гармонично смотрелось на устройствах с огромными экранами, вне зависимости от используемой темы оформления: дневной (светлой) или ночной (тёмной).

Исправил ошибку, которая не позволяла пользователям с устройствами, роботающими под управлением Андроид версий 4.2, 4.3 и 4.4, пользоваться приложением. С версии 2.7.3 всё стало работать.

Что-то скорей всего забыл, но это несущественно. Каждый раз, что-то получается подправить.

5. Обратная связь

Ув. Пользователи, если что-то не работает! очень прошу всё-таки связываться со мной, перед тем, как сходу лепить 1* в Маркете, хлопать дверью, и уходить по-Английски. Не было проблемы, которой не удавалось оперативно решить. А вот 3 негативных отзыва сбили оценку приложения с 4.5 до 4.2 .. и теперь в списке авто приложений я 20-ый, вместо 10-ого места. Это замедлит накопление данных о машинах (и прочих ТС) в Глобальной статистике. Надеюсь, что сознательных среди Вас гораздо больше, чем тех.. других.

Спасибо за внимание и понимание.

С Уважением,

разработчик “Мои Авро Расходы”.

0

“Удалились все данные!”

Не пугайтесь. Данные НЕ удалились. Они НЕ могут просто так исчезнуть с сервера с серьезной защитой, да и дата-центр в подмосковье весьма надёжный.

Всё дело в том, что в последнее время я получил несколько гневных комментариев, мод “Данные удалились”. Хотел бы сам понять, что же на самом деле происходит на устройствах у пользователей. Но вот несколько основных тезисов для успокоения души.

  1. На устройстве пользователя “Мои Авто Расходы” хранится временная копия данных. Мастер копия данных хранится в дата-центре.
  2. Удалить расходы физически невозможно. Когда пользователь жмет на значок удаления – расход помечается флагом “Удалено” и не отображается ни на экране, ни в расчётах. Но физически присутствует. Мало ли что. Тоже самое происходит со всеми объектами: автомобилем, категориями, напоминаниями и т.д. Изначально это было сделано для того, чтобы другие устройства пользователя после приёма данных смогли понять, что такая-то запись “Удалена” (логическое удаление) и такую запись надо игнорировать в расчётах и не отображать на экране.
  3. “Потеряться” может только запись о расходе, сделанная в режиме “Без сети” – это такой “расход” (помечен звездочкой в списке), который “улетит” на сервер сразу же, как только пользователь “зайдет” в программу, находясь в зоне приёма данных (или попросту “В сети”). Но случиться эта “потеря” может только в том случае, если пользователь добавил такой расход, и не находясь в зоне приема, удалил всю программу, скинул данные кеша.. ну или зайдя в настройки, вызвал “перезагрузить все данные”. Одним словом что-то одно можно потерять в каком-то очень редком случае, но никак не всё введенное ранее.

Но теперь ещё раз для тех, кто “потерял все данные”. В этом случае есть 3 варианта:

  1. Авторизоваться именно тем аккаунтом Google, который был использован при регистрации, и вводе расходов. Если Вы забыли свой аккаунт, напишите мне, что осталось в памяти, например “имя” машины, марка, модель.. я напомню аккаунт, правда авторизоваться в нём – уже выше моих сил, это Вы сами.
  2. Использовать пункт меню “Настроек” перезагрузить все данные – это совершенно безопасно, если у Вас нет записей, помеченных (*) в списке расходов – это записи, сделанные вне зоны приёма “Интернет”. Чтобы они “улетели” на сервер, нужно зайти в программу, находясь в зоне приёма данных GSM или WiFi с доступом в сеть “Интернет”.
  3. Скинуть кеш программы или даже переустановить (мне было бы лень, т.к. скинуть кеш быстрее), и выполнить пункт 1.

Вот собственно и всё.

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

Мне как разработчику довольно странно видеть единицы (*) в виде оценки, вместо письма от пользователя с целью разобраться в ситуации. Начинаю думать, что это какой-то заказ от конкурентов. Впрочем.. куда мне с ними тягаться. До 10.000 установок ещё не дотянул..

Спасибо за внимание; и в частности тем, кто дочитал до конца.

2+

Что нового в версии 2.3 ?

* Улучшен ввод расхода (“Заправка”) электромобиля или заряжаемого гибрида. Тут стоит добавить, что каждая зарядка считается “полной” по умолчанию, ибо у электрокаров нет понятия “полный бак”. Буду рад подискутировать на эту тему.

* Добавлен вид топлива “kWh” (кВт*ч). Теперь можно ввести не только денежку, но и количество кВт*ч, что дает возможность оценивать стоимость содержания электромобиля более объективно.

* Обновлен список производителей транспортных средств. Добавлено более 130 различных моделей. Использовал список моделей и производителей, введенных ранее пользователями аппликации. Многие из этих моделей сразу появились в глобальной статистике.

* Исправления ошибок и прочие улучшения функционирования. По большей части улучшал стабильность именно экрана с глобальной статистикой.

* Добавлены переводы: Итальянский, Шведский. Ведётся работа над внедрением ещё порядка 1.5 десятка европейских языков.

1+

Недоступность сервера 28.12.2019

По вине провайдера, сегодня у меня был довольно нервный день. Привожу письмо от службы поддержки.

Уважаемый клиент!

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

Доступность серверов была полностью восстановлена.

Спасибо за ваше терпение и понимание.

В итоге: server was down for 3 hours, 45 minutes and 47 seconds.

0

Что нового в 2.2.0 (714)

* Исправлены ошибки, повышена стабильность

Ошибок и падений становится меньше и меньше, но до 100% стабильности всё-же далеко. Работы непочатый край. У небольшого процента (~2%) пользователей время от времени что-то да выскакивает.

* Добавлен новый тип напоминания: “Каждый N день месяца”

Хорошая штука, давно самому не хватало. Во множестве “ежедневников” (“to-do” списков) имеется такой тип, должен быть и у меня. Есть несколько сценариев и хитростей использования.

  1. Обычный сценарий: установили число (к примеру) 10-ое, и каждый месяц 10-ого числа, получаем уведомление о наступившем сроке, вплоть до “заплатить за газ (домашний)” или “отвезти тещу на рынок” =)
  2. Первый день месяца.. вполне себе сценарий, кто-то возможно отслеживает ежемесячный пробег.. данный сценарий кому-то пригодится.
  3. Последний день месяца: то-же, что и 2-ой сценарий, но тут надо выставить 31-ое число, и внутренний алгоритм рассчитает последний день, будь то хоть конец февраля в високосный год.

У данного типа напоминания нет даты начала действия. Она рассчитывается автоматически, исходя из текущей даты и желаемой даты. Возможны всего два сценария:

  1. Текущая дата меньше вводимой: (сегодня 13.12.2019), вводится дата (15-ое число) – в этом случае событие наступит уже через 2 дня.
  2. Текущая дата больше или равна вводимой: (сегодня 13.12.2019), вводится (12-ое) число – в этом случае событие наступит через месяц, 12-ого января, 2020-ого года.

* Увеличен размер шрифтов на некоторых экранах

Был получен комментарий от пользователя, что после последнего обновления, шрифты в очередной раз уменьшились. Я пояснял и до этого, что сам я ничего не меняю, но внутренние библиотеки Google обновляются, чтобы поддерживать разрастающийся парк устройств, работающих под OS Android (размер экранов, и PPI [“Pixels Per Inch”] растут огромными шагами). И так получилось, что со временем размер шрифта “small” уменьшился до “слишком” маленького. В итоге, вернул размер шрифта “medium”, как когда-то было, но на старых устройствах “medium” выглядел не очень хорошо; случались перекрытия надписей, к примеру на Немецком языке. С учетом того, что минимально разрешенная версия Android OS сейчас 4.1, то маленьких экранов уже не должно быть, следовательно не сильно ожидаю, что кто-то получит слишком “большой” шрифт.

0

Версия: 2.1.0.703

Что нового в этой версии:

  1. Оптимизация приложения при работе с сервером данных. Некоторые операции ускорены в 10-15 раз.
  2. Важно! Пользователи Android 4.1, 4.2, 4.3 и 4.4 получат поддержку ещё в течении одного года, после чего скорей всего подобные устройства не будут получать обновления. Связано с закручивающей гайки Google, в отношении средств безопасности передачи данных.
  3. Проведена работа над ошибками.

В редких случаях может потребоваться перезагрузка данных. Сделать это можно на экране Настроек. Операция безопасна, данные не удаляет (при условии, что все расходы уже в “облаке”).

0

Версия 2.0

Мой долгострой ушёл в печать, как говорят. Перелопатил внутренности программы очень и очень существенно. Исправил большое количество ошибок, приводящих к падениям. Впереди еще один шаг к увеличению скорости “общения” с сервером. Возлагаю большие надежды.

С недавнего времени уровень защиты данных (хоть ничего личного и не храним, за исключением адресов электронной почты). Добавлен ещё один уровень шифрования.

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

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

Итак.

1. Множество изменений интерфейса (+ новая “темная” тема оформления)

1.1. Возможность выключить анимацию переходов между экранами

Данная опция позволяет убрать задержку (как и мягкий переход) смены экранов. В целом пользователи, которые не хотят ждать 300-500 мс, получат мгновенную смену экранов, как и реакцию на нажатие определённых экранных кнопок.

1.2. Уменьшен размер шрифта некоторых элементов

2. Глобальная статистика

3. Оптимизация и стабилизация

4. Перезагрузите данные после установки этого выпуска!

5. Добавлена поддержка Android: 9 (P), 10 (Q)

6. Прекращена поддержка Android: 4.0 – 4.0.4 (ICS), 4.1 (JB)

Пользователей данных версий Андроид среди пользователей данной аппликации больше нет, поэтому я решил отказаться от их поддержки в пользу более новых.

7. Размер аппликации уменьшен еще на 15%

1+