Photosynth: Killer Demo, Poor Execution
Photosynth: Killer Demo, Poor Execution
2008-08-23 22:40:03 by Andrew Hitchcock G+

I've been excited about Microsoft's Photosynth since I first saw their demo. Photosynth recreates 3D scenes based only on photos of the location. It was created with technology from the University of Washington and Seadragon Software (who Microsoft acquired). On Friday, Microsoft released the first version to support user-created Synths.

I was excited to try the app, but it was having trouble handling the launch day load. I figured the load would die down that night, but it persisted all the way through Saturday night as–apparently–the employees were desperately searching for more hardware. My first successful Synth didn't happen until Sunday afternoon. On Friday, I tried creating a large Synth, but it kept having trouble connecting to the servers and uploading the images. I tried a simpler one on Saturday, and it made it all the way to the end, but it failed on the last step (publishing). Sunday afternoon I made an attempt with a different dataset and it worked. I went back and successfully redid the first two, which was their third attempt each.

I wonder, though, what was so tough about keeping the website up? From what I can tell, most of the heavy lifting is done by the users or Limelight. The client software appears to do all the feature detection and scene creation. Limelight handles the distribution and perhaps (I'm not sure about this last part) ingestion as well. From what I can tell, their servers just handle the management of synths.

I'm a little irked with this whole "Software + Services" thing. The way it was done, I got none of the advantages of "the cloud", but all of the disadvantages. Even though I was uploading the data to Microsoft, my machine had to do all of the transformations and calculations itself. The whole point of shipping my photos off to a datacenter is to let them handle the heavy lifting. And this brings me to the disadvantage: I had to max out my upload for 24 hours to create my big synth. The time would have been shorter had I not been required to upload the meta data and image pyramids as well. Of course, it would have been fastest if I could just run the software and viewer locally. That would only take about 2 hours.

The annoyance of having the servers down was magnified by the bad handling of failure cases. When something went wrong, you would see typical Microsoft error messages such as "A000000B" or "A0000009". Additionally, when one of my Synths failed during publishing, I tried to recreate it with the same title. However, it gave me an error message because of the duplicate title and closed the creation window. It is very frustrating to have to reenter the tags and license info and then wait for 500 image thumbnails to be regenerated before you can try again.

Now that it works, it is a lot of fun to play with, but this launch has left a bad taste in my mouth. Microsoft coupled what could have been great client software with unnecessary "+ Services". Photosynth doesn't take advantage of offloading computation to the cloud, so the "+ Services" is wasted and just ends up adding extra complication and—as the launch shows—unreliability.

Update 2008-08-24: I forgot to mention another opportunity lost because of Microsoft's implementation of Photosynth: group synths. One advantage of forcing users to upload their photos to a shared service is that different users' photos could be combined into one synth. I have some photos of the Forbidden City and Chichen Itza that—by themselves— aren't enough to create a synth, but that I'd love to donate to a community synth. However, this isn't possible with the current implementation, and the architecture of the service prevents it, since all computations are done client side.

Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 Unported License.