Sunday, July 20, 2008

An undocumented change in Javascript on your iphone

Just thought I'd make a quick mention of a change that broke some ooTunes functionality in the safari browser on the new iphone 3g and iphone 2.0.  When picking a specific genre, artist or album from a playlist, ooTunes updates the list of songs using ajax, by listening for the "onchange" event on the select component.  Well, with the new firmware, that stopped working.  I did a few quick checks and thanks to someone with the new firmware, discovered that the event is simply never fired anymore.  The only event I found that I could use that would work the same on both firmware's was the "onblur" event.  This means now the playlist isn't updated until you click "done" whereas before, it updated as soon as something was picked from the list.  The change was already made and can be downloaded from the ooTunes website.

Thursday, July 17, 2008

A busy week for streaming radio to your iPhone

This week was the launch of the new, faster iPhone, and the opening of the iPhone app store.  While the launch had a few rough times, and the app store is pretty underwhelming, there are a few great things.  I already commented on the Pandora app (and should have blogged about the last.fm one, since imho it's waaaay better than the Pandora one).  Anywho, lots of cool stuff in the future, even if the app store's pretty anemic for now.

So, what's new with ooTunes?  I just uploaded a brand new version (0.3.3.3).  Here's a few of the changes/fixes/improvements:

ooTunes can now stream windows media streams (lots of internet radio stations use this format...  usually the stream address begins with mms://).  iTunes can't play these streams, but with the help of a wonderful free (and open source) program called VLC, you can now play these streams on your iPhone.  See the transcoding help section for the nitty gritty details.

Trying to keep up with the big guys, we added the ability to start a new Pandora station from a search term.  In the future we'll have a way to start one from any song in any of your playlists (like you can by dragging and dropping songs on the pandora playlist in a regular browser), but for now, manual search will have to do.

Continuous play playlists in mobilesafari (the browser on the iPhone) have been re-implemented.  Apple has left things in a pretty frustrating state when it comes to playing music in anything but the iPhone's own song library... (e.g. no javascript player controls or events in safari, no background processes in SDK applications, no way to keep playing when the phone is locked, no way to use the double button push to bring up the controls, the modal quicktime player in safari, the skip buttons won't skip to the next song in the quicktime player, can't show album art, etc., etc.)  Nonetheless, we've done the best we can given the current state of things.   The nice thing about playing music in mobile safari is that you CAN put it in the background and it will keep playing... you just can't show anything else (even art)... you can even lock the screen and it will keep playing... so it's the closest thing to "usable" that we have. 

Previously, we used a javascript timer to guess when the next song should be played.  Unfortunately that broke things when you put safari in the background since javascript stops... so we use genuine playlists now...  there are two (new) downsides to this... 
1.  You have to push "play" twice to get the playlist to start... once to load it, once to start it playing.
2.  When you put safari into the background or lock your phone, the next song doesn't start playing until it is COMPLETELY DOWNLOADED!  So, even though the player is CAPABLE of buffering and playing before the whole song is streamed, it choses not to when in the background... if you have a fast connection (wifi) this download is fast and it's not super annoying.  On slower connections, it's more annoying.  As a (crappy) workaround, you can simply switch back to Safari for one second and it starts playing, then go back to whatever else you were doing.  

Seriously though, it sucks that developers are left with two (differently) sub-par solutions for streaming music on a device that is designed to do so.  Hopefully apple will address this in the future. 

Bugs fixed:
windows iTunes interaction was broken in a previous release... songs should be marked played again with this version (if you have that turned on).

A "remember me" login option was added.  NOTE: you should be careful with this since it's stored in a cookie (it expires in 7 days), so you probably don't want to use it on a computer that others use.

Fixed a minor bug with the seeqpod playlist showing up as playable without anything to play.

Future:
Now that we have all the hooks in to use VLC, that opens the door for future support and transcoding of lots more formats and thus, lots more content.  

Apple says they're "processing"  my iphone developer program application.  Hopefully that gets approved quickly... I have a great "flashlight" application that just HAS to be in the store ASAP!



Thursday, July 10, 2008

Pandora on iPhone

Well, the news just hit that Pandora.com (finally) lets people listen and create stations, etc. from the iPhone. This is fantastic! This was one of the reason's I created ooTunes! Sure, ooTunes has let you listen to pandora on your iphone for almost half a year now, but with Pandora officially sanctioning and providing an app (funny how their app got accepted but ooTunes hasn't yet... thanks apple!), this can only be a positive thing.

Anyway, does this mean ooTunes is over? Not for me it doesn't. It does set the bar a bit higher though. ooTunes can scrobble your Pandora plays (I kinda doubt Pandora will do that, since last.fm is kinda a competitor) but we'll see. ooTunes also lets you play non-music streams (like npr news, and pretty much any stream you can play in iTunes or find in the iTunes radio stations section... just drag it to your library or a playlist, and ooTunes will pick it up and stream it.) ooTunes streams pandora, but ooTunes has other tricks up it's .. um.. pocket protector.

So, check out the new official pandora app! It suffers the same fate of all official SDK apps, in that you can't listen to music and switch apps (ooTunes lets you do this, with some caveat's, if you're playing ooTunes from mobile safari).

I guess I should list here the things that ooTunes will need to improve to catch up:
easily starting a new station
thumb up/down
stand alone application (come on apple!!! you know you want to email me!)
Pandora doesn't require you to run your own server and mess with your firewall.

Anything else I'm missing? Let me know!

Wednesday, July 2, 2008

Updates... Linux iphone streaming, last.fm ratings, etc.

A couple notes of fixes/improvements in the latest version...

1. The server will now run on Linux (or solaris, or any other *nix). It was an easy port (ooTunes is mostly written in java) but there were a few difficulties.
2. There is now an option to turn off all iTunes interaction globally. This means a) you can run without any dependence on iTunes and b) you won't have to have iTunes open while running ooTunes, unless you want iTunes' artwork or marking things played, etc.
3. Fixed a few minor bugs in the price search code (if you haven't seen, you can search 10 stores for prices of mp3 downloads or cd's). I've added a few new stores and fixed some bugs that were preventing finding some albums.
4. Fixed pandora integration in the browser. The pandora flash player wasn't working in all browsers. It should be working again.
5. Now, when you give a last.fm stream a low or high rating, it is marked "love" or "ban".
6. I've been working on a couple youtube demo videos... they may be a good place to find out about features that may not be documented yet.
That's all.
Enjoy!

P.S. Still waiting to hear back from Apple about being accepted to the iPhone Developer program... kinda frustrating, but at least ooTunes should work just fine in Safari on iPhone or iPod Touch, even the new 3G version.

Tuesday, July 1, 2008

Why last.fm will go on, and lala (if you have even heard of them) will die.

This week ooTunes had some ups and some downs. Lets start on the negative part (this is a blog after all). Lala changed their api recently so that you can't (easily) get access to your music that you have uploaded to their site, without going through lala.com. Hence, from here on out (or until lala decides to give people access to their stuff through an api), ooTunes will not be able to play your lala tracks. Sorry, but that's their prerogative (I think?) I would delete my thousands of songs I painstakingly uploaded to their server, but why not let it sit there, gathering dust?

Okay, some good news and then a short prediction....

The good news is, I got an email from Last.fm. They added ooTunes to their list of software that uses last.fm. (ooTunes can play streams from last.fm, and scrobbles tracks that are played and I've got more ideas for integrating with last.fm when I have more time, especially with their new api). Anywho, on top of that, they gave me a 12 month subscription to last.fm, to thank me! I was elated! (hence the !!!'s)

So, my prediction is... who will be around in oh... 5 years, last.fm or lala.com?

lala.com has some brilliant people working for them. They have great ideas, lots of money.. and they have (had?) a great community. Unfortunately, I don't think they'll last. I think their Music Label money is going to be their downfall, while last.fm's music label money seems to be a bit less... how shall I put this... evil. Maybe I'm just bitter cause one of the founders called ooTunes "slow and buggy"?

Then again, maybe lala.com simply never stood a chance?