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

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

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

  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+

Что есть “платный” контент?

Следующие функции:

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

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

Кстати. Ниже, пример того, что сейчас видят пользователи версии для внутреннего тестирования. В течении недолгого времени станет доступно всем. Срок выхода, как его обычно описывает небезызвестная компания Blizzard Entertainment: “When it’s ready.”

2+