Salesforce1 iBeacon Kiosk – Behind the Scenes

Out of the various demonstrations that we have created in the Internet of Customers series, the Kiosk demonstration contained the most moving parts.  This post outlines and explains each one of the parts.

The Experience
Within the video a series of roles interact with the Kiosk, namely a Visitor, Store Associate and Store Manager.

The following provides a quick, general flow of the Kiosk interactions shown in the video

  • Proximity to an iBeacon alerts a visitor to the existence of the Kiosk via an iOS app
  • Seamless login to Kiosk for that visitor is available via an iOS app, presenting a QR Code to the Kiosk or registration via the Kiosk interface with email
  • Kiosk responds to events based on RFID interactions with Table (like Burberry’s Store of the Future) and engages Visitor with rich product details, allowing Favorites to be selected and items placed into a “Basket” for purchase
  • Store Associate sees Visitor Profile and relevant offers based on Visitor and Kiosk interaction
  • Analytics collected for analysis of all interactions

Visitor Experience

Visitor Interacting with Kiosk Experience

Store Associate Experience


Reviewing the Technical Solution
Ok – let’s dive into the technology…

At a high level, communication occurs between the various devices via Web Sockets, orchestrated by a Node.js application running on Heroku. The Node.js application uses the nForce library to wrapper REST calls to Salesforce1.

Physical Devices

The Arduino and RFID reader card were placed into a plexiglass cube with a light to create a welcoming effect. By using white paper and flipping the Arduino to face away from the visitor, the tech was somewhat hidden.

Objects placed on the table (e.g. Wine / Coffee)

  • RFID tagged and tag codes stored as custom field in Product object in Salesforce

Software – Native Application & Web Applications

  • Native brand app on mobile (custom iOS7 app that uses libraries for Beacon proximity)
  • Store Associate web application that uses Response Design
    • Websockets via & JQuery used for communication/ display of data
  • Kiosk web app shown as full screen
    • Websockets via & JQuery used for communication/ display of data – using Javascript web camera motion detection to welcome them with “login” options when someone nears the Kiosk. If someone has a QR to present to the Kiosk, it uses jquery.webcamqrcode for QR Code detection to “log” the visitor in by passing a unique identifier back to Salesforce via the Node.js application.

Platform Components

  • Custom Objects in Kiosk application
    • Lead & Product (OOTB objects)
    • Store
    • Visit
    • VisitProductAssociation

  • Heroku
  • Native reporting capabilities on top of the custom objects

From an actual code standpoint with the system, the general approach from our prior post using RFID was largely reused as the core.  It was then adjusted to work with the custom objects specific to the Kiosk application.

  • Mao32Colombo
    July 9, 2015

    Hi it could be possible looking for a more detailed material for your solution?
    I would like take in account your example for a solution of proximity marketing…

Leave a comment