What I’m Working On: Mapping Demand in 3D

It’s been nice to see an increased awareness in the media community over the last few years of the opportunities to engage audiences on the Internet. There is a new batch of technologies becoming available that should enhance the kind of experiences, allowing for a level of interactivity and visual expressiveness that could match or rival the films themselves. I’ve been experimenting with some of these, and I wanted to share the results.

Among my favorite of these is the cluster of technologies around HTML5, including CSS3, WebSockets, faster Javascript and especially WebGL. WebGL is a powerful graphics library (analogous to OpenGL) that will give web developers access to hardware graphics acceleration in the browser, standard and without any plugins. Here is a demo I put together using WebGL to map audience demand data on the web to a 3D representation of the Earth.

This is just a prototype, and there’s a lot of room for improvement in performance, aesthetics and interactivity, but I think it shows the potential of what’s possible. The graphics are beyond what we’ve generally seen on the web before, and it’s combined with the kind of portable data that has been spreading around the web for the last few years. I’ll try to clean up the code and get a live demo online soon.

For now, WebGL is only available in Beta versions of Firefox and Chrome (and maybe Safari?). They’re worth downloading early if you’ve got the guts for the occasional bug, and they’ll hopefully be released in the next few months. If you want to take a shot at developing with WebGL yourself, there are great lessons at Learning WebGL and at Mozilla.

I’ve got lots more demos coming, and they’re cooler than this one, so check back for more in the next week or so. I’ll be posting them on YouTube and on Twitter.

Link to start YouTube videos in the middle

Yesterday, a friend lamented that he didn’t know of a way to send someone a link to a YouTube video so that it would skip to a certain point. He knew some actors who wanted to show off videos they were in without making people wait through the whole beginning.

Unfortunately, I couldn’t find any way to make this work on a YouTube watch page but YouTube has a pretty good API, both for the embedded player and for retrieving information on videos themselves. So I was able to hack together my own watch page.

Here’s how to use it:

  1. Go to http://chirls.com/v/
  2. Type or paste the URL of a YouTube video into the form
  3. (Optional) Enter the desired starting time
  4. Click Load
  5. Copy the link from your browser’s URL bar or…
  6. When the video loads, play or scrub to the exact desired starting time.
  7. Pause the video
  8. Copy the link or embed code from the form at the bottom to get the link to this video at your starting point.

The format of the URL is pretty simple, if you want to put it together manually.
http://chirls.com/v/VIDEO_ID/TIME

VIDEO_ID is that weird string of characters that comes after the “=” in a YouTube watch page link.
TIME is the starting point in seconds. This should not be less than 0 or more than the duration of your video. It must be in whole seconds.

If people find this useful, I’ll keep updating it with new features and bug fixes. Please leave notes and suggestions in the comments section on this post.

Update (March 1, 2009): I’ve changed the URL structure so that the time comes after a slash instead of a “#”, because the old format screwed things up when posting to Twitter and a few other small problems. The old format still works, so existing links should be fine. If you leave off the time, the page will load with your video starting from the beginning.

links for 2007-10-31