Video: Kinect-enabled MADExpo Session Finder

I’ve been working on a fun and cool project for the Mid Atlantic Developer Expo, which opens NEXT WEEK, namely a Kinect-enabled Session Finder.

The project uses the recently-released Kinect SDK for Windows beta, a custom version of the Session Sorter code from the MADExpo website, hosted in a WebBrowser control within a WPF application. The WPF application is useful since I can use it to capture audio from Kinect and enable speech recognition, as well as to run the app in kiosk mode. Meanwhile, in the background, I’m running the Coding4Fun Mouse Cursor sample that I blogged about earlier today, which captures my gestures and turns them into mouse moves and clicks.

One tricky bit was getting the speech recognition commands passed through to the web page hosted inside the WPF app. Turns out that the WebBrowser control exposes a method called InvokeScript, which you can use to call a named function within the target page. So I coded up a series of javascript functions on the underlying page to do things like scroll up or down, simulate a click on the sort and filter elements (using jQuery‘s .click() api), etc. While the code isn’t pretty, it was easy to do overall, and the result is pretty nifty. Here’s a quick video I shot tonight showing how it works:

If you want to see it in action, you’ll have to come down to MADExpo. Tickets are still available, and there’s a lot of great content in store for you. So go register!

3 thoughts on “Video: Kinect-enabled MADExpo Session Finder”

    1. Thanks! That’s kind of you to say. May be one of the most fun projects I’ve worked on in recent memory. The ability to combine my web expertise with some WPF, and then layer in the magic of the Kinect SDK, is really exciting. When I think about what folks like James Ashley will be able to do with this, it tells me the future is bright indeed.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.