I was also blown away by Vixy's Firefly song Apprentice, a song about Inara that is just exquisite.
- Allison Durno

Issues With Adobe Flash Player

On our Music page, I've installed a flash-based MP3 player applet. If you've got a fairly recent version of Adobe Flash installed, you should see a small "play" button next to each song title. Clicking on one of the play buttons is intended to play a sample of the song right there in the web browser.

But there's a problem. Due to a bug in the latest version of Adobe Flash, if you happen to be running a specific combination of operating system, browser, and Flash version, then the song clips won't play. In those cases, theoretically, if I've implemented my work-around correctly, you should still see a play button, but the button will download an MP3 song clip that plays in a separate media player program, rather than playing right there in the browser.

Quick Work Arounds

If you're still having trouble playing the song samples, here are some different things you can try:

I'm hoping that my MP3-download work-around is working for everyone. If you still can't get the clips to play, please let me know by responding to my Livejournal thread about it. List the browser, operating system, and the version of Flash you're using, and describe the behavior you're seeing.

Technical Details

If you're technically inclined, and you want to know more about this problem, I'm going to use this page to detail the information I'm gathering on this bug. Hopefully this will be useful to someone, hopefully even Adobe themselves. I have submitted this bug to Adobe via their bug reporting system. If you've got information about this that you'd like to share, please respond to my Livejournal thread about it with any information and insights you care to offer.

I spent days trying different Flash Player applets out. They all exhibited the same or similar symptoms. So it's not the applets, these are all Flash applets that have been around for a long time, they have all been tested and used on many different popular web sites, and they all work the same way. They all pretty much do the same thing and call the same functions within Flash.

Bug Description

All of the applets I tried, failed when faced with this particular combination, and failed in the same way:

The applets always work perfectly in the following conditions:

Bug Demonstration Files

Please Click Here to see a set of pages that demonstrates the problem consistently on all of my Windows Firefox systems with 9.0.124.0 of Flash installed.

More Details

So it's clearly something Adobe changed after version 9.0.47.0, and it's something that breaks almost every quick-and-dirty little MP3 player out there in this strange and specific way. It even kinda/sorta breaks the little play buttons on Jonathan Coulton's Music Page, and he's using a completely different player applet than I am. (In fact, he is using the del.icio.us mp3 player, via a WordPress plugin). Although here's an interesting report I got about the way JC's player and my player interact:

"Ok, here is another data point for you. If I load the JC page and start playing one of his songs, then open your music page in another tab then at that point your Flash player works fine. If I then close the JC page your music player will continue to work fine, until I reload your page at which point it is broken again. If I load your page and try and play some music and also then load the JC page in a tab the JC page is then broken."
My notes: He says that was with build 124. I cannot replicate his results with build 124. Instead I get this: My page always fails, whether I play something from JoCo's page first or not. JoCo's page works if I hit his page first. JoCo's page fails if I hit my page first.

The del.icio.us mp3 player, by the way, works because it only implements a single Flash object on the screen and uses Javascript code to feed individual MP3 links to it. This Flash bug only comes up when you put more than 15 Flash objects on the screen.

Another point of data, something I tested on a suggestion: If you put 13 songs onto a page, and then put 10 more songs into an <iframe> within the page, you get the same failure behavior as you would if you'd put all 23 songs onto the same page. Not surprising, but good to know nonetheless.

Incidentally, the player applet I'm using right now is Fabricio Zuardi's XSPF Player, the "Music Player Button" version. I've looked at a few other player applets and of the ones I tried, they all failed in some way based on the parameters I've described above.

Most notably, I have tried the player that CDBaby uses, which is the Wimpy Player button, which is a commercial for-pay applet. Guess what? After some poking around at it, I found that Wimpy player fails identically to the XPSF player, based on the parameters I described above. To prove it, you have to find a page on CDBaby with more than 15 songs that have active "play" buttons on the page, such as this one, and compare it with a page that has fewer than 14 songs, such as our page.

Details of My Work-Around

I'm currently using Javascript to check and see which browser and flash version is running. If it's IE, I do nothing. If it's non-IE, I look for whether or not Flash is installed and check the flash version. If Flash isn't installed, or if it's one of the known-bad versions running under Windows, then I hide all of the Flash player buttons and show the direct-download buttons.

Hopefully this is working for more or less everyone, and gives everyone a chance to hear the song clips. I could envision some odd situations where it might not work, but they all involve very old browsers, very old versions of Flash, or important browser features such as Javascript disabled. I'm hoping that if you're surfing the web and expecting to play multimedia content, you're probably using a new enough browser, and wouldn't do things like cripple your browser and then blame me for it. If you still can't get the clips to play, please let me know by responding to my Livejournal thread about it. Report the browser, operating system, and the version of Flash you're using.

Thanks for your patience!

- Tony