This week a wider audience got their first glimpse of Medieval Dublin in Silverlight DeepZoom as the Noho & Silver City Christmas card was released. The card gives a sneak preview of some of what’s to come in 2010 as the Medieval Dublin II interactive experience and online game near completion. It’s not bug free, but it’s getting there.
Back in June, when I first started tinkering with Silverlight, I had mixed first impressions. The procedure required to install the authoring environment is, quite literally, a dog. You need Visual Studio, countless upgrades and patches, the Silverlight toolkit, Expression blend and a few more service packs… it took nearly two days (and several attempts) to get it all right!
Having got through that trauma, I was impressed at the way Silverlight authoring works, XAML layouts and the “code behind” structure separate function from form, and while it lacks a design tool within Visual Studio, this wasn’t something I missed from Flash. I don’t design, I build. I didn’t (perhaps as a result) bother working with Expression Blend. I like the old tools I’ve relied on for years… Photoshop, Illustrator, and emails to the designer
Being a developer, receiving designs and breaking them up into XAML was second nature, having spent years creating websites from Photoshop flats. When the time came to write the code, I was immediately impressed by Visual Studios dynamic code correction tool. Not sure what it’s called, but it’s great… it’s aware of any imported classes, declared variables and prompts you to include them, auto-completing as you type. Nice.
The technology that the Medieval Dublin project uses is called DeepZoom. Flash can do this, just not quite as quickly and easily as the tools that have been provided for Silverlight. The guys at Noho gave me a 40 megapixel render of their Dublin map to import into DeepZoom using DeepZoom Composer.
It took a few attempts (unsurprising given the size of the image) but eventually I had a DeepZoom prepared image for use in the app. From there began the process of adding interactivity, some visual effects and other media. Most of this was relatively simple, video, imagery, audio elements … all were integrated painlessly in the Silverlight app.
The biggest challenge I found was in the DeepZoom system itself. The MultiScaleImage element in SilverLight is documented pretty poorly, and the default SilverLight project exported from DeepZoom composer has some dodgy code which contributors around the net have corrected and posted for dev’s to use. I had to piece together hints from lots of different sources.
Of course, statistics as to who actually saw the e-card when sent will be interesting, as the biggest problem with Silverlight is it’s install base. To encourage users to install the plugin I set up the web page to degrade from Silverlight to Flash to a static html alternative enabling a rich-media carrot in the form of a flash video to entice people to proceed.
I hope to follow up with some of the code, once I’ve cleaned it up and made it modular for future applications. Overall, first impressions of SilverLight are that the authoring environment is pretty good, the MultiScaleImage capability has amazing potential and power and that in general, cross platform it’s performance is pretty zippy.
It’s a pity there’s relatively poor documentation online… maybe it’s pitched at Microsoft Devs who’ve been working in VS for years… I don’t know, but I hope to post soon to do my bit to put that right!