CardSpace & surveillance

Well, don't get fooled. I'm not going to make any big philosophical considerations about technology and privacy (though I may do that in the future), but I will talk about the little project I've put together after three gintonics & the MIX party at TAO.

I am often on the road. When I am homesick I often open a terminal server session with one of my home machines and fire up the webcam; sometime I am in dramatically different timezones, so it's nice seeing that where I am it is dark but back in Redmond it's just dawning, and similar mellow stuff. Before leaving for Vegas I thought it would be nice to access the image directly, without having to fire up an entire remote desktop session for that. Hence I wrote some code for taking webcam snapshots (thanks Scott for putting together a nice WIA sample), exposed it via WCF service, generated a certificate on my test CA, wrote a binding that uses cardspace... and I had it working. About 1 hour, during which I also managed to watch some futurama. Once I got to Vegas I was too busy with the MySpace session for playing with those things, but yesterday's atmosphere at TAO restored my playful/timewaster attitude: after the party I made the necessary adjustments for accessing the service from outside, calibrated the UniqueID from the selfissued I want to use for authenticating with the service... and it was done. One hour of distracted development, 30 mins of fiddling with the config file (after abundant party's beverages) and now my living room is just one click away, wherever I have an internet connection! Below some screenshot. Note: my wife knows that this thing is on, I always warn her via messenger before using it, and anyway the cam has a massive blue led that turns on when it takes the snapshot... I am thinking of adding a loud noise before capturing the image :-)

image

Above you can admire the carefully designed UI of the client app... ;-)

image

...our usual card selector...

image

...and voila, living room! Sorry for the mess :-)

The code is currently very ugly, since I just wanted to make this thing work rather than using it for didactic purposes; but if I'll get enough requests I'll clean it up & publish it.