Around the world, people are preparing to gather together to celebrate the holiday season, to give and receive gifts and to sing carols.
This year sees the start of a new tradition that our children and our grandchildren will preserve and pass on: the sending of Silverlight-enhanced Christmas cards! I've received some fun ones - thanks to those who have shared them with me. Here are a few:
Anyone else got a cool Silverlight Christmas card to share?
Kapow! Shazam! Zing! Mary Jo Foley from ZDNet drove in hard with a right hook last week, referencing my recently-returned-from-hiatus series of great WPF applications and asking why Windows Vista didn't have more killer applications. As one of her correspondents notes, and even Wikipedia highlights, the notion of a killer application is both rare and perhaps something that is better observed in hindsight than at the time. Windows XP and Windows 2000 were both great successes, but I can't name any one application that was the tipping point for industry adoption of either.
From a development standpoint, the killer application is less relevant than the killer platform. This needs to strike the right balance between feature richness and ease of use, between power and flexibility, between ease of deployment and performance. Can you build an application that takes full advantage of your machine's hardware? Can you build an application that your customers love to use? Can you create faster, more feature-rich, less buggy software with fewer resources? My intention in writing this series is to try and highlight great applications that take advantage of WPF - the killer platform in Windows Vista!
Which brings us nicely on to one of the more amazing WPF applications that I've seen recently. This application came up in our team meeting today, and we were all noting that it's not had nearly the exposure it deserves. The application is the HP Interactive Canvas, built by Obscura Digital and Look or Feel for the Wall Street Journal D | All Things Digital conference held in May of this year. Created in just four weeks, this application takes full advantage of WPF to deliver a massive multi-touch interactive video experience. It's hard to do it justice with a couple of lines of text, so I'm going to break my usual moratorium on all things Google (!) and post this YouTube video that gives you a quick sense of the experience:
In the video above, you can see that multiple users are able to use their fingers to manipulate different objects on the screen: musical instruments, a photo and archive video collection, real-time stock symbols and charts. Obscura claim it is the world's largest multi-touch interactive video display. The application blends a high-resolution display with prototype hardware to bring the alleged Holy Grail of user experience to reality: the Minority Report interface.
Much of the work for this application was done by Darren David, a self-proclaimed "GUI geek" who was also responsible in large part for The North Face's in-store explorer application. He's got further videos and photos of the Interactive Canvas on his blog, which is also a great read on advanced WPF development. Keep an eye out for another similar application that he's going to be posting about in the next 24 hours too - another good reason to be subscribed to his blog.
Although we're all too proud to admit it, I doubt there's anyone reading this who doesn't love to while away the odd bit of free time perusing sites like YouTube and break.com for funny videos of stupid people doing dangerous things. However, there are few individuals who have been more successful at combining funny, stupid and dangerous than the team behind the popular MTV show Jackass, and the several blockbuster movies based on the same premise of a few guys doing everything they can to humiliate and physically damage each other in the name of entertainment.
With their latest movie, Jackass 2.5, the studio is trying a transformational new approach to movie distribution. Instead of relying on box-office revenue, they have partnered with Blockbuster to make it available for free directly over the Internet, funded through advertising.
This is an Internet first - an online premiere of a full-length feature film, distributed exclusively using Silverlight and a rich media content distribution network provided by Limelight Networks and Microsoft. Blockbuster anticipates that this will drive millions of streams over the next couple of weeks, and their choice of Silverlight over alternative competitors is evidence of its ability to provide a powerful and reliable solution for a high-volume project. Silverlight is taking off - we're seeing downloads of the 1.0 plug-in rise exponentially over the last few weeks as many big sites go live.
Jackass 2.5 will be available online, right here, free to anyone in the US aged 17 or older, between December 19th and December 31st, 2007. It's exclusive to Silverlight at first, and then will be made available for sale online.
As my mother would say, it's not funny, and it's not clever. But I'm guessing she doesn't fall directly into the Jackass target demographic...
I just wanted to clarify something that is hopefully already pretty well understood. As folk know, we released an alpha of Silverlight 1.1 at MIX, and there are lots of people who would love to use it even in its current form. It's great to see the excitement around using .NET for web development, of course, but Silverlight 1.1 (now known as 2.0) is not ready for "Go Live" usage at this stage, and the EULA explicitly prohibits deployment in production sites.
Why is this? Primarily it's because the currently-available 1.1 bits were produced very early in the development milestone, and they are not being actively serviced. If you have Silverlight 1.1 on your machine, the latest version you are likely to have is 1.1.20926.0 (where the last four digits of the build number indicate that this build was compiled on 09/26, i.e. September 26th). We actually shipped a maintenance release a couple of weeks ago for 1.0 (build 1.0.21115.0), but we're not attempting to keep the 1.1 alpha build in sync with this. (Hey, it's a developer preview build!)
The net impact of that is that if you have the 1.1 alpha on your machine, you may find that some 1.0 sites won't load successfully on your machine (in their manifest, they may require the maintenance release as a minimum build number). This shouldn't be an issue for any consumer in the "real world" - it's purely something that will affect a developer who is living at the bleeding edge by installing alpha software on their machines.
And that’s why we’re not clearing 1.1 for "Go Live" / production usage at this stage – we don’t want it to be broadly deployed. It's not fair for us or anyone else to inflict alpha-quality software on their customer base to view a website! We'll have a solution here by MIX, but I hope this explains the intent behind the current licensing.
Here's a cool little Silverlight 1.0 application that our team (specifically Adam) assisted with over the last week. In the run-up to Christmas, I'm sure a lot of us are told that we're "hard to buy for". Wouldn't it be nice if there was some way to give our friends and family a few gentle pointers without having to spoil all the surprise by being prescriptive down to the stock keeping unit level?
Enter the Christmas CoolWall. Adopting an idea from the wonderful auto-related Top Gear television program from BBC TV, the CoolWall allows you to find images of different items and sort them into categories of "Seriously Uncool", "Uncool", "Cool" and "Sub-Zero". You can also annotate the images with comments ("the Halo soundtrack is cool, but not on cassette tape please"). Having built a cool wall, you can save it, copy it as an image, or send it via email to a friend.
All this is, of course, built in Silverlight 1.0. The application demonstrates a range of capabilities: integration with Live Search and Live ID, HTML / Silverlight integration, reuse of simple controls written in JavaScript, ASP.NET server integration. It's not the most complex application ever written, but it's a bit of fun in this holiday season. The application was originally prototyped with the Silverlight 1.1 Alpha by Dot Net Solutions, a UK-based solutions integrator firm, and as a bit of fun, Adam agreed to try back-porting it to Silverlight 1.0 to see whether everything they'd implemented in C# could be as easily accomplished in JavaScript. I've noticed a certain preconception that Silverlight 2.0 is the "one to wait for" because it's the platform that allows you to use a "proper" language like C# or Visual Basic. Of course, having .NET languages, the base class libraries and technologies like LINQ will make RIA development a ton easier, but it's impressive what you can get out of JavaScript, particularly when coupled with the client-centric Microsoft AJAX Library. We're considering recording a Channel 9 video or something like that where Adam can share some of the more interesting experiences he gained from this application - we'll keep you updated.
See the Christmas CoolWall here. You can also see my own (rather fanciful) wishlist, if you're interested. And give it a try!