This week I attended CodeCampOz in Wagga Wagga, a five hour drive from Melbourne and Sydney. Code camp is a free to attend, community driven developer conference. I had an fantastic time in Wagga, made some new friends, learned a few things and had a blast. The content was really top notch, with 17 sessions (including pre-conf) spanning a wide variety of topics such as SQL Server 2008, Silverlight, WPF, UX, Facebook, Visual Studio, SyncLinq and more, presented by some of Australia's most talented developers and speakers.
I had the pleasure of kicking off the conference with the first session on how to build interactive video applications using Silverlight. The session was about how you can encode script commands into a video file using Expression Media Encoder and program against the markers. The session was one large demo building up the video player using Expression Blend 2.5. The video I used is a dive video from our holiday in Egypt back in 2007. When ever there is a fish on the screen an event occur, and the app call out to Wikipedia to get facts about the fish. To retrieve the data from Wikipedia I use an open API from Futef. I've embedded the final video player in this post, as well as a link to the source code if you want to play with it your self. The play/pause/forward/backward buttons are taken from Jose Fajardo's amazing blog where he re-does many of the popular UI's like iTunes, Media Player and MSN Messenger in Silverlight.
A big thanks to Andrew Browne and Ian Thomas for the drive to Wagga, Greg Low and Mitch Denny for organizing an amazing event, and to everyone for all the good conversations. For a full recap of what went down in Wagga check out the Twitter hash-tag, and the Flickr tag for pictures.
Because of cross-domain scripting limitations the embedded player does not include map integration. Check out these two links for alternative versions:
Download Interactive dive video in Silverlight