Microsoft's research team innovated a way to use the Kinect to interact with the WorldWide Telescope during the SDK's beta period.
Image courtesy of MicrosoftSimply jump and wave your hands! In 2010, the Microsoft Kinect revolutionized interactive gaming by eliminating the need for a controller. To enjoy Kinect, users had to buy the device and connect it to a compatible Xbox 360 system, as well as purchase games designed specifically for Kinect.
The technology quickly caught the attention of hackers. Almost immediately, they found innovative ways to use the Kinect for much more than Xbox games. Third-party device drivers – developed by independent software creators – surfaced soon after Kinect's release. Websites dedicated to using these drivers proliferated, with one such site, Kinect Hacks, showcasing hackers' DIY projects, including a 3-D scanner and the JediBot, a system that uses Kinect's sensors to train aspiring Jedi in lightsaber skills [source: Paoli, Kinect Hacks].
You might assume that Microsoft would view this as a threat. It likely comes as no surprise that just hours after the Kinect's release, Microsoft expressed its determination to make life difficult for hackers, even threatening legal action [source: Tanz]. However, this response appeared to only fuel the hacking community's drive. Three months later, Microsoft revealed a new approach: welcoming hackers and inviting them to explore the Kinect.
To make this possible, Microsoft developed the Kinect software development kit (SDK). The company launched the SDK beta for non-commercial use in June 2011, followed by the fully supported version 1.0 for business and commercial use in February 2012. The SDK has opened up Kinect development to innovative engineers and entrepreneurs worldwide [source: Schofield].
As previously mentioned, the Kinect was initially designed for the Xbox 360, with its own developer kit and guidelines for interfacing with Kinect [source: Guthrie]. However, the Microsoft Kinect SDK is tailored for Windows applications. By extending the Kinect SDK to Windows, Microsoft has expanded its possibilities, paving the way for Kinect-powered software in fields such as education, healthcare, and transportation.
Now that the world of Kinect software development is at your fingertips, let's explore what you need to begin your journey.
Getting Started with the Kinect SDK
Before diving into the Kinect SDK, there are a few things you'll need. Some of these items require a purchase, while others are either free or already included with your Windows system:
- A dual-core processor (32-bit or 64-bit) running at 2.66 GHz or faster
- 2 GB of RAM
- A dedicated USB 2.0 bus
- Microsoft Windows 7, Windows Embedded Standard 7, or Windows 8 Developer Preview
- Microsoft Visual Studio 2010 (Express or other versions)
- .NET Framework 4.0
- Microsoft DirectX SDK (June 2010 or later)
- Microsoft DirectX 9 runtime
- A Kinect for Windows sensor with specialized USB data and power cables
The Kinect for Windows sensor is not the same as the Kinect hardware for the Xbox 360. The Kinect for Windows is priced at $249, about $100 more than its Xbox counterpart. You can download the DirectX SDK and .NET Framework for free, and the Express edition of Visual Studio is also available at no cost. We have included the download links for this software at the end of the article [source: Microsoft].
As you might expect, some prior programming experience is essential. If you're new to .NET, you'll need a solid resource to help bridge the gap from other programming languages to the .NET Framework. Additionally, familiarizing yourself with the DirectX SDK, which is used to create interactive software with DirectX multimedia interfaces, is crucial. Visual Studio will serve as your integrated development environment (IDE), allowing you to program in .NET while integrating the DirectX and Kinect SDKs.
Once everything is in place, you're all set to download the Kinect SDK and get started. The download is free. Simply visit the Kinect for Windows website, click on the 'develop' section, and follow the download link. As of spring 2012, the latest version available was 1.0.3.190, weighing in at 226.8 MB. After downloading, follow the installation instructions provided on the Kinect for Windows website to set up the software, activate the Kinect for Windows device, and kick off your development journey in Visual Studio.
Not sure where to go next? Let's take a look at what other developers have accomplished using the Kinect SDK and learn how to publish your own Kinect applications.
Developing Kinect Apps
In June 2011, Microsoft organized a code camp at their Redmond campus to introduce the Kinect SDK to developers.
Image courtesy of MicrosoftSince June 2011, the Kinect for Windows SDK has been available. However, Microsoft initially faced criticism for allowing development without enabling entrepreneurs to profit from their innovations. Then, in October 2011, Microsoft revealed that the Kinect for Windows commercial license would become available in early 2012 [source: Torrone, Foley].
At the time of the announcement, Microsoft had already received over 200 applications from companies across 25 industries worldwide. These companies presented innovative ideas that went far beyond gaming. For instance, Spanish tech company Tedesys developed TedCas software, which puts critical data, including patient files and procedural reference material, directly at a surgeon's fingertips during surgery. Surgeons and nurses can access and review this information with simple gestures, without interrupting their work [sources: Shaw, Tedesys].
Currently, Microsoft and other developer platforms offer examples of how users have applied the Kinect for Windows SDK. By starting with a basic example, you can create a structure for your own app. From there, you can refer to the source code of other apps with similar functionality or even branch into entirely new areas.
So, what can you do with your Kinect for Windows creations? If you plan to distribute it for free, you can make your software available for download online. However, if you intend to monetize your app, you can distribute it under the Kinect for Windows SDK commercial license. As of early 2012, the commercial license was available in the United States, Canada, Mexico, Japan, New Zealand, Australia, the UK, Ireland, Germany, France, Italy, and Spain.
When releasing your Kinect application, you'll need to provide users with installation instructions and guidance on how to interact with the software. They will also need to purchase their own Kinect for Windows sensor (hardware) and install the Kinect for Windows runtime (software) on their computers.
This article has provided an introduction to the Microsoft Kinect SDK, which is the key tool for developing software for Kinect for Windows. We've just begun to explore the possibilities, and now it's time for you to dive in and get started. Check out the next page for more resources and detailed information.
