Justin starts a blog

Text

A list of open web video blockers

I was inspired by all the folks at the Open Video Conference over the weekend and so I started working on an implementation of our Show Player using Firefox 3.5, the video and canvas tags, and javascript. As I thought out all the various features I would want to support in this player I realized there were several issues blocking me from creating a complete implementation. I reproduce them here in no particular order:

Cross-site Scripting limitations block proper ad support. In order for us to query a 3rd party ad server for ad impressions we need to be able to make a AJAX request across domains. XMLHttpRequest obviously won’t allow this, and the only work arounds I know of involve proxies or the server returning JSON. The video ad world is all going to VAST XML documents so JSON’s sort of a no-go. If we proxy the requests, then the ad server won’t get proper IP address tracking.

3rd party sites don’t like to allow script tags. Back in the day, our blip.tv embed codes used to involve a script tag. These were very troublesome because other sites would tend to filter them out, and with good reason. We really need to have an javascript island, like Flash has with their embeds. The closest thing we have is an iframe, but there still could be potential issues there.

We need better tools for building UI widgets. Right now i’m using canvas to build the player controls. Canvas is great for drawing the controls, but not so great for tracking events. Everything is all in a single canvas right now, so I have to do my own math on which control was clicked, moused over, etc. I think my design may be at fault here, I should be using many canvases in a div, or something to that effect. Layout then becomes a little more problematic. Canvas is simply not a substitute for MovieClip.

Layout is kind of a bitch in general. Getting all the elements to play nicely together, and then adding in things like overlay ads is sort of a pain. I need to be using a fully absolute system, which lends a +1 to using iframe as my javascript island.

Cross-browser support. Even after we work out all those issues, we end up with a player that only works in Firefox 3.5. My thinking is that I can do a little work on adding javascript hooks to Cortado to get the video playback working in other browsers, but the controls interface will probably get messy. I’ll end up mixing and matching canvas and svg, or something to that effect.

The bottom line is that it’s going to be much easier to continue to support Flash moving forward. The barrier to creating a full-featured web player using HTML5 is much to high to be a realistic alternative. I’ll keep plugging away though, I’m determined to get something working..

Posted on Monday, June 22 2009.
6
Notes
  1. azspot liked this
  2. mikehudack reblogged this from justinday
  3. ericmortensen reblogged this from justinday
  4. justinalcon liked this
  5. asonnenberg liked this
  6. justinday posted this
Justin starts a blog

nyc. hacker. blip.tv. vegan. drunkard.

Previous Next