All entries for Wednesday 12 March 2008
March 12, 2008
I spent today attending the Silverlight academic launch. Before I start to summarise, it’s worth noting that I have a background in using Macromedia/Adobe products and I’m very familiar with Flash, Flex and more recently AIR for application development; if this implies a degree of bias, it’s worth saying that I really did try today to take Silverlight at face value. I’ve included my notes/thoughts in brackets, as I wrote them today.
Silverlight – Browser runtime player, now fully released as Silverlight 1.0, runs in IE, Safari and Firefox, currently on XP SP2, Vista, OSX and XBox360. Opera not tested (ignore Wii? and what about PS3/PSP? The installed base must be 50M+ and Flash currently available on all of them). Uses a subset of Windows Presentation Foundation and a declarative XML markup, XAML (this is almost exactly like MXML, who copied who??). Not available yet on Linux, but MS helping Mono guys to make it happen and Novell on board, so it’s coming (expect a similar delay then to AIR on Linux, which suggests Linux will always follow Windows/Mac in this space) but video support is proving hard to migrate. Available on Symbian S60 (Nokia) by end of year and Windows Mobile devices. Installation rate currently ~1.5M daily but want more (hello Windows Update).
Rationale for creating Silverlight – rich user experiences and closer integration between designer and developer (interesting that Microsoft a) fairly late in the RIA game has decided that AJAX/DHTML can’t or won’t offer the user experience required for this ‘new breed’ of applications – I think is partly because there are few mature development tools, but we’re back to a plugin model and b) is reacting directly to the growth in visually-rich applications like those we see via Flex/iPhone/DHTML). Introduced MS Expression Suite, a set of vector/graphics/animation/code tools that blur design and development (Adobe is doing this too with Thermo). XAML and WPF the key here – provides a common foundation/markup language for almost any type of application you care to use it for; can control interaction, logic, layout, drawing. XAML looks to be the glue that binds all future MS products in this space, so designers produce XAML that developers can then use without interpretation – excellent model.
Media support – VC-1, WMV, WMA, MP3, up to 720p and streaming via IIS and also free 10GB (with adverts or nominal fee) via Windows Live, full-screen capable. Hardware 3D not possible yet and if it was, on Windows only using DirectX APIs. Silverlight 2.0 will contain Seadragon, now called DeepZoom, adaptive zooming (very neat, see HardRock cafe memorabilia site for an example_). HTML DOM hooks done really well – Silverlight can manipulate DOM directly, so pages can be a mix of HTML/JS/Silverlight and it’s hard to notice the joins. WPF also has support for digital ink (tablet pc capture) so developing tablet applications just became a lot easier.
Development – primarily .NET based, plus Expression Suite, so there’s a powerful development environment (Visual Studio 2008) and work is underway on IronRuby and IronPython (we could actually use this – ability to lever Silverlight Player by writing Ruby apps could be a winner – Adobe would need to move fast on enabling a similar dynamic language runtime, but .NET has the jump here).
Right, that’s it for Silverlight – overall I was impressed because XAML and the subset available to Silverlight is well-thought out, and takes the best elements of .NET (tools, language interpretation). I did think it was a bit naughty to keep pushing the cross-platform elements of Silverlight and then go on to show us all the whizzy 3D viewport stuff that WPF is capable of only possible in Vista/XP -the loss the the ‘E’ for ‘Everywhere’ is an important distinction between WPF and Silverlight and one that was being glossed over on what was supposed to be a launch for Silverlight). My main thought after seeing WPF was that this is Director/Shockwave for the 21st Century.
USPs over Flash/Flex? None really; the DeepZoom feature is cool; seamless zooming of hi-res images could be used for many applications in education and mapping, and is harder to do well in Flash (and it’s already been done in Flash. XAML doesn’t need compiling to work either – Bradford doing work using XAMLPad and more recently KaXAML, allows students to explore 3D modelling without heavy tools, but already there are XAML exporters for Lightwave, Illustrator (clever – XAML is so close to MXML and if you remove any platform-dependencies on Adobe users and persuade them to use your runtime, you’ve narrowed the leap). The 3D stuff in WPF looks great, but WPF loses the E for everywhere that was the codename for Silverlight, so WPF is Windows-only, which isn’t to say it’s not good, just platform-dependent. What XAML gives you is the ability to target multiple platforms simultaneously, but Flash/Flex and AIR do the exactly same thing though and with more platforms, and Silverlight doesn’t seem to offer anything major to Adobe platform developers. Apart from ink, IronRuby and DeepZoom I didn’t really see anything profoundly different from Flash, Flex and AIR. That’s not to say what Microsoft has done isn’t impressive – it’s created a tightly-integrated framework that will take its developer base into new areas, and created a competitor to Flash that should drive both platforms moving forwards. Taking a counter-view however, you might say that what MS has done is muddy the waters for users, requiring them to install yet another plugin for a product that actually offers nothing over Flash.