The purpose of this post is to tell the story of the new Spotify web player. How and why it came to be. We will focus on what the steps were that led to a complete rewrite and how the lessons learned influenced the experience and the tech decisions of the new web player for desktop browsers.
Our partners use cookies to personalize your experience, to show you ads based on your interests, and for measurement and analytics purposes. By using our website and our services, you agree to our use of cookies as described in our Cookie Policy. Spotify updated its interface last week, and people are upset. A new update has reorganized the mobile app’s button layout, pushing the 'Repeat' and 'Go to queue' buttons into a submenu. Spotify is bolstering its mobile app on iOS with a slick new widget, plus Podcasts on the platform are about to get a lot more musical in the best way possible. The widget is pretty straightforward. There are two widget sizes — small and medium. Your app should compare the state parameter that it received in the redirection URI with the state parameter it originally provided to Spotify in the authorization URI. If there is a mismatch then your app should reject the request and stop the authentication flow.
Using the Web to implement Spotify applications at Spotify
Spotify has been using web technologies for a long time. Before tools like Electron became a reality for building hybrid applications, Spotify started using Chromium Embedded Framework (CEF) in 2011 to embed web views on the desktop application. This made it easier to build and iterate on different parts of the application without having to perform full releases. It was also the foundation used to integrate a myriad of third party apps built using web technologies, what we called Spotify Apps.
Spotify’s web player was released in 2012 and complemented the experience on desktop devices. It made it possible for users to play music from Spotify as quickly as possible, without needing to download and install any application.
The architecture of the web player followed the same approach as the desktop application. The views were isolated from each other using iframes, and this allowed the teams to iterate on and release them without interfering with the rest of the application.
In addition, the code for the views was identical on both desktop and web player. Thus, the team working on the Playlist view would implement a new feature, and make it available on the desktop application and the web player, without having to care about the underlying infrastructure. Code to get spotify premium free.
The architecture of the web player was ideal for consistency between platforms, and fit how the company was organized in feature teams. It also had its drawbacks.
Having iframes for every feature and having that feature load their own JS and CSS might have worked well for the desktop application, which the user downloads bundled with all the resources that it needs. The web player, on the other hand, had to download many resources every time the user navigated between views, which resulted in long load times, which impacted user experience.
Considering a new Web Player
Over the years, we got better at prioritizing a core set of features. With the rise of smartphones, we learned how to strive for removing clutter, properly A/B test features and understand better what was really needed to deliver a good user experience.
In the summer of 2016 we decided to improve the web player. We realized that the architecture of isolated views was difficult to maintain and was preventing us from building a better product. We wanted to go back to basics and support a set of core features (eg playback, library management, and search) and work our way from there.
We found inspiration in the Spotify application for TV and video consoles. This application is a web-based Single Page Application, and uses the Spotify Web API that combines the access to lots micro services to create a unified interface to manipulate Spotify data. It represented a good example of a light client being built by a single team leveraging existing libraries at Spotify.
We researched the feasibility of upgrading the web player, rewriting view by view. In parallel, we started working on a prototype following a similar architecture to the TV application.
After considering the two approaches, we decided on the latter.
Usually as a company we try to improve existing systems iteratively instead of completely replacing systems with new ones. There were a few key points behind the decision to rewrite the new web player from scratch versus improving the existing one:
- The system to deliver the code for the views, that worked in isolation from each other, wasn’t used by the desktop application anymore and it was too complex for the web player use case.
- The web player was based on lots of libraries and frameworks that were quite outdated. Giving every team an isolated environment to run their code also resulted in them choosing different client-side stacks to build their views.
- The web player was built by multiple teams with over 40 developers but now would be maintained by a dedicated team of 5 developers.
- It was very slow to iterate upon and experiment, especially when it came to making changes across multiple views like updating the visual style.
The birth of a new Web Player
![App App](/uploads/1/3/4/1/134148856/344019703.png)
We decided not to repeat the mistakes of the past, so before deciding the feature set that the new web player should have, we ran A/B tests on the existing web player. For some users we removed certain features and we measured their impact in user engagement. After getting the results we decided on the bare minimum feature set that we would feel comfortable with releasing and that our users would enjoy.
We built a Minimum Viable Product (MVP) in a few weeks using our new infrastructure based on Spotify’s Web API. During the following months, we carried out extensive user testing and improved the prototype based on the gathered feedback. Once we felt comfortable, we released it to a small percentage of users side-by-side with the existing web player, and checked the performance amongst them closely.
Our hypothesis was proven. The simpler and faster web player outperformed the old web player in all key metrics.
The tech architecture
The new Web Player is in line with the overall Spotify look and feel and is built on HTML5 standards. It drops Flash in favor of Encrypted Media Extensions (EME) for music playback, which is supported natively by most modern browsers. It is fast, even on spotty connections, responsive and we have focused on making it enjoyable to use.
The architecture is based on React + Redux, which has made it easier for us to share components between the views, to have a clear data flow and to improve debuggability and testability. Although the components are not shared with other Spotify clients, we see a trend in other Spotify web development teams who are also embracing a similar approach to building web experiences.
Making the decision to embrace well-known open-source solutions and avoiding using Spotify custom libraries allowed us to onboard new developers quickly. This has led to numerous contributions from web developers from all over the company.
Spotify's Newest Desktop Apps
Having a simpler architecture allowed us to experiment faster and add features that didn’t exist in the old Web Player, like Daily Mixes, video and audio podcasts, and Connect. Free spotify alternative pc. On top of that, we were also able to build fast CI/CD pipelines. Now with every commit the latest version of the web player is reaching our users immediately. Finally, we have a web player leveraging today’s technologies. As an example, we added support for Progressive Web App on Chrome OS, so the web player is installed and run as a regular desktop application.
We are excited to continue building a good product for our users on the web.
Download songs in spotify premium. The Web Player team.
Yesterday, Spotify introduced a simplified, radio-only version of its app for U.S. users called Spotify Stations. And somewhere, Pandora Radio executives probably let out a beleaguered groan.
Stations essentially does what Pandora does, minus the content clutter of Spotify’s main app. Instead of scrolling through an endless list of artists, albums, podcasts, AI-curated recommendations, and playlists, it zeroes in on Spotify’s radio feature. And in so doing, kills any real incentive I have for using Pandora in the first place.
I was mildly skeptical when I downloaded Stations—did I really need two Spotify apps?—but after using it for a few hours, I can see the appeal. The colors are bright, you can easily favorite songs that get added to a personalized playlist, as well as browse through Spotify’s myriad of genre and mood playlists. Anecdotally, I’ve become dead tired of having to curate my own Spotify playlists and because I’m a generous soul who let my ex mooch off my premium Spotify account for years, Discover Weekly and other AI options have always been borked. (How am I still getting hair metal after all this time?) All this led me to consider using Pandora to discover new artists, but I was hesitant because who wants to sign up for yet another service?
That’s why spinning off Stations into a separate app is a savvy move. I discovered three new artists while getting ready to commute based on my Mitski station (sad indie rock girls for the win), and plan to try out its workout station on my next run. Truthfully, I knew that “Stations” was an option, but I’d never given it a fair shot before because it didn’t stand out within Spotify’s crowded app. https://nowclever.weebly.com/blog/get-spotify-premium-free-apk. Stations’ design is clean and clear.
Spotify Free Music App
It’s not too far off the mark to assume Spotify is gunning for Pandora’s user base. Internet radio is how Pandora’s made its bread and butter since launching in 2000—but free Spotify offers more options than free Pandora. This would be an easy way to hook Pandora users and lure them away with Spotify’s better social options (did you know you can scan songs for sharing??), and on-demand music streaming capabilities via its web player and desktop app. It doesn’t help that Pandora’s user growth isn’t in the best shape. The service had about 72.3 million active users in Q1 2018, and that number further declined in Q1 2019 to 66 million—that’s an 8.7 percent drop year-over-year. Meanwhile, Spotify announced in Q1 that it had hit 200 million monthly active users. Womp womp.
Spotify's Newest Desktop App Downloads
But the most important thing is the music. If you’re tired of all the visual hubbub and just don’t want to think about what to listen to, Stations works.