Spotify for Mobile – first thoughts

Hurrah, Spotify for the iPhone/Android is released. This makes me very happy. Especially nice is the simultaneous release of the app on both iPhone and Android – I can’t think of anyone else who’s done this, and for good reason – it’s REALLY HARD. So props to them for that.

Random first thoughts:

  • It’s a really fast, smooth app. Almost no delays at all that I’ve seen. Music starts instantly, menus are fluid, it’s all just lovely.
  • The song position indicator on the iPhone is in the same place, and looks the same, as the volume control in the iPod app. This is going to lead to me doing something stupid some time soon, I can tell.
  • The play/pause control on the headphones doesn’t do the ‘right thing’. It controls the iPod application. Not Spotify’s fault, I assume, this is all Hidden Apple API stuff.
  • Another Hidden API Unplugging the headphones doesn’t pause the music. Pity.
  • If you quit and run the app again, it restores what you were doing before perfectly – down to resuming playing music if you happened to be playing at the time. This is one of the best implementations of resume I’ve seen. But again, it’s going to bite me next time I want to show someone the app and it starts playing Britney through the iPhone speakers at full volume and I have to go kill myself in shame.

So far, I think it’s great. I’d like ‘run in background’ support, of course, and I’d like it to use the double-press-home play/pause controls so that I don’t have to unlock the screen to control it, and I’d like it to use all manner of other forbidden Apple APIs that they’re not allowed to use. None of this is Spotify’s fault.

I’ve also now tried the Android version:

  • It’s an equally wonderful and polished experience. Even on the very slow G1 I have access to in the office, it’s pretty fast, and again, the music starts playing instantly. Very nice.
  • On Android, it runs in the background!
  • It really needs a home screen widget to control playback, though, the disadvantage of being in the background is that there’s the overhead of switching to it every time you want to pause.
  • It does the same thing as the iPhone version and doesn’t pause when you unplug the headphones. Less forgivable here, as the ‘private API‘ argument is harder to make.

I’d be very happy using either of these apps in the wild, I think.

I have a small collection of screenshots here.