A significant advantage of mobile apps is its ability to leverage the unique features available in smartphones, and unlock functionality not possible otherwise. A key feature is the smartphone’s geolocation capabilities, which helps develop location-based apps and takes interaction with the customer to a whole new level.
Uses of Geolocation Apps
Geolocation-based apps make it very easy to track the behavior of any tangible object, be it a person, animal, or thing, and offer real-time proximity based results to users. It also offers an accurate location guide with the right directions to reach a destination.
Several app based solutions now exist to find friends and contacts in the vicinity, search for movies, stores, eateries, and other establishments near the person, get information about weather and traffic in the area, hail a taxi, track the running of a coach or train, track livestock, and to do more. Advertisers and marketers leverage geolocation capabilities embedded in their customer apps, to reach out to customers in a much accurate way than before and provide relevant location-specific offers. Geosocial apps enable users to share content based on their locations.
However, there is scope for much more, Geolocation technology opens the doors for many new startup ideas and innovations, with the bounds limited only by imagination.
Consider the case of a consumer threat and risk notification app warning users of potential threats or risks in their area. Such an app would be of immense use to any security conscious individual, but especially for children and youth, senior citizens, and other vulnerable segments. The range of notifications could include instances of recent crimes recorded, a list of registered offenders lurking in the vicinity, weather alerts, alerts of roadblocks or traffic blocks, a list of hotspots, intimation of any planned demonstrations, and more. Such an app could also enable users to connect with emergency services such as police, ambulance, hospitals, and other services easily, in the event of a threat or an incident.
How Do Geolocation Apps Work?
A geolocation app leverages the Geo Tag or GPS location of a smartphone to create a location-based solution. Running geolocation-based apps requires location services and maps in the smartphone, and permission to access the same.
All modern smartphones come embedded with Global Positioning System chips, which capture the location and timings that satellites send from space. A smartphone requires data from at least four different satellites to determine location with accuracy within sixty feet. To improve the accuracy, assisted GPS combines GPS and Cell ID tools. The mobile networks determine the identity of the cell tower used by the smartphone and comparing it with the base-stations database, to narrow down the location to a specific area.
An alternative method to leverage geolocation capabilities is by using wi-fi services. Wi-Fi determines the position of the user the same way the Cell ID does, but with a higher level of accuracy. The RSSI (Receive a Signal Strength Indication) tracks location based on the strength of the signal from the phone within a Wi-Fi point’s database. The wi-fi services may also use wireless fingerprints or coordinates of some frequently visited locations already existing in the Wi-Fi networks. These methods identify the user’s position accurately, up to two meters.
Having pinpointed the location, services such as Google Maps geolocation or Map Kit Framework enable placing the user or object on a real map.
The Technology Behind Geolocation Based Apps
An app is only as robust as its technological backbone. Leveraging the smartphone’s geolocation capabilities is one thing, and leveraging it in a sound and robust app architecture is quite another.
A native architecture works best for geolocation app, with Java (for Android), or SWIFT 3.0 (for iOS). SQLite or CoreData are good databases. While there are several options possible, a good example of robust tech architecture for a geolocation app uses Node.js as the backend, with AngularJS as the front end, and LoopBack framework.
Making geoSpatial queries requires a 2D index, for simple longitude and latitude coordinates, on a two-dimensional plane. However, the earth is roughly a sphere, and representing the location accurately on a map requires a 2D sphere index, to support queries of any geometries on an Earth-like sphere. The data may be stored as GeoJSON and legacy coordinate pairs of longitude and latitude.
GeoJSON, a JSON- based encoding format, supports most relevant geographic data structure, including point, multipoint, LineString, MultiLineString, MultiPolygon and Geometry. The latitude and longitude, down to the minutes and seconds, is represented as a point, making it easy to use by apps. Likewise, it is possible to create MultiPoint, MultiLineString, Polygon, MultiPolygon, and even mix all these in a single document, to create dynamic location-based apps which show the real-time moving location of people or things!
An alternative method, of Geo Haystack, is mainly used to query on a very small area, and not very popular with app developers.
The App Design
Just as the architecture, the design of the app is also critical for success. In the example of the consumer threat and risk notification app, a well-designed app would offer four key components:
- Maps, including heat maps of people,
- A system of issuing alerts
- Reports include feature to report an incident, and
- Security, including the ability to contact emergency service, security serviceor emergency contact
The best apps solve a real need using the right technology, backed by a robust architecture and is designed well.