Indoor location in browsers - explained

Blue Dot is, without doubt, the panacea of indoor and outdoor positioning and the interface users find most helpful in navigating venues such as shopping malls, airports, hospitals, and workplaces. 

Many of our customers come to us asking, "Can I use an indoor location in a browser/website, so my users don't have to install an app?". This is a very compelling question, as installing an app can certainly be a friction point in adoption. In this blog, we will explore the art of the possible in a browser regarding indoor location across the market.

Can I show an accurate Blue Dot in a browser?

While there are many online articles about how you can get location services in a browser, the reality is that they all rely on GPS. GPS has been in browsers for years and is widely available today. For example, Mozilla's "Geolocation API" uses AGPS/GPS under the hood. If you go to maps.google.com on your browser - not the app, you will be able to access the GPS location after you approve the permission to access your location data. You will also note it is clunkier than the mobile app experience as it's a website, not a native mobile app.

An example of a user blocking the location permission request.

How about my hybrid or progressive app?

Not all apps are created equal! Some are hybrid frameworks (such as React Native, Ionic*, and Mono) that compile your code into native apps. In contrast, some others are purely websites (also known as progressive web apps, including Angular, ReactJS, and Ionic*) embedded into an app.

Hybrid apps (which compile into a native app) support native SDKs (such as Pointr Mobile SDK), while progressive web apps (which do not compile and remain as a website) do NOT. Therefore, hybrid apps can benefit from an accurate indoor location (using Pointr Mobile SDKs), whilst progressive web apps can only display AGPS/GPS location (which is possible via Pointr Web SDK).

* Note, Ionic supports both hybrid and progressive apps. This depends on your compilation configuration.

How does AGPS work? Can I use WiFi or other location information sources?

Geolocation API mainly relies on AGPS (Assisted GPS), the same as GPS you use daily in any application that uses outdoor location services, such as Google Maps, Apple Maps, or Uber. Under the hood, it also uses cellular data and WiFi signals to aid its positioning functionality. However, these technologies don't work indoors, as they need to be more accurate to meet the standards for indoor positioning.

To dive a bit deeper, let's look at some information sources that a web Geolocation API can use to enable a blue dot for your web browsers; this includes GPS, WiFi information, cellular tower, and IP Geolocation. 

GPS: 

For your devices to receive GPS information, first, you must be "outdoors" to receive clear signals from satellites. And we all know that GPS signals are notoriously unreliable in indoor environments as buildings, walls, ceilings, and furniture would block them. Though GPS information can be cached on your smartphones, it only allows a quicker location fix, but it does not affect accuracy in indoor environments.

WiFi information:

Major geolocation services providers such as the Google Maps Platform and Apple's Core Location continuously gather a considerable amount of location data from public and private WiFi endpoints and network identifiers (SSIDs). 

For example, every time you use a GPS-based map service on your phone, it collects the location data from the nearby WiFi/Bluetooth signals and stores them alongside your GPS position at that time.

The WiFi information here is only used to augment when you have GPS and cellular tower signals for AGPS; therefore, it's a different technique to indoor positioning using WiFi fingerprinting.

What is fingerprinting?

Fingerprinting is one of the most common techniques in use today. Companies like Apple and Google use Wi-Fi fingerprinting to provide indoor positioning with 15-20 meters accuracy. No complex algorithms are required; if enough beacons are calibrated correctly, then the algorithm only needs to look up multiple signal strengths and use those to triangulate a device's location. However, fingerprinting requires regular maintenance (1-2 months) to keep its location data up-to-date and accurate, making it more challenging to scale.

 

Cellular data:

To leverage cellular data to aid positioning, it takes at least 3 cellular towers working together to calculate the approximate location of a user's device using cell tower ID triangulation. The average accuracy for this method is around (+/- 500m or so) estimation of distance from the tower; thus, it can be challenging if you are looking for more accurate indoor positioning systems for your buildings.

Image - ukg.com 

IP Geolocation:

As the name suggests, a user's location is detected based on the public IP address of their device, and it can only locate a device to the accuracy of the level of a country, city, or region. Furthermore, if a user uses VPN, the IP address could be pinned wherever halfway around the planet.

Image - David Walsh Blog

An important thing to note is that both WiFi and cellular in the AGPS context are mostly used to get a quicker GPS fix rather than improve the location accuracy.

First, the orbital trajectory information (called ephemeris) of the GPS satellites can be transmitted over Cellular/WiFi, so the device knows which satellites are expected to be overhead. Secondly, knowing the rough user location (it doesn't have to be precise, it can be on a city level) allows the GPS software to narrow down the list of satellites it tries to lock on to. 

AGPS usually converges on just the GPS location after sufficient time has passed, so it's rare for Cellular/WiFi to chip in and aid the positioning for AGPS. Thus, AGPS still heavily relies on GPS for positioning, while cellular data and WiFi information would assist in limited ways, making AGPS only suitable for outdoor positioning use cases.

Summing up our take on web-based blue dot using Geolocation API

Now we've answered some of the questions you might have for the web-based blue dot. We established that the web-based blue dot relying on Geolocation API could be inaccurate, unreliable, and easily stop working due to browser limitations.

Here's a table summarizing the differences between Mobile- and Web-based location solutions to help you decide on which solution is more suitable for your needs:

 

Mobile-based location

with Pointr Mobile SDK

Web-based location

with Geolocation API

Location accuracy

< 1-3 meters, real-time

(accurate patented level detection)

5-10 meters, delayed 

(GPS accuracy with no level detection)

Scalability

Machine-learning-based algorithms adapt to layout changes 100%

Require on-site survey and data collection every time layout change

Consistency

Work in offline mode

Need internet access

Hardware requirement

Hardware agnostic

Compatible Web browsers with internet access

Time to deploy

Hours

Hours

Upkeep

None

Every 1 - 2 months

Setup cost

$$

$

User experiences

Responsive, interactive, and fast to load maps & wayfinding

Clicky web browsers with potential responsive issues & long process

Limitation

Need an App to initiate the SDK

(Pointr Mobile SDK supports Native/Hybrid APPs)

Location permission requests can be blocked - insecure Web pages are blocked from all major Web browsers.

Future-proof

Officially supported by both Apple and Google

Adopted by all major IoT technology players, including smart lighting and WiFi companies

Geolocation API provided by Mozilla that some vendors use no longer supports uploading new location information to Mozilla, and they are not working well with iOS devices in particular

 

Though there's no accurate web-based indoor location on the market at this stage, this may change once browsers allow Bluetooth access. Pointr will be the first to offer this capability if it is widely adopted.

At Pointr, our easy-to-integrate, highly customizable SDKs offer both dynamic wayfinding (with blue dot) for Mobile SDK and static wayfinding (without blue dot) for Web SDK. To learn more about the differences between our Mobile and Web SDK and what each provides, read "Difference between the Pointr Mobile SDK and the Pointr Web SDK" Discover which solution best fits your project requirements.

You might also be interested in:

Co-authors

ege-round Ege Akpinar, CEO, Pointr
les Les Blythe, Technical Content Writer, Pointr
eva Eva Cheng, Product Marketing Manager, Pointr

 

Contributors

can-round Can Tunca, Senior R&D Manager, Pointr