Please log in to watch this conference skillscast.
If you’ve ever glanced at Spotify’s release notes, you’ll find them quite underwhelming. No announcements of super awesome features, some random ramblings that may or may not be true. Of course, the team is always rolling out new features and their UI changes from day to day. And, it’s all personalised - the UI presents what’s relevant to you and some of you might even be lucky enough to receive new features before Spotify rolls it out to everyone.
Spotify uses two major backend components to control this. First, we have a web-based ab testing system that they can use to rollout features to random subsets of users, grouped by region, as well as targeting different platforms (Android, iOS, Desktop). A developer simply adds a flag to the system, and then can use the flag in the code to exclude or include different code paths. Second, we have a sophisticated UI content framework that accepts JSON data to render certain pages throughout the app with the latest and most relevant data for that user. The framework not only controls content, but can shape the layout of the page. Multiple backends can provide the content and the clients interpret the data and render it in a consistent way natively.
The Call for Papers is now open for DroidCon 2017! Submit your talk for the chance to join a stellar line-up of experts on stage. Find out more.
YOU MAY ALSO LIKE:
- Fast Track to RESTful Microservices (in London on 24th - 26th May 2017)
- Alberto Brandolini's DDD Modelling Workshop (in London on 26th - 28th June 2017)
- µCon 2017: The Microservices Conference (in London on 6th - 7th November 2017)
- Serverless Architecture with Azure Functions with Christos Matskas! (in London on 29th November 2017)
Breaking Spotify’s release cycle by using the backend to drive the UI and feature releases
Chris is an Android Engineer working on the radio product for Spotify. He is based out of the NYC office and is originally from Australia.