Eye of the tiger: a look at the sensor on the current Kinect hardware reveals the scattered points that form the image of a depth map. Photo (CC-BY-SA) Ben Frantzdale.

Eye of the tiger: a look at the sensor on the current Kinect hardware reveals the scattered points that form the image of a depth map. Photo (CC-BY-SA) Ben Frantzdale.

It’s not overstatement: the Kinect has changed vision on computers. It’s made a range of techniques more accessible and affordable, it’s spread what were once laboratory ideas into millions of homes, and it has gathered a swath of artists and inventors to using vision who never had before.

But in the process, that open source world has changed Kinect – and Microsoft. No more do we need a bounty to hack Kinect. Now, Microsoft and the open source community can work together.

Microsoft Open Tech is now embracing openFrameworks and Cinder, two fully open-source frameworks for creative coders and artists:

MS Open Tech releases Kinect Common Bridge, a simple open source way for infusing the magic of Kinect in creative development

The Kinect SDK already supported C++, C#, and Visual Basic, as you’d expect, and more recently even HTML5 and the Web. Now, you can use the official Kinect for Windows library (and hardware) in your openFrameworks or Cinder application. You need Windows (because it relies on Kinect for Windows), and it’s 32-bit only for the moment, but you can then use oF or Cinder with Visual Studio versions 2010 and 2012 Express and above.


It could be worthwhile running Windows to get at this library; tantalizingly, they promise, “Gestures, Face-Tracking, and the Voice API are all on their way.” Some of those capabilities are more work to get at using hacks, and can require lots of installers.

Also, while this is Windows-only, someone could conceivably port the API to other platforms, though the main utility here is . (Now, one caveat: I say open source, but they’ve left off any license. Worth doing, folks!)

Updated: now proper open source software, with the inclusion of a (very permissive) MIT License! (Yes, I forget the license file sometimes, too…)

But even beyond the specific product here, the relationships built in collaboration are themselves significant. Olivier Bloch and Adalberto Foresti from Microsoft, leaders of Redmond’s open tech initiatives, worked with oF contributors Joshua Noble and Microsoft artist resident James George, and Cinder contributor Stephen Schieberl.

Also, I find that having people specializing in certain OSes can benefit open projects, even if (or especially if) the goal is ultimately best-of-breed platform integration. Windows developers may want to use Visual Studio just as Mac users want to use Xcode or Linux users emacs (or what have you). And they want the easiest installations (especially working with students) and best platform integration.

The other good news is, all of this work should continue to benefit working with the upcoming Kinect One sensor. Contributors tell me that APIs should be the same or very similar. And since that sensor will initially work primarily with Windows, this very project could help artists hit the ground running as the first pre-release developer sensors ship this fall.

If you give this a shot, we’d love to hear your impressions – and see what you do with it.


Congratulations to the contributors here; do keep us posted as this continues to develop.

  • joshua noble

    Thanks for writing this up! Just to clarify a little, this is Windows only because it wraps the Windows Kinect SDK which isn’t planned to port to other platforms, sadly. Developers need to have the Kinect SDK installed already in order to leverage this but, in my experience at least and YMMV, it has some very distinct advantages over other similar toolkits for skeleton tracking and RGBD.

    • Right, I think I was fairly explicit about that. 😉

      What I meant in terms of “porting” is, I could imagine someone porting only the API to one of the other toolkits, just based on a brief look at it. I don’t know if there’s an incentive for anyone to do so, but it seems conceivable. And that could answer the comment above – then there would be a consistent API, but you would still get benefits of the Kinect SDK itself.

      But I can see this being beneficial. I was just in not one but two educational environments in which a Windows-only approach would make sense. And that’s in a group of people; for an individual developer, there’s really no reason not to at least try this (especially as I think you ought to install Boot Camp on a Mac, even, if you’re messing around with Kinect)!

      • joshua noble

        Ah, I simply misread that, but it makes perfect sense and may well be worth doing once I finish adding easy access to all the KinectSDK goodies. Also I’ve added a license, MIT the same one that OF uses, thanks for the reminder.

  • Drakh

    when you are developing just for windows it is fine.. but.. why to do that when you can use OpenNI and NITE and you can develop for all platforms?

  • valyard

    So what exactly this Common Bridge does?
    Adds a layer ontop of the SDK?