"Interesting stuff of the Technology, Products and Web 2.0..."

Saturday, February 09, 2008

Yahoo! Media Player release #3

image There are some fairly significant and exciting changes in the new build of Yahoo! Media Player.

1. Prettying up : The changes that users will notice the most have to do with visible behaviors.

  • Smaller footprint : The player is now minimized when first loaded rather than half-open. This prevents it from taking up space in the page when it is not needed. Goal is to empower the page, not overpower it. A smaller footprint helps the media and text mesh seamlessly.
  • Steady scrolling : The player doesn't flicker while you're scrolling anymore. Previously, if you were using any browser besides IE7, scrolling the page would cause the player to fade out and fade back in when you stopped scrolling. Now the player hovers in place while you scroll without fading in and out.
  • Search doesn't interrupt : The player contains a link to search on text related to the current track. This link used to open in the current window, which would interrupt playback. Interrupting playback was a bad surprise for many people. This link now opens in a new window.
  • New home : There is a brand spanking new home page. This page isn't intended to have any dynamic features. It's purpose is to draw new people into understanding the important points and to give them a smooth experience when trying out the player for the first time.

2. Play this page : You can now use almost any document on the web as a playlist by linking to that document and adding class="playthispage" to the link. It scrapes the document to find media links and pull those links back into the current page. There will be a play button next to the class="playthispage" link, and the remote media links will be added to the current playlist.

"Play this page" can handle many different document types. It can find enclosures in an RSS or Atom feed. It can read all common internet playlist formats, including XSPF, ASX, M3U, and PLS. It can read HTML, so you can use one web page as the playlist for another.

Example link:
<a href="http://www.example.com/" class="playthispage">
play example.com

Things you can do with this feature:

  • A podcaster can use their feed as a playlist for their web page without needing to create an additional playlist.
  • A musician's web site can have a single master page for all of their music and use it as the playlist for any other page in the site.
  • A developer could mash up audio sites with other sites. For example, you could put a Wikipedia entry about a composer together with Archive.org recordings related to that composer.
  • An XSPF playlist with artist, album, title and other metadata could be imported into HTML, which lacks music metadata fields.
  • A playlist creator could make their playlist accessible in third party web pages which ordinarily would be hampered by cross-site scripting restrictions.

This feature is implemented using web service that Yahoo! host. Browser-based media players have traditionally been pure Flash. Yahoo! player will use anything it can get its hands on at run-time, including JavaScript, CSS, semantic HTML, web services, and, yes, Flash, and having access to Yahoo!'s own web services made it possible to do this feature.

3. Cross-domain XSPF : Now it is possible to load XSPF playlists from any public source on the web. Previously it was limited by the Javascript same-origin security policy, which is even more restrictive than the Flash crossdomain.xml approach.

4. Bug fixes : The green disc in the minimized mode of the player was pulsing even when no audio is playing. The pulsing green disc is meant to let you know when the minimized player is playing audio. It now does that.

Safari was posting some JavaScript errors on page load. These errors shouldn't show up anymore.

Fixed some display issues with error icons in Firefox when the player encountered a bad mp3 link. (But error messages are still in a messy state overall).

Fixed a bug where the play button was not playing the right song. You could reproduce this bug by clicking a play button on the page, then clicking pause, then clicking a play button for a different song on the page. Rather than playing that different song, the player would restart the song that was paused.

Browser cache time for the player JavaScript files is now one day.

No comments: