Microsoft Kinect is one of the most exciting computer interface devices to come along in years. Originally known by the code name "Project Natal," Kinect uses a camera, a range sensor, and a microphone to allow the user to control computing devices using nothing more than spoken commands, motions, and gestures made in midair. Just don't expect to actually use it anytime soon -- unless you have an Xbox 360 game console.
There's no technical reason why Kinect shouldn't be able to break out of its intended gaming niche. The Kinect controller uses a standard USB interface to communicate with its host console, which is supported by every major operating system.
[ Keep up on key application development insights with the Fatal Exception blog and Developer World newsletter. | Follow the latest in Microsoft technology with our Technology: Microsoft newsletter. ]
Sure enough, independent developers wasted no time writing drivers and other software to link Kinect to ordinary PCs. Earlier this month, hobbyist hardware vendor Adafruit offered a $1,000 bounty for open source Kinect drivers, then increased the figure to $3,000. It took less than a week for hardware hacker Hector Martin to meet that challenge. Since then, other enterprising developers have unveiled promising Kinect experiments based on Martin's drivers, and Google employee Mike Cutts announced two more bounties of $1,000 each for novel Kinect applications.
None of this activity has been lost on Microsoft, but the reaction from Redmond has been less than enthusiastic. When contacted by Cnet, Microsoft reps responded with an email saying, "Microsoft does not condone the modification of its products. With Kinect, Microsoft built in numerous hardware and software safeguards designed to reduce the chances of product tampering. Microsoft will continue to make advances in these types of safeguards and work closely with law enforcement and product safety groups to keep Kinect tamper-resistant."
In other words: "We'll get you, my pretties, and your Linux box, too!"
Microsoft certainly isn't the first company to try to shut independent developers out of its hardware; this strategy is particularly popular among mobile phone makers. It took a ruling by the Library of Congress to establish that jailbreaking an iPhone -- the process of hacking the phone to allow installation of apps from sources other than Apple's iTunes Store -- was in fact legal, despite Apple's objections.
Even vendors who are friendly with the developer community can find their hand forced by their partner companies. Palm has long encouraged independent developers on its platform, but when a few hackers unveiled an app that allowed users to tether Palm handsets to PCs as wireless modems, Palm warned that the software could run afoul of Palm's agreements with the Sprint wireless network. (The hackers voluntarily removed the app from distribution.)
But the Kinect situation is distinct from either of these cases. While you could easily argue that modifying an iPhone's firmware to jailbreak it constitutes "tampering" with the product, Martin's open source Kinect drivers run on the PC that hosts the Kinect controller, not on the controller itself. It's hard to see how the mere act of communicating with a peripheral could be construed as modifying it, and yet Microsoft seems to be saying it plans to use "hardware and software safeguards" to interfere with such communication in future.
Furthermore, by stating that it plans to "work closely with law enforcement," Microsoft seems to be claiming that the Kinect hackers have broken some law. But what law? Jailbreaking an iPhone has been ruled legal under an exception to the copyright codes, but Martin's Kinect drivers are original works of authorship; they don't violate any copyrights.