Saturday, March 14, 2009

Deconstructing: Razorfish DaVinci Surface video

Razorfish released a new Microsoft Surface video called DaVinci, which is basically a physics illustrator with some cool Surface enhancements.

DaVinci (Microsoft® Surface™ Physics Illustrator) from Razorfish - Emerging Experiences on Vimeo.

The basic physics functionality is similar to the several physics illustrators already out there for PC, but this integrates the vision system of Surface for some pretty cool effects. There looks like some extras like the gravity control which makes it work well in the multi-orientation UX. It also uses some physical objects as dials, which allows great affordance. (Pretty similar to the ReacTable.)

I realize it's more of a concept demo than full application, so isn't expected to be fully featured. Given that, here are my thoughts regarding the user experience:

Good UX:
  • Very good integration with vision system, shows off unique features of Surface

  • Good use of the ink system. The finger, paintbrush, and toy car all create different size strokes

  • Multi-orientation through controlling gravity and gravity vortexes (maybe they call it something different)

Bad UX:
  • The control panel is pretty "WIMP"-y. There has to be a better NUI way to integrate those controls, like the physical (gravity?) dial

  • Dragging components around seems laggy, although this may have been on purpose due to the physics simulation. This is particularly obvious during the pong simulation, and just makes Surface itself look laggy. If it is meant to be springy, then a visualization of the temporary spring connecting the component and the fingers would help a lot.

  • The three finger gesture to connect a component to the background is not discoverable and doesn't have any feedback! At least a color change would help. On the plus side, three finger gestures are not likely to done accidentally. Perhaps this one is filed under advanced gestures, but how will the advanced user learn it unless they are shown by else in the know? This needs progressive disclosure.

Don't get me wrong, this is a very cool application. The core functionality looks awesome, but I know there is more potential for refining the control mechanisms and fully implementing the Surface UX guidelines.


  1. Just to be clear, the app has no UX baked into it at all, its purely a prototype. This was developed in under 3 days and is purely a demonstration of porting a physics engine to the Surface development environment in combination with obj recognition and drawing api. Things like 3 figure gestures are completely not natural, nor recommended and the panel is 100% a way for us to prototype this app and not intended to be anything other than a WIMP interface.

    Oh, and as for the tracking performance, all the object interaction so far is using springs, so its not laggy, its a result of the spring physics.

    FYI, this prototype probably won't go much farther as this is an exercise to get a couple of our upcoming "real-world" apps running. We hope you will afford us some prototyping pains and enjoy the final results :)

    We're always glad that you're keeping us on our toes Josh!

  2. Luke,

    That's for the follow up! Yes, I definitely enjoy the results and appreciate you guys sharing your work.

    That's impressive for only three days work. Understand the prototyping pains and look forward to seeing the future real-world apps based upon this one.

    P.S. Of course you're welcome to discuss the UX of InfoStrat videos as well! I'd love have the NUI community discuss UX ideas and how to improve everyone.

  3. Yeah, so lets start a meetup once a month (we could do a skype call?) .. hows that sound? First Tuesday of every month? Then see where we go from there?

    First order of biz, we should get that gestural standardization initiative kicked off!

  4. That's a great idea. I also was pondering the idea of creating a NUI version of some of those UX design pattern galleries that are out there.

    Oh yeah, P.S. on the lag/spring thing -- I figured it was meant to be springy but was just saying maybe a visual would prevent people not "in the know" from thinking laggy.

  5. Josh,

    I just wanted to let you know that I appreciate all of your thoughtful comments about deconstructing various NUI's.

  6. Lynn,

    Thanks! I appreciate it!

    Sorry I haven't posted anything recently. Been working on a super high profile project at work so haven't had time, but I have a lot of things lined up.