Our journey in creating immersive experiences with Microsoft Silverlight Deep Zoom
Now that we’ve completed our second Microsoft Silverlight Deep Zoom application – case studies are coming soon - I want to share a number of things I’ve learned about Silverlight, Expression Blend and WPF in regards to this new technology.

First of all, and it pangs me to say this, but Deep Zoom is only as cool as the content that you’re zooming in on. That’s what makes Hard Rock Memorabilia so compelling; well, that and the terrifically smooth interface.
High-resolution imagery is vital. Getting the rest of a Silverlight application to look good with the zooming portion is also key. Yet, the most important aspect of all is enabling the user’s mouse to work as expected. When their mouse doesn’t work, people are left confused and frustrated.
Before writing code that handles the mouse input, you have to answer these four questions:
• Does clicking on a given image zoom in to that particular image?
• Does clicking zoom in /out or do you provide other controls to do that?
• Does the mouse wheel zoom in and zoom out?
• Does dragging your mouse move the image around?
Generally, the answer to all of these questions is yes, but there are situations when several of these don’t apply. In general, the mouse needs to feel like a natural way to interact in a three dimensional space. This is what we’ve found to be the most difficult part to orchestrate.
Expression Blend is an excellent WPF editor and saves considerable time compared to Visual Studio 2008 (VS 2008) for quickly changing the look and feel of your interface. As a pure code editor though, I’ve found it lacking. My suggestion is to stick with VS 2008 for the coding part. Make heavy use of the “Start Without Debugging” feature, especially for testing style changes – it doesn’t lock the code files and starts really quickly.
Zooming and panning of the MultiScaleImage (MSI) has many quirks and some strange anomalies. I’m still not sure if Deep Zoom Composer or the Deep Zoom API introduces those behaviours.
If you click in the exact center of your MSI and then display the point coordinates (X, Y) the X is always 0.5, which is what you expect, but the Y seems to vary depending on the source images. I’ve found that the number ranges from 0.27 to 0.33 – neither of which makes much sense. If someone smarter than me knows the answer, I’d love to hear it. I have the contact information for the genius that created Deep Zoom Composer – Ron Karidi, a researcher from Israel – and I’m planning to ask him that one.
I’d love to hear about your experiences with Deep Zoom. Finding applications that are really well built is presently a difficult task. In general, I think that Deep Zoom and the applications built upon it will continue to improve.
We love the experiential concepts behind Deep Zoom and can’t wait to discover new and innovative ways to utilize this Silverlight technology for our projects.



Add comments