Slashdot videos: Now with more Slashdot!

View

Discuss

Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).

scharkalvin writes "Adafruit has announced a winner to their bounty for an open source driver for the MS Kinect. From the article: 'We have verified that it works and have a screenshot from another member in the hacking community (thanks qdot!) who was also able to use the code. Congrats to Hector! He's running all this on a Linux laptop (his code works with OpenGL) and doesn't even have an Xbox!'" We talked about Adafruit's bounty yesterday.

Depends on how the hacker did it. If the hacker only released a driver that works without altering the Kinect module in any way, MS can say what they want but they don't have much legal standing. It would be a case of reverse engineering which is legal.

"If the hacker only released a driver that works without altering the Kinect module in any way, MS can say what they want but they don't have much legal standing."

Why the hell would they have any standing if he did alter it? It belongs to him, not MS!

Hell, he could pull it apart, rewire it, reflash things...

What the hell happened to I bought it, it's mine ?? If I want to use it as a doorstop I will, if I figure out a way to cannibalise a sensor in it for some other purpose, I will. If I want to paint it green and shove it up my arse, I will.

That's not true at all. By communicating with the Kinect device over USB actively you are using the software within, and therefore bound to a SLA to use such software in the device(at least, as validly as a SLA would apply to any other use of software like the more common screen+keyboard use model).

No. With the GPL, you don't have to agree to it unless you distribute the GPL'd software. If you don't distribute the GPL'd software to anyone (or code that includes GPL'd code), you don't have to agree to the GPL. Otherwise, you would violate copyright law. Accepting the GPL grants you exceptions from copyright law so you can redistribute the software, but you don't violate copyright law in your own fair use.

The box of my Kinect actually said, and I quote: Requires acceptance of software license agreement available in manual and at: www.xbox.com/sla. You accept by using the Kinect Sensor and your Xbox 360.

It's a good thing I never used my Kinect Sensor with my Xbox 360 since I don't own an Xbox 360:)

If they really want that to fly as a central part of the contract of sale, they're going to have to get game stores to enforce it by making me sign something when I buy one, otherwise it's trivial to argue that this is either not a part of the contract of sale or that it's an unfair term (because of the way it's added without them making it apparent to me and gives them an undue amount of control over what I do with my legally purchased goods).

The very term Microsoft used, "product tampering", sent chills down my spine. They weren't even talking about replacing aspirin with cyanide, but words like 'tampering' (and implications about getting law enforcement involved) certainly make it sound like that. We're talking about the stuff people themselves actually own. It's astonishing to think that their rhetoric extends so far.

What I find strangest is that the PR people at MS still don't seem to get this: spouting a lot of inflammatory nonsense about the Kinect being "tamper-resistant" and the like will piss off the geeks no end, and the non-geeks don't care either way (unless someone comes out with a nicely packaged piece of software that uses the PC interface, I guess). As it stands, we're triumphantly saying "fuck you, evil corporation" and the company that sponsored this is adding a further donation to the EFF to support the good work they do in keeping this stuff legal. The net result for MS is bad publicity with geeks, no impact with the majority of the market, and an open source driver for their device within a few days of its release. I suppose if they'd had any hope of blocking the production of the driver then the bad blood may have served some purpose, but as it stands I'd say they really, really need to fire some people in marketing if they couldn't predict that chain of events. I'm genuinely a little surprised that MS didn't know better.

If they'd just looked at pretty much any similar example in history to see that the open driver was inevitable, they could've played it in such a manner that they distanced themselves from supporting or condoning it, but congratulated the community for their innovation.

They are likely pissed because Microsoft is likely still in the "We are subsidizing this hardware to ensure a market footprint for the XBox" mode and every Kinetic sold today that isn't used to play Gears of Violence is money out of their pocket with zero 'return'.

Although the Kinect is apparently not subsidised [lazygamer.net], I completely see your point. They were projecting every Kinect as including $x in additional software sales as well as the $y profit on the hardware, and I totally understand why they're pissed about not getting that $x that they were hoping for. That wasn't my point - their motivation in wanting to prevent the Kinect being used as a standalone device is clear.

My point, and the bit that surprises me, is that they seem to be operating on the assumption that there was ever a chance of preventing the Kinect from being used openly. This assumption leads them to make bad PR moves, like the 'tampering' comments. I wasn't expecting a company like MS, who are usually not too bad with their marketing, to totally ignore all precedent (DRM, undocumented protocols, and the like are always cracked) and come to faulty assumptions like that.

The one thing I can think of was that they were hoping to sell a more expensive, but more functional(artificially) parallel system to people that want to plug into the computer. Once they know there is demand for the technology.

It is quite possible that Primesense also sells one or more much expensive motion capture solutions/SDKs/whatever based on the same technology; but agreed to give MS a sweet deal, in $/unit terms, because of the number of units expected to sell.

If the Kinect becomes generally useful, with independently produced drivers, anybody will be able to buy an instance of PrimeSense's fancy tech for $150 at any gamestop.

Consider an example from the old days: the first "Airport" cards were actually just rebadged Lucent gear; but with the pins deliberately switched around so that they would be incompatible with a PCMCIA slot. The Lucent branded equivalents were more expensive; but worked with normal PCMCIA slots. Obviously Lucent wasn't taking a loss on the "airport" cards; but they were having it both ways: sell a bunch of units to well-heeled consumers via Apple; but don't cannibalize the deep-pocketed connected enterprise market, thanks to deliberate incompatibility. There could be something similar going on here.

Although the Kinect is apparently not subsidised [lazygamer.net], I completely see your point. They were projecting every Kinect as including $x in additional software sales as well as the $y profit on the hardware, and I totally understand why they're pissed about not getting that $x that they were hoping for.

If it's not subsidised, then they're fucking retarded...absolutely bat-shit fucking crazy if you're right and they're pissed about that...

They are making ($y + $x) * 100,000s to owners of xbox360s...

With the advent of this hack, they are making an additional $y * 100s/1,000s of hackers/indie game developers/indie gamers/performance artists etc. etc. who would not have otherwise bought one.

If they argue that those hackers/indie gamers would have gone out and bought an xbox360 and 10 games were it n

For a car analogy, many boy racers like to put Lexus headlight/tail-light clusters on their cars...for...whatever reason. Microsoft's reaction is as stupid as Lexus trying to stop non-Lexus owners from buying their headlight/tail-light clusters because they want them to go out and buy a Lexus.

They don't expect them to go out and buy a lexus, it's that they don't want a signature part of their premium brand associated with some 17-year-old's beaten up shitbox car.

The only reason I could see for them caring is if demand was massively outsripping supply, meaning people using these for non-XBOX related purposes are blocking sales of units+games to XBOX gamers. At the moment that seems to be a non-issue, some places are sold out but it looks like it's still pretty easy to get hold of a device. Seriously, though, how big do they expect the uptake to be - I can imagine a handful of interested geeks playing with this in the first few months, at least until/unless some kill

Although the Kinect is apparently not subsidised [lazygamer.net], I completely see your point. They were projecting every Kinect as including $x in additional software sales as well as the $y profit on the hardware, and I totally understand why they're pissed about not getting that $x that they were hoping for. That wasn't my point - their motivation in wanting to prevent the Kinect being used as a standalone device is clear.

Makes me want to cry for Sony as well for selling their console at a loss. What's even funnier is when someone takes said console (USAF)...buys thousands of them and sets them up for not playing games. Those bastards! The USAF should know better than to steal from a company they know is losing money on every console they buy. Buying thousands...our government owes Sony BIG!

We...as consumers...should use said product in the only way the company likes. Our corporate leaders want no more from us than to fo

Woah, hang on. It doesn't *look* like they made it deliberately hard to reverse engineer. OK, they didn't publish the protocols, but it's a games console accessory that as has been rightly pointed out, is likely sold at a loss. We'd all have been a bit freaked out if MS had launched Kinect and said "by the way, it's GPL'd and here's all the source", wouldn't we?
The response from MS is probably just a kneejerk PR response to someone contacting them and saying "what's your position on someone fiddling with your devices".

They are likely pissed because Microsoft is likely still in the "We are subsidizing this hardware to ensure a market footprint for the XBox" mode and every Kinetic sold today that isn't used to play Gears of Violence is money out of their pocket with zero 'return'.

Well, something is wrong with their business model then. Tough luck.

BTW, in some countries (like... Belgium), it is forbidden to sell a product at a loss (except for clearing old stocks).

I wonder though...would a DIY geek even buy a Kinect if it weren't for the driver release? If not, Microsoft would only need a small percentage of those geeks to purchase a Kinect game to recoup the loss they took in its manufacture.

They are likely pissed because Microsoft is likely still in the "We are subsidizing this hardware to ensure a market footprint for the XBox" mode and every Kinetic sold today that isn't used to play Gears of Violence is money out of their pocket with zero 'return'.

Of course they can't do anything about the amateur hackers, but I don't think that's the point. It's in their interest to make threatening announcements like this so that companies don't make a business out of poaching Kinects and rebadging/repurposing them essentially on Microsoft's dime. The point is to have a chilling effect on markets, not individuals directly. This isn't to say that this is a good or bad thing (let alone whether it's actually effective), but I suspect that amateur hardware hackers don't really significantly change the equation.

Of course the line between business and individual is blurry. Also, occasionally, a totally-amateur group gets whacked. I'd wager that this is mostly "mission creep", for example some overzealous newly-promoted True Believer looking for brownie points.

If they'd just looked at pretty much any similar example in history to see that the open driver was inevitable, they could've played it in such a manner that they distanced themselves from supporting or condoning it, but congratulated the community for their innovation.

Microsoft should have realised the immense usefulness of this product in computer vision and robotics and just released an open source driver themselves. Even if they increased the shelf price of the device from US$150 to US$250, it's still way cheaper than any other commercial vision system out there.

My interpretation was that MS misinterpreted the intent of the contest: to be able to *use* Kinect, not to flash custom firmware or reverse engineer it, therefore somewhere between HR, PR, and the exec board somebody made a mistake.

And all the sweeter, Microsoft said 'No'. And we all know how we geeks and open source guys are when told 'No'. They will take special joy in paying Microsoft 150 bucks to buy a Kinect and hack it for hobby projects..

The hardware isn't sold at a loss. There was still a bunch of R&D dumped into the project itself so it has to make X amount of revenue over it's lifetime before it truly turns a profit.
Of course, they are shooting themselves in the foot if they continue to release mediocre games that barely get beyond the novelty of the device itself. I think we've all learned our lesson from the Wii this time and any minor flaw that is in the product right now is probably going to continue to stay there.

I've always wondered about that statement - did Microsoft really mean people hacking Kinect the hardware, or did they refer to the new round of cracking going on in the Xbox360 community after Microsoft rolled out the Fall Update?

After all, iFixit's tear down doesn't reveal any anti-tamper mechanisms - no potting of circuit boards or anything. Unless they meant firmware hacking to try a USB jailbreak for the 360, but that's simple to do without needing a $150 piece of equipment.

The Fall update did bring out anti-modded-Xbox protection measures. Backup games fail a new check and the results get reported back to Microsoft, who can institute a new round of console bans (but only if you're stupid enough to connect to Live with your modded Xbox360). I'm just wondering if some new PR person got the explanation all jumbled up or something between the engineers, legal and PR made a very interesting game of telephone.

I can see how going from "The software update we rolled out for Kinect contains new anti-piracy measures" into "Microsoft takes strong measures against those who tamper with Kinect". Or how a simple query by someone asking for drivers to Microsoft gets turned into a request for the Xbox360 software itself leading to silly statements. Add in 20 layers of management that the message gets filtered through and it's what you end up with.

What the Kinect does have is anti-cloning. The Kinect cryptographically authenticates itself to the 360 (but not the other way around, as far as I can tell). In other words, it should be very hard to clone, but this doesn't affect efforts to use it outside of the original Xbox platform.

It seems to me like the people in charge of those Microsoft PR statements don't really know what they're talking about. Sure, there's some "security" around the Kinect (in the general sense of anti-cloning and associated Xbox updates), but as far as I can tell, no effort has been made to prevent DIY use like this. Getting it to work was comparable to getting any other proprietary USB device to work: an exercise in reverse engineering and traffic replaying, but there were no deliberate obstacles along the way.

Anti-cloning makes more sense than anything really. What does microsoft REALLY care if you use a kinect with your Linux PC? Or even your windows PC.

They would, however, want to stop people selling knock-off kinect peripherals. (Whether they should be able to even do that is a separate question, but at least one can see why they'd be motivated to.)

Anti-cloning makes more sense than anything really. What does microsoft REALLY care if you use a kinect with your Linux PC? Or even your windows PC.

Microsoft probably cares very much if Kinect sales are not perceived in the marketplace as indicative of the Xbox 360 Kinect-using market, since the market penetration of the Xbox360+Kinect combo is a point to use in getting devs to make games for that combo.

If one person does it, sure, they don't care. But if it is perceived as being widespread, they certainly care. Which means if it is being covered in a public forum with substantial exposure, they have a strong incentive to respond to it.

I guess the problem might be replacing Kinect with a different device presenting itself as Kinect to XBox. This way you'd gain unfair advantage in online games - where your fitness, physical condition and body momentum would restrict you normally, you could use, say, a key to deliver lightning fast kicks, or duck to the ground faster than gravitational acceleration would normally let you.

What'll you bet that Microsoft rushes out a new, less hackable version. There aren't so many of these in the field that it wouldn't be worth their while. Or are they just planning on using patent takedowns to make it illegal to work with the data stream produced by a Kinect box?

Which brings up an interesting (to me, at least) topic. Once you buy a product that legally implements a patent, aren't you implicitly granted a license to use that patent? To me, if you have, for example, a license to have an ex

Generally licenses state that they are non-transferrable. Meaning they are given for a particular implementation of a work. For instance, you don't license the account, you license the software to access the account (which may contain a license forbidding modification of that software). As far as codecs, the same applies. You are not given a license to the patent, but an implementation of that patent. Re-implementing requires a new patent license.

I get that, but I'm not sure why the patent office allows it. It's anti-competitive, and double-charging. Sure, if they can get away with it, they will.

In the case of exchange, I'm licensing both pieces of software. Who's to say which piece implements the patent? At some point interoperability demands that wire protocols be implementable, and as long as I'm a paid-up exchange user, I shouldn't have to pay again to implement it.

And in the case of codecs, the value of the patented idea ought to be the qua

Simple, the EULA protects the closed-source vendors, not you, the consumer from "misuse" of their shitty product. Every EULA is essentially a list of occurrences that they did not, would not, or could not code for, as well as a promise that you, the consumer, are the vendor's personal bitch and you aren't really allowed to use their products in the first place, but since you paid they'll let you for a limited time, until they can get you to upgrade to the next closed-release of their POS software. THIS is

This guy is on the way to solving the three main problems of personal robotics:
1. Indoor localization (figure out where you are inside)
2. Indoor navigation
3. Table top manipulation

There are already open source software packages for all of these items, but they require very expensive laser scanners (starting at 5K a pop). Most of these lasers only scan one row at a time, which means that for situations where you want 3D, you have to tilt the scanner up and down. This is a hassle and leads to slow scan times, which reduces the responsiveness of the robot.

For indoor localization, what you really want is just a line of points at a fixed height (you could extract one row of Kinect depth pixels) that you can feed to particle filers to figure out position in a mapped space. You might also be able to use opensource SLAM software, wheel encoders, and a Kinect to make 2D and 3D maps of indoor environments.

For indoor navigation, you can use 2D navigation planners to figure out plans through maps, and then use indoor localization to follow the plans. The Kinect can serve as an obstacle detector in addition to the providing data to the localizer. For example, if a person or animal jumps in front of the robot, the Kinect will sense it, and allow the robot to stop instantly and plan a new route. With a tilting laser, the reaction time would be slower, because laser might be in an orientation where it does not see the obstacle.

For table top manipulation, the Kinect can provide a point cloud of the objects on the table. CV software can remove the background (table, wall, etc.) and then detect the objects on the table. Once this is done, motion planners can plan a route for an arm or other manipulator to pick up objects on the table.

Once we have all three of these systems, it should not be all that hard to link them together and start actually doing useful things with robots in our homes. Even just the first two would make it possible useful cleaning and sentry robots.

Another very cool application would be a 3d object digitizer (say you want to put a 3d model of your own face into a video game). Instead of building a 3d model manually in e.g. 3d Studio Max (extremely laborious), you just turn the object over a few times and it combines the visual and depth fields to make a 3d, texture-mapped model of the object.

This is somewhat possible without the depth field, but vastly more accurate (and easy) with it.

Another good idea. I'm not aware of any opensource 3D model generators, but I think you might be able to find one/write one. You could have spinning turntable on which was placed (although this would be a hassle for people) or have some kind of spinning ring with the kinect on it.

It should be pretty easy to use inter-frame correlations to scan an object in 3D just by rotating it in front of the camera if you do it slowly enough. The only problem would be that your fingers would be scanned as well. You'd probably have to do two runs with different finger positions and combine them.

The only possible caveat would be the depth resolution of the camera. From the video, you can see that there's a pretty large minimum distance, how accurate is the sensor at that range?

Once we have all three of these systems, it should not be all that hard to link them together and start actually doing useful things with robots in our homes. Even just the first two would make it possible useful cleaning and sentry robots.

We theoretically approach useful home robotics, and your first thought is cleaning? Followed by sentry duties? What about the ole in-out-in-out, man? Where in the hell are your priorities?"Cleaning." I swear some people are just too happy to announce to the world "Hey, look at me! I have zero sense of imagination! Look how practical I am!"

Whoa boy, you really zinged me with that one, AC.
All I'm saying is, when I see a Roomba, I think "Sure, the room looks great, but man is this thing lousy at giving decent head."
If 3D depth perception can correct this design flaw, then I know where I'm putting my R&D money. Capiche?

Kinect seems to be one of those products that is really innovative. MS has put together technology that would be useful in many situations. So the question is why are they selling it as a toy and why are they selling it for only $150.

On the later, if anyone thinks that $150 pays all costs on this thing they are out of their mind. I think on hardware we are used to MS not transferring development costs to the consumer. However, the xBox is a successful product, so I think we are going to see more of MS

Fellow Slashdotters, your opinion on this please: now that the Kinect is actually useful, for how long do you think they will be available before Microsoft changes something so that the open-source drivers don't work?

I want to know whether to go buy one now before Microsoft retires the current model and starts putting other models out with new firmware that won't work with the drivers.

Currently I don't have any use for one, but I do have a bit of disposable income, and wonder whether it would be useful to s

When you look back to Kinect's beginnings, this news is somewhat more interesting in the light that the original "Project Natal" team that came up with it included Johnny Chung Lee (noted for Wii-mote hacks he did at Carnegie Mellon before working for Microsoft):

This is a somewhat different thing from what Johnny Lee did, though. Johnny took existing Wiimote driver code and used it to do some very cool things with the data, such as his famous head tracking demonstration. He didn't figure out the actual communications protocol, though (in fact, I did a lot of the early Wiimote reverse engineering hacks [youtube.com] too; I guess I have a thing for wacky game controllers!).

Unfortunately for us engineers and low-level hackers, the people actually finding practical algorithms and cool uses for these devices tend to get more attention than the people hacking the low-level details;). I'm genuinely excited to see what computer vision experts can do with the raw Kinect data, though (I personally can't do much more than apply a cheap heat map to the data like I did in my video).

Wow, you didn't even watch the video. Well, it apparently knows depth/distance among other sensory data. Robotics applications should be obvious (as also stated in the video) but I'm sure there are pornographic uses as well.

Nice, lets all remember that you were the first person to think of using a robot that watches how hard you spank it to determine what kind of dirty stuff you're into the most. Like a functional MRI for porn. You should slap a patent on that one.

It would be a little creepy though... Just don't make the robot too human-like or it could really distract.

Measure depth. And capture 4-channel audio with spatial location and echo cancellation (unconfirmed but likely). It also moves up and down and has an accelerometer. People are mostly interested in the depth thing, though.

Do you actually get the pose estimate parameters? That would be awesome. I had assumed that was being done in software on the XBox 360, and this just gives you the video and depth field (which is awesome in itself).

Good comparison. So all you get down the cable is a stream of contoured mapped, heat mapped full colour video? I can see that being useful.

I wonder what would happen to a legal argument like "Hello. I've taken this device and stripped it down to the bare essentials. I have added a firewall to prevent it from connecting to any Microsoft owned server in any way. I no longer consider it to be a reasonable description of a Kinect. Now look at the cool stuff I've done with it..."

Lets start with This Guy [youtube.com], which happens to work for Microsoft now.

Now considering that Kinect can track depth and location relative to Kinect placement, which is usually under the TV, it should be trivial to do the above head tracking minus the special headgear. In Fact, I would be surprised if a game doesn't do this with Kinect sometime in the future to simulate glasses free 3D that works on any TV. Now I know that Webcams now can do this (the droid does site is a real world example) but since they cant me

Yes, all of the processing is pure software. The original prototype did that on a separate processor on the hardware, but they removed that to cut down on the per-piece price (sacrificing performance and accuracy in the process).

The final device still does a ridiculous amount of processing onboard, compared to just about every other peripheral out there. In order to get the depth map, it has to analyze the IR picture (which is quite different from a depth map) and extract contour and depth info from the density of the IR point cloud. This is being done in the PrimeSense SoC chip.

There is also a Marvell SoC chip in charge of audio processing and echo cancellation. I believe it might also be responsible for triangulation of the audio