iOS Architecture Patterns for Large-Scale Development, part 1: Modular architecture
Aug 26, 2020 • 7 min read
Aug 26, 2020 • 7 min read
Every modern smartphone has a Bluetooth transceiver that supports BLE (Bluetooth Low Energy) protocol, and has built-in, high-accuracy location services. This means that a user’s mobile device can be tracked, enabling retailers to, for example, broadcast a message when said user comes near their store. This capability allows retailers to engage their customers in a personal and meaningful way, while they are in the physical proximity to make a purchase.
However, GPS-based geolocation has certain limitations:
Creating geofences and using beacons to transmit messages can help resolve these issues.
A geofence is a sophisticated method for becoming aware that a user is near a location of interest. By creating a geofence, retailers are able to take advantage of WIFI and Cell positioning, without having to depend on GPS-based geolocation. Together with beacons, the geofence can serve to create a tailored marketing communication eco-system that drives in-store engagement and sales
A geofence is typically represented by a virtual circle drawn around a point of interest on a map. Whereas, a smartphone’s OS combines geolocation information from several different sources: Wifi, Cells, and GPS. When a user has location services turned on, their device automatically activates the GPS when they come near a geofence zone. This enables the device to know whether a user has crossed the fence or is just in the process of crossing it.
In the case of a retail store the point of interest is the main entrance. When a user comes into range, three events can be generated:
These events trigger certain actions in the retailer’s mobile app.
Likewise beacons work in the same manner via Bluetooth. Every BLE beacon has a unique identifier (UID) that it transmits to a user’s smartphone. The illustration below shows how a Bluetooth low energy beacon interacts with a retailer’s mobile app on a customer’s device.
So, when a user is near the store, the geofence helps to entice them to enter the store with an incentive, promotion or otherwise. While in the store, beacons take over the interaction. Together, the geofence and beacons create a meaningful in-store experience for customers.
The following use case illustrates how beacons and a geofence marketing strategy can bring customers into a store, suggest purchases, and provide personal interactions, including Goodbye and Thank You messages.
Let’s take, for example, a department store located in Cisco, California. The store is 10000 sq ft (929 ). A geofence has been created for this location, with set entry and exit triggers. Seven beacon devices are situated inside, within different departments. The geofence and beacon devices are configured to interact with a retailer’s mobile application installed on the customer’s device. There are four basic customer interactions monitored by the beacons within the geofence:
Below is the list of possible beacon and geofence generated events the user can experience both inside and outside the store:
Now let’s look at this from the customer’s point of view. Imagine that you are walking by a grocery store and your mobile device reminds you to buy food for an upcoming holiday picnic. While you are in the store, it prompts you with offers and deals from the nearest department. The app also has helpful features like inventory notes, a “where to find it” shop assistant, and a mobile wallet. Suddenly, not only did you remember to do your groceries, you also were able to do them quickly and efficiently. Not to mention that you managed to save money thanks to personalized in-store offers available only via the app.
Now that we understand how the geofencing and beacon system should perform from a user’s perspective, let’s delve into the backend machinery that makes it happen:
Before we begin, it’s important to keep in mind the following:
Step one is to design a server application capable of storing the configuration of and managing all geofences and beacons in the store. The second step is to ensure the appropriate services for delivering messages to both Android and iOS platforms have been chosen. The two most common APIs for this are APNS (Apple Push Notification Services) and FCM (Firebase Cloud Messaging).
The main system components are:
The diagram below illustrates how the system components interact:
As shown above, the mobile application communicates with the server application when it detects a beacon; registering events from the geofence. In turn, the server application manages data for the beacons and geofence zones, and executes the business logic related to them, such as marketing campaigns, promo messages, etc.
The following diagram shows how the system works in greater detail. The specific use case here is:
Similarly, whatever event is configured can trigger a different action within the mobile app, depending on the use case linked to the beacon and geofence infrastructure.
Beacons and geofencing are powerful tools for re-engaging customer loyalty and driving sales with in-store personalization and customization. Depending on the vision of a retailer, geofence marketing can be implemented to entice any number of customer interactions including personalized offers, flash sales, and other promotional campaigns.
Grid Dynamics has recently helped a major U.S. retailer implement a geofence and beacon program. It was the basis of a successful holiday promotion campaign that significantly increased traffic in the company’s “brick and mortar” stores. While client confidentiality keeps us from revealing this particular system’s results, a recent GeoMarketing article states Bluetooth low energy beacon systems can produce up to 5X return on investment.
Please contact Grid Dynamics to speak with an expert in beacon and geofence system design and implementation.