Microsoft and the media in general seem to be making a big deal out the its promised launch of a "personal" SDK for the Kinect - but why exactly?
With or without Microsoft, programmers have been getting on with using the Kinect is so many different clever, innovative, ... you make up the superlatives to continue the list .. applications. It just looks as if Microsoft is arriving late at the party with a bottle of sour old grape juice.
What also doesn't seem to have sunk in is the fact that the Kinect already has a semi-official set of drivers and some really nice middleware that does a lot of the tasks that otherwise you would have to program from scratch. Yes, Microsoft does make a point of saying that its SDK will give researchers and enthusiasts access to the Kinect's audio and allow them to take direct control of the Kinect sensor but most "researchers" already have access to as much of the Kinect as they really need without Microsoft's help.
The semi-official drivers are provided by PrimeSense, the company that designed the Kinect's hardware and they work just fine. They are designed to work with PrimeSense's own development hardware, but they only need a little tweaking, a matter of XML files, to work with the Kinect. Indeed PrimeSense has set up an open source initiative, OpenNI, to make it possible for you to work with almost any hardware that fits in with the basic specification - be it from Microsoft, PrimeSense or anyone else. This is a good move and PrimeSense should be congratulated for it and rather more that it has been.It is true that the explanations of how to get started with the software aren't great but it isn't that difficult - try our simple getting started guide, for example: Getting Started with PC Kinect.
The only shortcoming of the drivers is that fact that they don't work with the audio. What - there is an audio sensor in the Kinect? Oh well, we can just ignore it.
Even if you do want the audio features that the Microsoft SDK might just possibly support, there is the small matter of the middleware. PrimeSense has provided a free to use edition of Nite which you can use to create depth fields and perform skeletonisation and tracking. Is Microsoft promising anything similar? Until the SDK is issued we can't be certain but there is no mention of it.
Then we have the strange promise that this SDK is just for enthusiasts and non-commercial use. A commercial SDK is promised later in the year. What is the distinction between commercial and non-commercial? If I decide to use the official non-commercial SDK then I guess I'm signing up to say that anything I create with it can't be sold. If I use non-Microsoft drivers there is no such restriction. This sounds like Microsoft trying to regain some control over the situation that it lost control over some months ago.
As I said earlier Microsoft looks as if it's arriving late to the party, bringing unwanted gifts and trying to take over the proceedings. This is not impressive and if anything is a little worrying.
Getting Started with PC Kinect
Using the Kinect gets much easier
Also look out for my article on inside the Kinect - coming soon to an I Programmer page near you...
If you would like to be informed about new articles on I Programmer you can either follow us on Twitter, on Facebook, Digg or you can subscribe to our weekly newsletter.