Microsoft Kinect SDK Offers Channel OpportunityBy Frank Ohlhorst | Print
Microsoft's Kinect software developers kit (SDK) offers a host of possibilities for integration with business applications and specific vertical industries. Here's a look at what developers could do to enhance existing tools and create new ones.
Microsoft is looking to
bring motion capture and gesture capabilities to the business world via its
Kinect platform. The company has released a software development kit (SDK) that
enables the USB connectable device to be plugged into any Windows PC, allowing
software developers to motion-enable their applications.
The Kinect software development kit will give software developers tools to create applications that use motion-sensing and hand gestures. Microsoft expects developers to come up with ideas that could be applied in a business environment and generate huge paydays.
"I think it could be a meaningful business," said Anoop Gupta, a scientist in Microsoft Research who is overseeing the project.
Microsoft's Kinect was originally released as an add-on for the company's XBOX 360 gaming system, with the intention of replacing game controllers with intelligent motion capture. To accomplish that, Microsoft designed the Kinect device to capture and understand 3D movements in real-time and to associate a user’s movements with a particular action. Kinect's success was almost instantaneous, with a total of 8 million units sold within 60 days of launch in November 2010, earning it a Guinness World Record for the fastest-selling consumer electronics device, with an average of 133,333 units sold per day.
To date, sales have surpassed 10 million units. The device's potential beyond a game controller is significant -- the motion controller opens doors to application across multiple fields, from advances in robotics, to enhanced presentations, to medical research. In the past, sensors and cameras used for capturing the motion of 3-D objects were either cumbersome and expensive, or cheap and unreliable. At just $150, the lightweight, compact Kinect is capable of capturing real-time 3-D motion at an affordable price.
With the SDK, software developers can access the Kinect’s video, microphone and depth sensors to build applications that work with the low-level data streams taken in by the hardware. The SDK also allows coders to access some of the more high-level capabilities, such as noise and echo cancellation, and skeletal tracking – which make gesture-navigation in applications possible.
However, the opportunity to create commercial applications is somewhat limited by the SDK's EULA, which clearly states that the SDK is for non-commercial use. That limits solution providers to creating prototype solutions and learning about the devices functionality. However, that will not be the end with Kinect, Microsoft will be releasing a commercial SDK in the near future, allowing software developers to fully commercialize their solutions.
The opportunity for the channel can be significant, especially when one considers the vertical market opportunities. Software developers will have the ability to use motion and gesture control in most any custom application. Take presentations, for example, where a presenter could advance slides, control applications on a projected screen or change the focus of a presentation using natural gestures. Other applications include the ability to use gestures to move objects on a screen (think CAD) or enhance video conferencing capabilities. Consider the recent acquisition of Skype.
If developed and deployed
properly, a Kinect-enabled solution could become a viable alternative to touch
screen technologies, physical pointing devices and perhaps even keyboards. The
Kinect device incorporates a high quality microphone, as well as a high quality
video camera, which could be paired with voice recognition software to enhance
the interactivity of an application.
Of course, solution providers will need to come up with their own ideas to build a profitable application based upon Kinect. The idea here is to innovate and be the first to market with that innovation, or better yet, build a custom solution that leverages Kinect’s capabilities for a vertical market.
With that in mind, Microsoft has positioned the Kinect for Windows SDK beta as a programming toolkit for application developers, allowing academic and enthusiast communities to access the capabilities offered by the Microsoft Kinect device connected to computers running the Windows 7 operating system.
The Kinect for Windows SDK beta includes drivers, rich APIs for raw sensor streams and human motion tracking, installation documents, and resource materials. However, the SDK is focused on Microsoft-sourced application development tools, basically working only with C++, C#, or Visual Basic by using Microsoft Visual Studio 2010.
This SDK includes the following features:
- Raw sensor streams: Access to raw data streams from the depth sensor, color camera sensor, and four-element microphone array enables developers to build upon the low-level streams that are generated by the Kinect sensor.
- Skeletal tracking: The capability to track the skeleton image of one or two people moving within the Kinect field of view make it easy to create gesture-driven applications.
- Advanced audio capabilities: Audio processing capabilities include sophisticated acoustic noise suppression and echo cancellation, beam formation to identify the current sound source, and integration with the Windows speech recognition API.
- Sample code and documentation: The SDK includes more than 100 pages of technical documentation. In addition to built-in help files, the documentation includes detailed walkthroughs for most samples provided with the SDK.
- Easy installation: The SDK installs quickly, requires no complex configuration, and the complete installer size is less than 100 MB.
Developers can get up and running in just a few minutes with a standard standalone Kinect sensor unit (widely available at retail outlets).
Microsoft has not yet offered an official release date for the commercial version of the SDK, however the company has stated it will be available in the near future.