TouchTunes: Integrating Pilgrim SDK
Guest Post: Giovanni Curinga, VP Consumer Software Development, TouchTunes
TouchTunes is the largest in-venue interactive music platform in North America, with a presence in more than 65,000 venues. We are constantly looking for ways to attract more users and get them to play music on TouchTunes jukeboxes, and our mobile app is a major component in our strategy to accomplish this goal.
While we’re in many locations, users don’t always notice our jukeboxes; even if they do, patrons may need to be reminded that they have our app, which enables control of the jukebox from the palm of their hand. To address this challenge, we developed a feature for our app called Proximity, which detects when the user is in one of the many bars or restaurants with our jukebox, and sends them a personalized push notification that encourages them to play a song.
Back in September 2016, while looking for ways to improve Proximity’s performance, TouchTunes started exploring using Foursquare’s services. As an early Pilgrim SDK launch partner in March 2017, we were able to quickly integrate this technology into our mobile app, which enabled us to start messaging many more users and drive more song plays across our fleet.
Since integrating Pilgrim, TouchTunes has been able to send relevant, location-triggered push notifications to many more patrons than was previously possible using other technologies. With a 10% open rate, and about half of those open notifications leading to a paid play, users are clearly engaged.
Let’s take a look into how we integrated Pilgrim into our mobile app.
Pilgrim SDK and Proximity
Pilgrim SDK lives in both iOS and Android versions of the TouchTunes app as part of Proximity. The technology detects when a user is dwelling at one of our venues, and sends them a message to encourage them to play a song on the venue’s jukebox.
Proximity uses multiple services to determine whether our user is at a TouchTunes venue, and Pilgrim is one of those services (albeit the only one that applies machine learning). If any one of those services detects that the user is in a TouchTunes venue, Proximity performs various checks, then picks an appropriate message to send to them.
The app gets information about the venue the user is in (what music plays there, the status of the song queue on the jukebox, etc). It scans the user’s play history and their favorites, then it tries to find matches between that and what plays in the venue. It also looks at new releases to check if there’s a new song or artist that might interest the user.
The TouchTunes app also makes sure that the user wasn’t messaged recently and that they have granted TouchTunes permission to send a message in the first place. When the app schedules the push to be triggered, it also checks to make sure the user is still dwelling at the venue.
Foursquare made it very easy to integrate Pilgrim as one of our Proximity services. Thanks to the delegate methods that get triggered when the user arrives at a particular venue, we can easily obtain and parse all the information about that arrival event.
Before and After
Prior to Pilgrim, Proximity used beacons to detect users at venues. When a TouchTunes app user — with Bluetooth enabled — would be near or at a venue with such beacon, the app would push a contextual message. Beacons are quite accurate but on a widespread basis face inherent issues; one challenge is that they rely on batteries which, for a network as large as ours, are not regularly replaced or maintained.
Over the past few months, the TouchTunes app scheduled more than 205k pushes based on Pilgrim, compared to less than 17k pushes based on beacons, making it the clear winner at scale.
Bottom line: TouchTunes generated more than 10k plays from Foursquare-based pushes, versus only 896 plays from beacons. Pilgrim SDK clearly offers a distinct advantage.
The Integration Process
We have found the integration process to be quite straightforward, in part due to the following:
● Pilgrim sample app:
This allows developers to see a working implementation, and study, in real-time, using several devices, how the SDK behaves and “learns” the user’s patterns, in order to provide increasingly accurate results.
● Integration with dependency managers:
Pilgrim SDK is distributed with Gradle, a dependency manager for Android projects, and Carthage, for iOS. This reduces the amount of time spent configuring and integrating the library into each project.
● Pilgrim power:
Once Pilgrim was integrated into the TouchTunes app, our developers were impressed by the real power of its location intelligence, as they started to analyze all the information they were receiving from every arrival and departure event. This allowed our development team to quickly iterate and tweak their usage of the SDK for better results.
We have found that adding Pilgrim SDK improved the benefits of our Proximity feature in a very significant way. It was not only easy to integrate, but the results were impressive: more engaged users, more song plays, and increased revenue.
— — — —