Wednesday, December 24, 2014

Выпущена версия WiFiLine 1.0.18

Изменения в этой версии:

  • Улучшено качество позиционирования (если Вы обнаружите затруднения, дайте мне знать).
  • Добавлен режим сканирования на ходу. Он включается при выборе количества сканирований в одной точке равным 1. В этом режиме после первого касания экрана запускается "бесконечное" сканирование до момента второго касания. За это время сканирующий должен двигаться на местности по прямой с постоянной скоростью. Программа разместит на карте все полученные за это время данные в виде отдельных точек на прямой между начальной и конечной точками, исходя из временных меток каждого отсчета.
  • В инспектор карты добавлена функция генерации измерений, имеющая смысл для карт полученных с помощью сканирования на ходу. В такой карте в каждой точке содержится только одно измерение. Суть данной функции в том, чтобы сгенерировать для каждой точки дополнительные измерения - они берутся из соседних точек в пределах заданного радиуса. Это позволяет строить более плавное распределение сигналов.
  • Добавлена настройка по выбору радиуса ближайшего окружения. В режиме сканирования - это радиус в метрах, в пределах которого генерируются дополнительные сигналы, описанные выше. В режиме локации - это радиус в точках, в пределах которого может меняться положение пользователя - при превышении данного радиуса новое положение пользователя определяется как ближайшая к нему точка на пути к новому положению, которое находится неправдоподобно далеко (за пределами радиуса).
  • В режиме навигации программа теперь последовательно вызывает все алгоритмы и выводит на экран желтые метки для каждого из них. Это позволяет оценить эффективность методов при различных условиях. Текущее положение пользователя отображается как прежде - на основе результата выбранного в настройках алгоритма. Для того чтобы среди вспомогательных меток появилась нейронная сеть, её необходимо предварительно проинициализировать, выбрав в качестве основного метода. Потом можно переключиться обратно на любой другой алгоритм.
  • Исправлена работа компаса.

WiFiLine 1.0.18 is released

Changes in this version:

  • Location quality is improved (if you experience some problems please let me know).
  • New in-motion scanning mode is added. It's enabled when number of scans is selected as 1. In this mode first touch of the screen starts "endless" scanning until the second touch. In this timeframe a user should walk with a constant speed along a straight line. The app will place all received measurements on the map as points on the straight line between starting and ending points, with respect to their time marks.
  • New function for generating subscans is added into the map inspector. It's primarily intended for the maps created in in-motion mode. In this mode map contains a single measurement in a point. The new function allows you to generate additional measurements for every point - they are taken from neignboring points with a predefined radius. The purpose is to form more smooth signal distribution on the map.
  • New option to select the size of neighborhood is added into the settings. While scanning this is a radius in meters for additional signals generation (described above), while in location mode this is a maximal allowed change of user location in points. If a newly detected location is outside the radius, actual new location is chosen at next point on the path to the ambiguous location, which is too far from current point to be likely.
  • In the location mode the app invokes all algorithms one by one, and displays 3 yellow marks on the map with results of every of them. This allows you to estimate how different algorithms behave themselves under different conditions. Current user location is displayed as before, according to selected algorithm. In order to make neural network showing among these additional marks, it should be initialized. This is done when neural network is selected as preferred algorithm. After this one can switch back to any other algorithm.
  • Compass is fixed.

Monday, December 22, 2014

Android 5 (Lollipop) broke some Hibernate functionality

As you may know I have a side project for Android called Hibernate which is mentioned here on the blog site among other useful links, and has its own dedicated page with a short description. So I think it's not too much offtopic here if I post a piece of news about Hibernate. Unfortunately this is bad news.

Android 5.0.1 Lollipop broke some of Hibernate's functionality. Google made some changes in the new OS that made it impossible to monitor foreground task via ActivityManager. Most importantly, it was done intentionally and based on some paranoid security considerations (see below), so no workaround is left for non-rooted devices. I must say this is not the first time when Google changes their OS in very questionnable manner and actually degrades user experience.

Here is what the official documentation says about getRunningTasks method of ActivityManager:

This method is no longer available to third party applications: the introduction of document-centric recents means it can leak person information to the caller. For backwards compatibility, it will still return a small subset of its data: at least the caller's own tasks, and possibly some other tasks such as home that are known to not be sensitive.

As a result, the option Rehibernation in the Hibernate app has no effect anymore. But I'm trying to elaborate a workaround anyway.

As a side-effect, the system log is flooded with messages:

getTasks: caller XXXXX does not hold GET_TASKS; limiting output

but this does not impair usability.

Wednesday, December 17, 2014

WiFiLine Editor is updated

New version of WiFiLine Editor has been just submitted to Google Play. It includes minor improvements and bugfixes. If you use a limited WiFiLine app (without editor capabilities) I suggest you to switch to this fully functional version. I know some people would prefer to get something brand new and special, and I would do so as well. But unfortunately it takes some time for redesign, refactoring and implementing new features. Stay tuned.

Wednesday, December 10, 2014

OFF: Android 5.0.1 is off

You may have noticed that WiFiLine project is in the shade of other side projects I'm trying to experiment with. I have some ideas for WiFiLine's future, but at this time I'd like to share first thoughts about new Android version - 5.0.1 - which I received with an Over-The-Air update.

I did not do much testing so far, but here are the points that just strike the eye.

  • standard font size is too small; I was compelled to change system settings for using "Huge" fonts (this is maximum), only after this the texts in dialogs and notifications became as much readable as before (with standard font size);
  • the settings dialog is now organized into 2 columns, which is very unconvenient and hard to read in comparison with the previously known streamlined list;
  • standard keyboard is almost unusable in its "modern" flat design; luckily, there is an option to select a "Holo" theme for the keyboard, so that it brings back conventional look and feel;
  • the last annoying thing is a mess with system statuses and notifications - I'll put the details below, outside the list;

As you know there is the status bar in the upper part of the screen. On the left side notification are shown, on the right side system information about connectivity, battery power etc. is shown. In previous versions of Android swipe down gestures worked separately for the left and the right sides, that is they open either notification list or a dropdown box with quick access options. Now they are combined! No matter where you perform the swipe down - on the left or on the right side - you see the same picture, and the dropdown box is shown in the center. This is very unexpected and inconsistent. Also this does not impove usability in any way, because the options are now buried under notifications: you need to perform 2 swipe down gestures in a row - first to open the dropdown, and the second - to move notification underneath - only after this the options appear.

I hope functional improvements in Android 5 are not designed in the same counterproductive manner as with appearence and usability.