WayfinderLite Mobile SDK is a lightweight native SDK with a simple interface which exposes APIs to be consumed by an android or iOS application in order to get a complete data set of Points of Interest (POIs) for a campus. It uses location detection services to locate users and deliver the nearest POI callbacks to a user based on the POI co-ordinates. This provides the user position, the POI position and the distance between.
Business Logic
-
As users initialize WayfinderLite SDK, it authenticates the user with the given API key and downloads the associated data.
-
It starts the location detection services which try to locate the user inside the campus.
-
When the system locates the user, it gets the location updates which are used to calculate the distance between the user’s current location and POI’s XY coordinates.
-
Once the distance between the POI and user’s current location is calculated, the SDK sends a list in the form of a JSON object to the parent application.
-
Another check is carried out on the proximity distance from the beacon to send the POIs list only when the user is within the range.
Dependencies
The WayfinderLite solution has major dependencies on the following:
-
Fingerprinting the floors - This involves using a digital floor plan of the building and using the map creator application to collect geomagnetic data and upload it to servers. The fingerprinting process provides the basis for indoor positioning and helps to identify the walkable areas on a floor.
-
Mounting beacons on the floor walls - To accurately detect the floors, the SDK processes the bluetooth signal from BLE (Bluetooth Low Energy) devices called beacons. These need to be positioned accurately on each floor.
-
IndoorAtlas - Providing the fingerprinting is complete and beacons are in place, the solution relays the inputs to the IndoorAtlas system. The SDK relies on IndoorAtlas to receive an updated GPS location of a user inside a building/premise. IndoorAtlas uses the fingerprints, beacons and device hardware (Gyroscope, Magnetometer & Barometer) to detect the current floor & location of the user. For more information about how IndoorAtlas positioning works, refer to: /hc/en-gb/articles/7330834620957-Wayfinding
APIs
WayfinderLite SDK uses the following API’s:
-
Authentication API - The API authenticates the user to check if it's a valid user across the system using the OAuth process.
-
POI Data API - The API sends the list of all the POIs with its associated floors of a campus.
Considerations
Due to the number of variables it is extremely difficult to achieve 100% accuracy for the location and distance. The following can impact the location and distance, this list is not exhaustive and there may be other factors which affect the accuracy:
IndoorAtlas
-
IndoorAtlas floor detection is not 100% accurate every time. The correctness of a floor lies somewhere between 70% - 80%.
Hardware
-
The hardware may be slow due to age or processing power as the computations are often performed on the devices themselves.
-
The hardware’s signal strength may be weak.
-
The position and speed of the user’s device.
-
The user’s device may not contain a barometer or gyroscope.
Environment
-
There may be objects in between the beacon and the user.
-
Concrete walls, metal doors and filing cabinets can interfere with signals.
-
Other devices that may disrupt the Bluetooth signal.