Image courtesy of Microsoft
Just jump up and wave your hands! In 2010, the Microsoft Kinect transformed interactive game play into a controller-free experience. To use Kinect, you had to purchase the Kinect device and connect it to a compatible Xbox 360 system. You also had to purchase games designed to work with Kinect.
Hackers were immediately intrigued by the new technology. Almost overnight, they were finding ways to use Kinect controls for more than just a few Xbox games. Third-party device drivers -- software written by non-Micrsoft developers -- for Kinect appeared shortly after its launch. Entire Web sites appeared with hints on finding and using these drivers. One site, Kinect Hacks, showed off hackers' homemade creations, including everything from a 3-D scanner to the JediBot, which uses the Kinect's sensor system to train would-be Jedi in proper lightsaber technique[source: Paoli, Kinect Hacks].
You might think Microsoft would consider this a threat. It probably doesn't surprise you that within hours of the Kinect release, Microsoft stated its commitment to make life hard for the hackers, even threatening legal action [source: Tanz]. But Microsoft's reaction seemed to spur on the hacking community. After three months, Microsoft announced a much different plan: opening the door for hackers and inviting them in.
Microsoft did this by creating the Kinect software development kit (SDK). The company released the SDK beta for non-commercial use in June 2011, followed by a fully supported version 1.0 for commercial and business use in February 2012. The SDK has invited Kinect development from innovative software engineers and entrepreneurs worldwide [source: Schofield].
As we mentioned earlier, the Kinect was originally designed for use with the Xbox 360, and the console software has its own developer kit with rules for interfacing with Kinect [source: Guthrie]. The Microsoft Kinect SDK, though, is designed for Windows applications. By extending a Kinect SDK to Windows, Microsoft has opened Kinect functionality to a much wider variety of uses. This could lead to innovative Kinect-ready software for industries like education, healthcare and transportation.
With the world of Kinect software development open to you, let's take a look at what you need to get started.