Application updates are important. So are users

Daniel Vershinin
7 min readApr 1, 2015

Software updates are a crucial part of software development. Developers add new features, fix bugs and small issues, improve performance and ensure stability. This is understandable — developers want to create best experience for their customers.

There are, basically, two types of software updates that can happen during the software development cycle. Usually updates don’t break existing functionality of the application and preserve its integrity. Users are happy with updates like these. Everything keeps working like before, but, possibly, faster and smoother. Consumers like small enhancements and bug fixes, especially when they, as a community, ask the developer to make them happen.

Software development is very dynamic. Faster and more reliable ways of dealing with big data are discovered every day. Sometimes developers have to use new technologies in the application to keep pace with competitors. Everybody is satisfied if it is possible to integrate a new technology into the application without breaking anything. However there is often collateral damage when there is no way to perform smoother integration.

This is when beta-updates come in handy. When developers append beta to a version of the application, they usually tell users that, “this version is experimental, may not be stable, may crash, may cause your data to be lost, so be careful about using it”.

Users may choose to use beta-versions if they like to live in a dangerous environment; live on the edge. Users that just want a stable experience and prefer not to risk the application failing always stick with stable versions of software.

Some companies, like Valve, allow their users to participate in beta-testing of new Steam versions. Everybody can opt-in beta updates, and the option is available in Steam preferences. Other developers let users download beta-versions of their software for free, even if the release version is intended to be paid in future.

No companies force you to use a beta-version of their software without letting you know about its development status and possible bugs and issues you might encounter while using it.

Almost no companies.

Spotify thinks different

Spotify managed to create a gorgeous application for OS X. It had everything a music fan needs in a desktop player. Playlists, lyrics, suggestions, collaborative listening — all these features were available to Spotify users thanks to Spotify Applicaitons. They were created by 3rd-party developers and needed to be pre-approved by Spotify to get into the application. Spotify Apps allowed to tremendously improve Spotify experience.

Despite the introduction of the infamous dark alien user interface, Spotify, prior to the 1.0.x release, was loved by the vast majority of its users. It was stable. Yes, it wasn’t perfect, and users constantly reported bugs and issues on Spotify Community Forums. Yet the application was capable of everything that was advertised.

Then something changed. Everything started when they discontinued their Spotify Apps API by silently posting the following message on their web-site for developers:

As Spotify evolves and priorities change, we sometimes have to remove APIs from active development and shift focus to the relevant platforms. With the new APIs and SDKs now available we are phasing out Spotify Apps support from the desktop client. In the upcoming version you will no longer be able to run third-party applications within the desktop client. This means the App Finder and apps inside the desktop client will no longer be available and we are terminating our Application Distribution Agreement.

That was disappointing for everybody who heavily relied on Spotify Apps API to make great web-services and for almost every user of Spotify Apps. Their message also contained a very interesting note about the future of the desktop client:

The update will gradually roll out from today, starting with a smaller percentage of new and existing users, with the majority of our existing users receiving the update early in 2015.

Spotify, indeed, started updating their desktop application for OS X a few months ago. They started unveiling the beta version to randomly selected existing users. There were no public messages or notices about the upcoming update, except the aforementioned one on the web-site for Spotify Platform developers. Could customers potentially know about that message or even about that web-site for developers? The answer is clear.

And this day has come. A couple of randomly selected existing users launched their Spotify application and discovered that many features are gone. Some of them are gone forever. Spotify Apps, friends feed, playlist search and filtering have been removed from the client. There was not any alert in the upper part of the Spotify client window asking users whether they want to participate or not. They did not include a checkbox in Spotify Preferences to opt-out beta-testing. Many users started experiencing crashes, some of them couldn’t even listen to music using Spotify. These users had to face the harsh reality of becoming beta-testers for Spotify developers against their will.

This escalated way too quickly. The referenced thread on Spotify Community Forums contains a lot of negative comments regarding the sudden update. It truly did come like a storm:

Wow. What were they thinking? You can’t force an update that removes features with the unspecified intention of adding them later.

Furthermore, Spotify Premium users received the same update and couldn’t rollback to the previous version, because it forces itself to update to the newest beta:

We are confused. We are paying customers… Can you explain to your customers why a NEW version would REMOVE features? Why would those working to improve the Spotify experience release an update that frustrates the end users?

Spotify started silently rolling out the new update without even letting their customers to downgrade to a previously stable and full-featured client. Many customers started complaining about the missing features. Spotify community managers always replied that the feature will be in one of the next updates. Even simple and so commonly used features like Ctrl+F search weren’t added to the new update.

The feature will be added soon, but there isn’t any official release date yet.

Users were more than frustrated by two things. The first thing is, they are paying for the product which is no longer reliable, no longer stable and doesn’t contain many of the features that it contained before. The second thing is, there wasn’t any official response from the Spotify developers themselves. Only Spotify community managers were there to provide users and customers with some relevant information. Yet they didn’t know or didn’t want to tell exactly when certain features are going to be added back to the client.

Development is better than anything else

After spending some time thinking about why removing so many features from the application might be worth it, it becomes clear that there can only be one reason — Spotify has decided to rewrite the OS X application.

Indeed, if you check the Spotify.app bundle contents prior to the 1.0.x release, you will find out that there were a lot of resources that were used to build the user interface using OS X native libraries. After the 1.0.x, they use HTML, CSS, and JavaScript to build the whole user interface of the application. There are no resources in the bundle anymore, because everything you see is a web view.

They decided to make their OS X application easier to develop and maintain. Of course, it’s much more nice to create things with HTML, CSS and JavaScript than spending time with Cocoa development, drawing custom controls and polishing the app to be available under several OS X versions. Cocoa development is by any means more expensive than web-development.

There is nothing wrong with that from a developer’s prospective. If you want to unify your development workflow by rewriting the application from scratch using technologies that are easier to maintain — nobody is going to blame you for that.

Terrible things start to happen when you want to test the new application on the users. The users who, most certainly, pay money for your application. The users who expect it to deliver the experience they paid for. The users who trusted you and gave you money so that you are able to provide them with the best possible service.

The thing is, Spotify started rolling out the update even when they knew that the new version of the app still doesn’t have all the features of the older, but stable version. It was not ready for production. It was not meant to be released to free Spotify users, not to mention premium ones. But they released it, so 1–2% of all Spotify users started experiencing crashes, couldn’t listen to their music, basically couldn’t use Spotify like they used it before.

Spotify users are still not satisfied with the update. They still cannot receive meaningful response from the Spotify developers. Nobody has seen the roadmap yet. Nobody knows when certain features that are still missing (like playlist search) or bugged (like AppleScript) will be added or fixed.

It seems like Spotify Community Forums is a place created only for users themselves, but not to collect and analyse actual users’ feedback.

Avoiding doing shameless things

If you ever develop an application which gains a lot of customers, and you want to update it to use some new technologies that speed it up, or simply make the development easier, be sure not to make the same mistake.

Never roll out the update when it doesn’t contain the same or comparable amount of features as before.

Never take off the ability to opt-out beta-testing of your software. This must always be at the user’s behalf, not at yours. You are not the one who decides whether the user wants to live on the bleeding edge or not. You may ask users to test your software for you. But you cannot force users to use unstable software against their will.

Never miss the opportunity to communicate with your customers. If you have a place to gather user’s feedback, don’t abandon it and don’t pretend it doesn’t exist. Always have somebody who can provide your users with reliable information, someone who can provide clear answers to all their questions.

Silence is always the worst thing you can ever do to your community. Don’t make enemies of your users—it’s better to make them your friends.

--

--

Daniel Vershinin

Swift developer and UI fine-tuning wizard at Polarr, Inc. Music composer. Independent film creator.