Hunch

34

I'm moving on

June 11 by Rasmus Andersson, tagged spotify, life and facebook, filed under spotify

Moving on

After four years of giving birth to and developing Spotify I’m moving on to a new adventure: In October later this year I’m starting as a product designer at Facebook — a journey of innovation, design and the future of the internet.

Leaving Spotify is indeed very emotional — my little baby — but at some point you have to let the bird out of it’s cage. I believe Facebook is a very interesting entity which is changing the way we look at the internet in large — I’m thrilled and very happy to become a part of that.

For me, working with basic human needs (music, social interaction, etc) in an aspect where peoples lives are being improved, has always been the focus of my professional life, thus both Spotify and now Facebook.

The time with Spotify has been the best in my life so far; the people, the laughers, the time we cried out loud, the times of frustration and the times of pure happiness. Being part of and seeing a seed of a world-changing idea grow up to be a industry changing, world spread “thing” is something which can’t be explained. An awesome feeling.

During the end of this summer I’m moving to San Francisco, marking the beginning of an exciting journey with Facebook. As I’ll be a new swede in town, let’s hook up (and maybe I’ll learn a thing or two about the area).

69

Spotify next generation

April 27 by Rasmus Andersson, tagged spotify, monster and release, filed under spotify

Next generation

Internally at Spotify, we are calling this the Monster Release. Yeah, green and all, but the thing is that we’ve been working on this release for 6 months.

Getting social with friends & followers

We have introduced the oh so familiar concept of friends & followers, mainly based on Facebook Connect.

whats-new

At the right hand side you’re now able to toggle a sidebar containing a list of friends (and foes) you’re following on Spotify or are friends with on Facebook.

You can hide away friends (todo: fix the copy “remove” → “hide”) who are spammy or just have an ugly picture:

Also, we have made sharing a track really easy:

  1. Find a song you’d like to share with a friend
  2. Drag the track onto the friend in the right hand-sidebar and drop it.

Your friend has now received a track in her inbox.

Inbox

We’re starting out with the ability to share tracks in this release but will enable sharing of other resources — such as playlists, albums and artists — in a future release.

Play your local files

As of this release, you can now play regular audio files from your computer. We support a wide array of formats including MP3 and AAC.

When you start your new client and pass through the steps of “Start using library” (the big grey button on the even bigger turquoise ribbon in the library view for new users), we’ll automatically import all your music — including playlists — from iTunes. If you’re not an Apple fan{girl,boy} we’ll kindly ask if you might point us to the right direction by picking a bunch of files and/or folders containing audio files.

Later, you can synchronize any additions made to your iTunes library by clicking really firm on the “Import iTunes library” choice found in the “Local files” view header:

Or as you — a smart human being — have guessed already, drag and drop a bunch of files and/or folder onto Spotify and we’ll import them for you in a blink of an eye.

Metadata cleaning? I’m not going to talk about this feature much, since there still are some problems. If you have a lot of mixes (i.e. multiple tracks put together into one large file) I strongly suggest not enabling the “Clean metadata” (based on Gracenote) at the moment. We’re still working on this :)

More details over at our blog →

3

Music Hack day, Amsterdam

April 27 by Rasmus Andersson, tagged musichackday, amsterdam and spotify, filed under spotify

Had a wonderful weekend in Amsterdam attending Music Hack day. We released libspotify for Mac and Windows as well as announced the upcoming playlist web API.

Continue reading...

22

Easy data visualization with WebKit

November 26 by Rasmus Andersson, tagged cocui, spotify, visualization and real-time, filed under software

At Spotify, we recently put up two large TV screens on the walls of our Stockholm office (most R&D is done there). The idea is to visualize & communicate that “stuff is happening” without actually revealing any critical data (since a lot of external people are visiting the office).

Today me, Andreas Öman and Emil Hesslow — fellow Spotifiers — kicked off a cozy little Hack Night at the office, trying to create something simple yet impressive to have running on one of the TV screens.

We ended up writing a real-time search query visualization in just about a few hours. It looks like this and is smoothly animated:

Screen shot

Try a demo version here… (Tested in Safari, iPhone, Firefox and Chrome).

How did we manage to build a real-time scalable system and high-performance viz in such an awfully short time?!

Hack nightWell, for starters we used WebKit through Cocui which instantly gave us full screen high-performance hardware-accelerated drawing (yes, it’s a long sentence with cool words but those things shouldn’t be taken for granted).

But… where does the data come from? From the internets? — Not really, but it sure travels in internets-style. We use a dumb pub/sub message queue. In one end a client (the WebKit/Cocui app in HTML/JavaScript) is listening (subscribing). In the other end one of our search servers are pushing messages into the queue in batches.

[batch of search queries during last minute]
                   ||
                   ||
                   \/
             [message queue]
              ||        ||
              ||        ||
              \/        \/
           [client]  [client]

The client simply enqueues these search queries when they are delivered while at the same time dequeueing search queries. We do it this way (batches and a queue) because we simply have too high rate of searches. It would be almost impossible to read anything if we actually sent every single message. To give the feeling of real time we use a random delay when dequeueing queries.

When a query is dequeued it’s formatted into a chunk of HTML (a div and an a tag) and then prepended to the body using jQuery with animated effects.

Don’t forget to try the demo version (Does not work in Internet Explorer) which is simply the client without any real-time data. Note that this demo uses static data for demonstration purposes, not an actual real-time stream. The real-time data stream is only available within our office and thus not available for public use.

Update: Successfully tested with iPhone, Firefox and Chrome — thank you readers!

Here’s the full Cocui demo application: sptv1-demo-cocui-app.zip (for Mac OS X 10.5 and newer).

3

First ever Spotify commercial TV ad

October 26 by Rasmus Andersson, tagged spotify, advertising, video and tv, filed under spotify

Our/Spotify’s first ever commercial television advert premieres today on Kanal 5 in Sweden.

Production by the amazing guys at Identity Works (including Carl & Kaj formerly known as Superstrikers).

Here you also get a sneak peek of our upcoming new typeface Spotify Akkurat ;)

4

Improving the Spotify installation experience

October 24 by Rasmus Andersson, tagged spotify, mac and ux, filed under software and spotify

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.

Continue reading...

2

Happy birthday, Spotify.app!

October 7 by Rasmus Andersson, tagged spotify and anniversary, filed under spotify

Today (Oct 7th, 2009) was the 1 year anniversary of the Spotify desktop client. We celebrated with cake, of course.

Spotify birthday cake

One year ago we pushed the button, releasing www.spotify.com and the first public, official desktop client application.

Pushing The Button

It was a big day for all of us at Spotify — after two years of hard work and a lot of coffee we could finally offer our creation to the world.

This is what the first version looked like:

spotify-desktop-client-oct-2008

2

Spotify for the iPhone

July 1, 2009 by Rasmus Andersson, tagged spotify, software and iphone, filed under software and spotify

Late last week we put the finishing touches to a very special project we’ve been wanting to share with you for a while now. After many weeks of burning the midnight oil at Spotify HQ in an effort to squeeze into it every drop of musical goodness, we’ve finally completed work on the Spotify app for the iPhone and sent it over to the nice people at Apple.

We also wrote about this in the Spotify blog and BCC picked it up (on their front page news).

Here’s the playlist we used in the video: Spotify iPhone preview video, July 27, 2009.

Spotify on the Android

May 27, 2009 by Rasmus, tagged android, demo, google, mobile, preview, software, spotify and video, filed under software and spotify

We presented the Spotify mobile app for Android at the Google IO developer conference yesterday. What you see is work in progress and not the final product. We’ll put some finishing touches on the graphics as well as tweaking the code.

A wee bit more info can be found in our blog: Spotify mobile demo at Google Android I/O.

1

Write your own Spotify client

April 7, 2009 by Rasmus, tagged api, libspotify, software, spotify and spotify core, filed under software and spotify

spotify-core-logoWe just released libspotify – The Spotify Core library – into the wild. This will enable anyone to write their own Spotify client application.

libspotify is a C library which exposes all the features of the regular desktop application, except from the user interface – that, you have to write yourself ;). Now, of course there’s a catch: You have to have a Spotify premium account in order to use the library. But as the music-loving Spotify user you are, you’re already a Premium user, right? right?!.

First off, you need to apply for a application key which will be used to identify your application in our system. Then off to the download section and grab a copy of this funky library (the link that says something like “tar.gz”). This package includes all you need to get started – the compiled library, documentation, example code, the Spotify Core logotype as well as a copy of the terms of use.

At the moment, only Linux on IA-32 (Intel Architecture, 32-bit) is supported. Our goal is to support a host of additional platforms in the future.

The API have two distinct features: Objects, or structs, are reference counted using functions named like sp_<type>_{release,retain}. Second; you have to establish a sp_session object before calling any of the other library functions. Basically, you log in and receive a context object which is then passed around to the different library function calls.

The examples which are provided with the downloadable package can also be viewed on the website.

You should also read our brand new official Developer Blog at http://developer.spotify.com/blog/. Here’s the official post announcing libspotify.