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.

-Chris 

Tags:

Comments (11) -

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

Chris,

Is this Zoomable Canvas related to Silverlight DeepZoom somehow?

Cheers.

Reply

clovett
clovett
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.

Reply

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.

Reply

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

Is there an implementation of the Virtual Canvas in silverlight?

Reply

clovett
clovett
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.

Reply

Cherri
CherriUnited States
7/28/2014 4:48:37 PM #

Very useful post, it was my pleasure to find this post.

Reply

Basilia
BasiliaUnited States
7/28/2014 6:04:53 PM #

Nice to see information that can help me is still online.

Reply

Lessie
LessieUnited States
7/28/2014 11:28:12 PM #

I was looking for something useful to read, thanks for sharing

Reply

Carolann
CarolannUnited States
7/28/2014 11:59:18 PM #

I like what you have done here, please keep providing stella information.

Reply

Merissa
MerissaUnited States
7/29/2014 12:00:02 AM #

Love this post, hope to use more of your posts in the future

Reply

cosmetic plastic surgeons Santa Rosa ma
cosmetic plastic surgeons Santa Rosa maUnited States
12/1/2014 1:34:13 PM #

Hello there,  You have done an excellent job. I will certainly digg it and personally recommend to my friends. I'm sure they'll be benefited from this web site.

Reply

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading

About the author

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

See Resume in SVG

Month List