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.
YOU MAY ALSO LIKE:
- Agile PMO: The PMO has the power to support your organisation's revolution. (in London on 3rd April 2017)
- Greg Young's CQRS, Domain Events, Event Sourcing and how to apply DDD (in London on 24th - 26th April 2017)
- Agile Testers as Educators with Janet Gregory! (in London on 6th June 2017)
- Agile Testing & BDD eXchange 2017 (in London on 9th - 10th 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.