A few months ago, Navigine R&D team started participating in Indoor Location & Navigation competition from XYZ10 and Microsoft Research.

The purpose of the competition was as follows: organizers provided the participants with logs from hundreds of shopping centers, where visitors walked along specific routes. It was necessary to predict the floor and the x, y coordinate of the visitor on that floor based on radio signals and inertial sensors. In addition to the logs, the participants had metadata in the form of a map, which shows the location of cafes, shops, and other points of interest (POI).

What steps…


This is the Navigine Team and today we’d like to tell you about indoor navigation and positioning technology and also about the Open Source geolocation software for the given sphere.

What is the system of indoor navigation and positioning about?

We are all familiar with the GPS system that can define the location of objects based on satellite signals. But this technology has a significant drawback — it can’t function inside buildings. The indoor navigation and positioning system (IPS) was designed for solving navigation tasks in closed spaces. The first system helps creating routes to points of interest and building convenient navigation; the second one defines object location in space.


Continuing the discussion about Google’s limitations and how to bypass them

Drawing of fish swimming to the surface

Today, I want to discuss WiFi scan throttling in new Android versions and how to avoid it. Previously, I wrote an article about a new scan mechanism on the recently released Android R. If you read that article, you know that Google limits developers’ opportunities to scan WiFi as in previous Android versions.

So let’s start our article by reviewing how it worked earlier and how to get similar results now with new Android R.

How It Worked Earlier

This part of the article will be simple and without any restrictions. There were not any restrictions including Android Oreo and you could scan every…


How answering questions on Stack Overflow and other platforms can be helpful if you’re working on a startup

Character holding a giant question mark.

Today, we want to digress a little from articles related to coding and talk about helping other developers and answering questions on different platforms like Stack Overflow, Quora, GitHub, Reddit, etc. I think many people already know that programmers provide a lot of support to each other and there are a huge number of resources where you can find answers to many questions. One of the main results associated with this responsiveness is also open source projects. But we will talk about this in future articles.

Now, let’s start talking about the important reasons for answering dev questions and sharing…


Writing custom rotate gesture listener for Android views

Hi there! In the Navigine team, we’ve been providing indoor and outdoor positioning mobile technologies that enable advanced indoor navigation and proximity solutions for eight years.

In our previous article, we wrote about handling tap, pan, and pinch gestures in Android views using gesture detectors. It was quite easy to implement because there we used the already written by Google gesture detectors. But now we will need to write our own gesture detectors because there are no ready ones. Of course, you can find some libraries and use them in your project, but if you can write yourself, then why…


How wifi scanning has changed with the release of new versions of Android and how Google continues to limit developer opportunities

Hi there! In the Navigine team, we’ve been providing indoor and outdoor positioning mobile technologies that enable advanced indoor navigation and proximity solutions for eight years.

Today we want to tell you more about WiFi scanning on different versions of Android devices and the restrictions you could meet during the development process. In some of our previous articles, we mentioned a few important details of working with a WiFi scan and various restrictions concerning it, but now we decided to combine all this in one place and write a full article describing all the nuances.

Since restrictions and changes are…


How to use Android Gesture recognizers and handle view touch events correctly

Hi there! In the Navigine team, we’ve been providing indoor and outdoor positioning mobile technologies that enable advanced indoor navigation and proximity solutions for eight years.

Well, it’s time to talk about a very interesting topic. Today we want to immerse you into the world of gestures. We have already written in one of the previous articles about touch events, how to handle them correctly, and how the whole process is arranged. However, for a more professional approach, there is a more aesthetic solution. Of course, you guessed a long time ago that we are talking about gesture recognizers. …


Or simplified, writing your own TopSheetBehavior using androidx.* modules

Hi there! In the Navigine team, we’ve been providing indoor and outdoor positioning mobile technologies that enable advanced indoor navigation and proximity solutions for eight years.

In the previous article, we told you about the Bottom Sheet Behavior and how to animate the button on top of it. Today we want to tell you one interesting feature we implemented in our Navigine Android app which will make your UI more attractive. It is very much tied to the previous article. …


What each action mask means, empty pointers array and few words about the JNI & native parts

Hi there! In the Navigine team, we’ve been providing indoor and outdoor positioning mobile technologies that enable advanced indoor navigation and proximity solutions for eight years.

Recently, we have devoted a lot of time to working with graphics on mobile devices and handling gestures. Today’s article will be devoted to the processing of these gestures, errors that can be caught during this process and in the end, we will tell you how to move these gestures into native code, if you suddenly need this, because there are very few answers on the Internet about that. So let’s dive into it!

Motion Event Explanation


How we modified our Android application UI with Bottom Sheet Behavior and Button on top of it

Hi there! In the Navigine team, we’ve been providing indoor and outdoor positioning mobile technologies that enable advanced indoor navigation and proximity solutions for eight years.

Passed a few months after we published the redesigned version of our Android mobile application to the Play Market and we decided to tell you about the element calledBottomSheetBehavior and want to show you how to use it in the right way. And the last part of our article will be dedicated to the animating button on top of BottomSheetBehavior so they look like a single element. …

Elvina Sh

Marketing associate at Navigine.com — Integrated software platform for precise indoor and outdoor positioning.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store