Open XML Format SDK - Class Diagram Explorer in Silverlight 2.0 Beta

Last week I had the great opportunity to do my first experiments with Silverlight 2.0. I was truly fascinated to discover the power that this technology offers.

My favorite feature so far is the Deep Zoom functionality. Deep Zoom allows you to zoom in an out an image or collection of images using your browser. It follows the same navigation principle used by, where you use your mouse to zoom in and out a map. Not sure if you have seen the very cool Hard Rock Memorabilia site announced at MIX this year. This is the coolest Deep Zoom demo of all I've seen so far.

Open XML Format SDK - Class Diagram Explorer with Deep Zoom

Many times I've shared with you that I am a visual person and that I really like looking at maps, roadmaps, posters, or diagrams to learn something new. For example, while working with an API, I always find useful to look at class diagrams. I know I can always rely on Intellisense to discover what to do with an API, but to me, class diagrams are a useful tool since they also provide the big picture of how classes relate to each other. Just by looking at class diagrams you can understand the inheritance between classes and you can also see all the members and types of each class.

When we document an API, it's always challenging to provide a full-blown class diagram as part of an SDK or online documentation on MSDN. Some APIs are huge and there's no way we can publish a complete class diagram image in a MSDN online topics. Sometimes we just create partial class diagrams with the most relevant objects because of the space limitations we have.

Las week, while releasing the Open XML Format SDK -April CTP, I thought it would be cool to create a Silverlight 2.0 Beta Deep Zoom app that would allow us all to explore the Open XML API class diagram. For that reason, I created a Deep Zoom app and I am publishing it today so you can play with it and use it as learning tool.

I am posting my Silverlight app here in my blog so you can get the idea of how it works. Use your mouse to click and zoom in and out.

If you want a full screen view of this app, you can access it from this url:

I used Visual Studio 2008 and the Deep Zoom Composer app to create the Open XML API Class Diagram Explorer. My sample app is based on the Deep Zoom Sample with MouseWheel / Pan / Click-Zoom app published by the Expression team.

Silverlight 2.0 Beta and Deep Zoom Resources

If you want to learn more about Deep Zoom and Silverlight, check out the following:

Web sites and blogs

I also recommend Arturo Toledo's blog, ScottGu's blog, and the Expression team blog.

Silverlight samples for Office developers

Office developers should look into this. For example, integrating Silverlight apps into SharePoint sites seems to me like a very cool idea.