Who knew Kinect could work just as well snapped into a regular PC as an Xbox 360? Hector Martin, that’s who.
[PCWorld’s full Kinect review]
Martin took up a challenge issued by Adafruit Industries to uncork Kinect’s mysterious motion-tracking mojo for the masses. The prize? $3,000, an amount Adafruit bumped twice from $1,000. Adafruit, run by two MIT alums, calls itself “a New York City based company that sells kits and parts for original, open source hardware electronics projects.”
Who Needs an Xbox Anyway?
The result of Martin’s hacktivist fiddling? An open source Kinect driver enabling rudimentary “depth and RGB image” manipulation, and for Martin, a pocket full of $3,000.
“It’s about three hours after the European launch of the Kinect…and I just now got it to work with a completely open source driver,” said Martin. “There’s not a sniffer, not a man in the middle, it’s completely autonomous.”
Martin was able to get Kinect to sing wielding a Linux laptop and Open GL drivers, and here’s the real kicker: He doesn’t own an Xbox.
The data from Martin’s hack is now available for anyone to pull down, play with, and–implicit in Adafruit’s challenge–improve upon.
One user’s already managed to get it working under Windows 7, allowing manipulation of the sensor’s mechanized tracking motor. Another was able to make Kinect’s camera work in OS X, while noting that the USB timing “was quite different from Linux.”
Minority Retort
Someone’s even pulled together an impressive gestural interface along the lines of what Tom Cruise gets up to in Minority Report, allowing shifting and resizing of onscreen images by making simple hand motions.
Microsoft’s response? Fit to be tied. Or, you know, tie someone else up.
“Microsoft does not condone the modification of its products,” a Microsoft spokesperson told CNET, reacting to the Adafruit challenge. “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.”
Law enforcement and product safety groups? Really Microsoft? What’s next, “Use of Kinect other than as explicitly defined by Microsoft, i.e. with an Xbox 360, could result in serious injury to the user”?
It’s Not a Hack!
After the hacks emerged, Microsoft issued a statement claiming “Kinect for Xbox 360 has not been hacked–in any way–as the software and hardware that are part of Kinect for Xbox 360 have not been modified.”
“What has happened is someone has created drivers that allow other devices to interface with the Kinect for Xbox 360.”
I suppose we could quibble over the definition of “hack,” which in its most general sense means “use a computer to gain unauthorized access to something.” But whatever works for Microsoft’s public relations department, since the latter statement nullifies their first, and puts Adafruit and Hector Martin in the clear. Update: For those rather confused about what constitutes a hack, I prefer Wikipedia’s definition: “[R]efers to the re-configuring or re-programming of a system to function in ways not facilitated by the owner, administrator, or designer.” And yes, that clearly and explicitly includes plugging Kinect into a device it wasn’t intended to be plugged into and accessing it with ad hoc drivers.
Adafruit had donated an additional $2,000 to the Electronic Frontier Foundation, a donor-funded nonprofit Adafruit says “defend[s] our digital rights, our right to hack, reverse engineer and do things like this project.”
The Amazing Race?
What’s next? Competition between Microsoft and the hacker community to release a suite of tools that allows Kinect to be used with PCs for gesture-based apps? An whole motion-control subculture that eventually tries to pass off Open Kinect computer SDKs gratis, sort of like Open Office?
And what happens if Kinect can be flashed via the Xbox 360 to thwart these hacks, the way Sony does by routinely flashing the PSP?
Follow us on Twitter (@game_on)