[Paid Software Announcement and Discussion] Chainfire:
I am assuming here that the XS is not a very new model ? It appears that the older the EOS model, the issues there are. I am going to try to borrow some older models from friends and camera clubs (luckily my sister is a camera club organiser) so I can test with more of those and hopefully figure out the issue. This will however take a while.

Well the thing is, there are really old Canons who use a proprietary communication protocol, then there are Canons who do use the PTP protocol but with command set #A, and the newer Canons who use the PTP protocol but with command set #B (A and B or not official names, it's just to illustrate that they are different).

All the liveview models pretty much use the #B command set, but then there are still different dialects between them - these differences cause the problems we are currently seeing.

And even though the PTP protocol is used, it is just a bare protocol. Yes, it does provide for standard commands, but the PTP protocol is extensible. What happened is that each and every camera brand that supports PTP has decided to use only the extensible command set, and has completely custom and undocumented commands, instead of using the standard commands.

Due to this, the only way to get this stuff to work, is a very lengthy process of reverse engineering, USB tracing, and a lot of trial and error during testing. That is why I actually need these cameras in hand to play with, there is no other way to figure out how to get them to work. That is also why Nikon will only be supported after Canon is stable, I need to get my hands on some Nikons, while I have a bunch of Canons already lying around.

I'm sure there are programs that do all this fairly well, but the complexity of it should not be underestimated. The more features you add, the more problematic it all becomes - especially in combination with the liveview functionality, which also works different across various models. Big chance a lot of work went into that program you mention, even if it might not be apparent.

As for the Desire, again, its hardware is perfectly capable of doing USB host. Pretty much all 1ghz phones have the hardware, the problem is the software (kernel + Android framework) support. That support has not been introduced until Honeycomb (exact Honeycomb version differs per device, some have it on 3.0, others only on 3.2). It works on the leaked firmwares of the Samsung Galaxy S2 because apparently Samsung backported that functionality - maybe not even from Honeycomb but from Ice Cream Sandwich, which I'm sure Samsung already access to. That is also why I keep mentioning Ice Cream Sandwich - most phones that get this will likely support the software parts of USB host.

On the web market you'd be able to see it, on the device itself you probably wouldn't. Either way, either your device or your firmware isn't compatible.

Well, I have just received word that my USB host adapter for my own Galaxy Tab 10.1v has finally shipped, and should arrive Monday, so I'll be able to start testing on the Galaxy Tab coming week. I also have a 50D, so hopefully I can replicate - and fix - this. Unfortunately, the 50D I have has all sorts of issues, so let's hope I get it to work well enough ;)

It is currently artificially limited to 15 fps, but I hope to build in a tuner that will help you reach the highest FPS possible with your camera / Android combination. However, I must warn you, the chance that it'll be over 15 FPS is very small. DSLR Controller already uses multi-threading to make it perform at any rate at all. Decoding the liveview stream takes a lot of processing power, and while your desktop PC's processor wouldn't break a sweat, the processors used in Android really aren't all that great at this.

Sony support is way down the line.

Unlikely for the near future. I don't have a 1D mk IV, nor do I have a wireless file transmitter, nor do I know how that protocol works. I'm not saying it will never be supported, but don't expect it anytime soon.

You need to upgrade your SGS2 to the 2.3.4 branch of the KG series. Yes, it is a bit confusing Samsung has a KG firmware series on 2.3.3 as well as 2.3.4. You need the 2.3.4 one. It can be found here on XDA, but I do not believe it has rolled out officially anywhere yet.