Improving the Spotify installation experience
At the time of writing this, we distribute Spotify for Mac OS X as a regular DMG (disk image). The user experience is not really what I would call smooth:
- Download the DMG file.
- Open the DMG (implicitly mounting the disk image. Safari does this for you, BTW).
- Move Spotify to the Applications folder.
Now, for a unexperienced user double clicking the app icon inside the DMG feels like a natural action. It’s there, I’ll just open it then. Later, she restarts her computer, the DMG gets unmounted and “Hey, where’s Spotify?”.
Our solution is to use an internet-enabled disk image which automatically unpacks Spotify upon download. We then use some magic in the app to check if it was launched from another place than the Applications folder.
The new Spotify installation experience
- Initiate the Spotify download.
- When download completes, Safari will unpack the disk image, throw away the dmg file, and show a Spotify icon in its download window — as well as selecting it in the Finder in the background.
- When you double-click the Spotify icon, it gives you the option to move Spotify to the Applications folder. This is of course optional.
The user double-clicks the icon — Spotify launches and detects it’s running from the Downloads folder, asking the user if Spotify should move itself into the Applications folder.
Selecting “Move to Application folder” causes Spotify to automatically move itself into
~/Applications if it exists) while still running.
But what happens when the DMG is not downloaded and automatically unpacked?
Ie. manually mounting the disk image.
Example: when using a browser that does not handle internet-enabled DMGs.
Well, we need to handle that case too, of course. We created a version of Lets Move which supports moving applications launched from a disk image.
Manually mounting the Spotify DMG will look like this:
Double-clicking the app will show the same “Move to Applications folder?” dialog.
Recently Alexander Limi (interaction designer at Mozilla) wrote about “Improving the Mac installer for Firefox” where he outlines the problems. John Gruber quickly responded by highlighting the problems with an installer, which was Alexanders initial idea of a solution. Alexander and Mozilla revisited their solution, aiming to use LetsMove by Andy Kim.
We have published our modified version of LetsMove here: http://github.com/rsms/lets-move-cocoa. It includes the ability to move applications launched from read-only disk images as well as Spanish and French language translations.
For the record, this is how the previous Spotify disk image looked like: