Microsoft bets big on Kinect for Windows, but splits its community

The few bits of genuine news in Microsoft's CES keynote on Monday all …

The few bits of genuine news in Microsoft's CES keynote on Monday all concerned Kinect, the company's natural user interface sensor. CEO Steve Ballmer announced that 18 million devices had been sold since launch, either as standalone units or bundled with Xbox 360. There are a smattering of Xbox content deals with Fox and others, using Kinect as a selling point.

But make no mistake: this was almost entirely an accident. The push to bring the Kinect to the PC and create a developer community for the device came almost entirely outside and in spite of Microsoft. And by wrapping its arms around Kinect development, Microsoft isn't simply embracing it or even asserting its ownership; it's also breaking that development community into pieces.

The new Kinect for Windows devices cost more: $250 against the $100-150 retail for the current Xbox Kinect devices. Kinect for Windows general manager Craig Eisler says that the cost difference is mostly because on Xbox, Kinect is "subsidized by consumers buying a number of Kinect games, subscribing to Xbox Live, and making other transactions associated with the Xbox 360 ecosystem." Hence the bump—although later this year, Microsoft says it will make Kinect for Windows available to students, educators, schools, libraries and museums for $150, the same price as Kinect for Xbox.

Besides just reading "KINECT" in lieu of "XBOX 360," Kinect for Windows devices also have different firmware and other features from their Xbox cousins. While Kinect for Xbox was designed to recognize whole bodies from across a room, Kinect for Windows has something called "Near Mode," allowing its camera "to see objects as close as 50 centimeters in front of the device without losing accuracy or precision, with graceful degradation down to 40 centimeters," according to Microsoft.

The idea is that commercial developers—big companies you know, like Google, Adobe, Electronic Arts, Autodesk, as well as more obscure companies developing specialized applications for medicine or education—will build applications using voice or gesture recognition specifically for the desktop PC, portable laptops and tablets, or other Windows implementations besides the living room. Used in those contexts, near-range sensitivity matters much more than recognition at a distance.

Kinect then becomes a general-purpose NUI (natural user interface) interface for the PC, where "PC" is broadly construed for the post-Wintel era. Windows 8′s Metro interface is already optimized for touchscreens and touchpads; Kinect turbocharges Windows' voice capture and adds full-motion gesture and facial recognition to the mix. (The only thing it's missing—so far—is the ability to track eye movements.)

The Kinect for Windows unit also offers a modified USB connector and better protection against noise and interference. Both tweaks are designed to better incorporate the Kinect hardware to the PC environment—even if the basic hardware looks identical to the original.

Microsoft's been talking about expanding the use of natural user interfaces in computing for years, even delivering innovative products like the giant multitouch-powered Surface and incorporating better touch and speech recognition into plain-vanilla Windows. Besides Kinect, though, it's mostly been an R&D-driven future-of-computing hobby.

Even the phrase "natural user interface" still clings clumsily to Steve Ballmer's tongue. He can't communicate enthusiasm for the possibilities of NUIs like Bill Gates is able to—astonishing, considering that Ballmer can fire himself up into an almost-awkwardly over-the-top giddiness about almost anything else that Microsoft does.

Who thought we'd get to this point?

Ballmer never thought he'd be in this position—not only porting a gaming peripheral to his beloved Windows machines, or even opening it up for commercial development by other software companies, but owning it, taking control of it, and positioning it as a key component in the future of the company.

Considering that a little over a year ago, Microsoft was threatening to sue and/or prosecute anyone who wanted to develop for Kinect on a PC, it's a remarkable turnaround.

It's also remarkable that a company that became a giant by selling its software to consumers and hardware partners is now effectively giving its software away for free—and making its money back by selling its own branded hardware.

What does it mean that Microsoft closed its CES keynote—its final CES keynote—by talking about open development for Kinect?

This is what I spoke about with Adafruit's Phillip Torrone and Limor Fried. (Phil did most of the talking; Limor was within earshot, but busy manning a laser. And it was Phil who first posed the question this way.)

"I don't think the general tech press will fully get the significance of what this means," Torrone said. "It's not just the bit about the Kinect. Microsoft, the biggest software company in the world, leaves CES with the message, ‘we're giving away the software and selling the hardware.'

"Really, it's an open hardware model. That's what we do at Adafruit," which makes its money selling hardware kits and parts for DIY computing projects based on open-source software and plans.

It's unlikely Microsoft will go quite that far, but building its business around hardware sales is still, well, very un-Microsoft. Again, even the Xbox 360 and original Kinect are subsidized by subscription and media purchases for and through the Xbox.

Adafruit helped kick off independent development for Kinect right after its release in November 2010 by offering a $1,000 bounty for open-source community-usable drivers for the device. Whoever reverse-engineered the device, got it up and running code, and posted their software and how-to to the community the fastest won the bounty. When Microsoft rattled its sabers at them, they doubled and then tripled the prize.

Long after the prize was awarded and proof-of-concept hacks were flourishing, it was revealed that Johnny Lee, a UI researcher who'd been working at Microsoft to help develop Kinect, had secretly funded Adafruit's competition. Lee was both excited to see someone hack the Kinect the way he had hacked Nintendo's Wiimote in 2008, and frustrated that people at Microsoft's top levels didn't see the broader potential of Kinect. Shortly after finishing work on Kinect, Lee left Microsoft to work at Google.

Open Kinect showed the potential of an open-hardware, community-driven approach to a commercial project. Even Microsoft had to accept and finally embrace developers' work, in fields as wide-ranging as robotics, art, and medicine.

“This is showing us the future,” Lee said of the Open Kinect model. “This is happening today, and this is happening tomorrow.”

The commercial development kit and licenses Microsoft has put together to build Kinect for Windows doesn't follow the Open Kinect model.

Instead, it offers something much more controlled. Developers can't use open drivers or the cheaper Xbox Kinect for commercial projects. Plus, as the moniker "Kinect for Windows" suggests, they're required to use it on machines running Windows 7 or 8. Finally, even noncommercial projects—still officially permitted on the Xbox Kinect devices—aren't licensed to use software other than Microsoft's official commercial SDK to write code for the Kinect for Windows hardware.

"They were smart to adopt what we were doing and turn it into a business for themselves," Torrone said of Microsoft. They built the Kinect Accelerator to seed projects. They featured ones they liked on their website, rebranded the widespread adoption of the device "The Kinect Effect."

"It got away from them for a moment, but they adapted themselves to it and took a leadership position. They had to."

The genie is firmly back inside the bottle. At least for the moment.

As of Feb. 1, Microsoft will have two completely distinct development communities for Kinect: one using the commercial SDK on Kinect for Windows, and the other using open drivers or the beta SDK on Kinect for Xbox. It's a schism that could only be bridged by two things: a liberal-minded clarification of Microsoft's new licensing terms—or a brand-new set of open-source drivers, this time for the Kinect for Windows hardware. That means again testing just how hacker-friendly this new Microsoft really is, by flouting Microsoft's licensing terms once more.

For their part, even though they say "it seems clear that Microsoft wants everyone off the open drivers," Fried and Torrone are ready to try again. No more cash bounties, they say—even though on Monday, Fried wrote that someone would need to offer another one if the open-source drivers didn't work on the new device. At this point, both Torrone think the community is sufficiently motivated to crack the code without a cash prize. Adafruit itself has a Kinect for Windows sensor on order, and the two are ready to use all their skills at USB protocol analysis to post the device's USB data dump to Github.

"Microsoft's consistently tried to rewrite history with the Kinect," Torrone said. It was the hackers and gamers, the designers and artists, the doctors and scientists who opened up the device's possibilities. That was the revolution. Microsoft only ratified it, to claim it as their own.

"Still," Torrone said, not without a little pride: "Who has the better tools? So far, it's the open-source community."