Enact Development
v2.3

OpenNI:

Forget Microsoft’s Kinect SDK, OpenNI is the Standard

Microsoft has finally released their delayed Kinect SDK, leaving OpenNI developers pondering a switch and new developers wondering where to focus their effort. This should not even be a question, the OpenNI platform released by PrimeSense is the one to support.

OpenNI was the first to market, but this by itself is not a strength. By waiting, Microsoft has a robust platform immediately available for developers to jump in to, and the water is clear, refreshing and inviting. If you run Windows 7 you can get up and running quickly and effortlessly. That is the strength of a vertical market, but it comes with limitations. With the Kinect SDK you get what Microsoft gives you while the open nature of OpenNI allows easier integration with third party software. OpenNI can be used in conjunction with the Point Cloud Library, Robot Operating System, and even Adobe ActionScript. OpenNI leverages the strength of a horizontal market.

Microsoft’s Kinect SDK has some nifty features and I’m looking forward to playing around with the code examples, but overall what developers can do with the Kinect SDK versus OpenNI are pretty similar. Programmers who are inexperienced or lazy will be able to set up and replicate other peoples work easier with the Kinect SDK than with OpenNI, and this is a strength of Microsoft’s platform. But just because your Hello World program involves a Light Saber does not make you any more technologically advanced. Windows is going to be flooded with superficial applications, and developers will be just another drop in a crappy bucket.

Much like iOS developers, nominal programmers who learn the intricacies of the SDK and accept the draconian agreement bound to the upcoming commercial license will be able to charge significantly more than they are worth. However, they better save their money wisely because their career will last as long as an NFL running back. Those who can utilize the multi facet options granted by the open source OpenNI platform will be in demand like COBOL programmers. Except younger and cooler.

Two of the most discussed features of the Kinect SDK are access to the microphone and motor. In 1998 my new computer came with a microphone. Access to the Kinect microphone is worthless, programs should be able to support any microphone. I concede that the Kinect microphone is a really nifty microphone, but it is still just a microphone. Similarly, access to the primitive motor in the Kinect adds negligible value. The 3D sensor is the breakthrough, no one should be excited about being able to swivel it up and down.

The Kinect SDK will quickly lag behind as new hardware is released. It will only work with the hardware Microsoft decides to release, while OpenNI works with any device implementing the standard. There’s already hardware competition from ASUS, and the field is only going to increase. In five to ten years cell phones will be equipped with the technology. Either embrace OpenNI or be stuck using a Windows phone.

My final bullet point is the simplest. PrimeSense created this technology and put their weight behind OpenNI while Microsoft is only licensing the technology. PrimeSense is leading the way, Microsoft is paying to play.