From Research to Product

by clovett4. August 2010 16:27

One of the things I enjoy the most about working at Microsoft is being able to work with all the really smart people in Microsoft Research. I really love taking the coolest stuff that comes out of research, and finding ways to productize that and ship it in our products and we did exactly that with the brilliant work done by Lev Nachmanson on the Microsoft Automatic Graph Layout library that we used as the graph layout engine behind DGML documents in Visual Studio 2010 Ultimate.  Lev also collaborated with folks in the Parallel Platform team and the result was a nice boost in layout performance.

Sometimes this collaboration goes both ways.  I've also done some work with another colleague, Kael Rowan from Microsoft Research.  Kael built a really cool Code Canvas and he ran into all the same issues we ran into while building DGML documents, namely, scale and performance of large scrolling WPF Canvas objects.  I posted some code back in 2008 on how we did the Virtual Canvas in DGML documents, and Kael has improved this in his Zoomable Canvas

If you are a WPF programmer, and you're struggling wtih how to get lots of objects on a WPF Canvas and scroll and zoom around smoothly, you'll be interested in Kael's new series on the Zoomable Canvas technology.  I'm a huge fan of smooth zooming around a large canvas, zooming in and out around the mouse position as you spin the mouse wheel.  It reminds me of Supreme Commander and makes work lots of fun.

Kael and Lev are two of my favorite research software design engineers.



Comments (5) -

Luciano Evaristo Guerche (Gorše)
Luciano Evaristo Guerche (Gorše)
6/21/2010 11:09:20 PM #


Is this Zoomable Canvas related to Silverlight DeepZoom somehow?


6/22/2010 5:09:37 PM #

DeepZoom does more with managing sampling of images at different resolutions.  ZoomableCanvas is about virtualizing and realizing WPF visuals via DataTemplates and the DataContext, based on zoom and scroll position.  Combining the two approaches would actually achieve pretty nice synergy.

web designer
web designer
7/11/2010 7:22:26 PM #

ZoomableCanvas seems promising, hope to see you post a bit more often about it in the future.

8/16/2010 6:19:25 PM #

Is there an implementation of the Virtual Canvas in silverlight?

8/19/2010 3:22:11 AM #

Hi Nick, no I do not have a Silverlight implmentation.  But it should not be too hard to do.

About the author

Chris Lovett is a Software Engineer at Microsoft working on Windows Phone.

See Resume in SVG

Month List