On October 4th, Steve Ballmer was in Switzerland. The Swiss Developer & Platform Evangelism team, to which I belong, organized a public event with a keynote for him. After this keynote, I was supposed to be on stage with my colleague Sascha Corti to present the "next generation Internet application". Unfortunately, a mean virus has kept me away from stage and close to the.... Anyway, I just wanted to share with you the high-level content of that presentation that, by the way, extends pretty nicely one of my previous post (User Experience Matters)...
Let's start from the beginning. If we focus on User Interface Technologies, we can identify 3 types of them: Desktop Client, Web Client, and the new Rich Internet Applications (figure below).
Within these categories, we find today excellent tools/technologies on the market. However, we don't see any of them that can cover the three types with excellence.
But Microsoft :-)
With the newcomer Silverlight for Rich Internet Application, we can complete a picture where
And even more interesting...
... all these technologies rely on the .NET Framework*, making virtually any .NET developer capable of using his .NET skills at best for developing desktop, web, or RIA applications!
[* Regarding Silverlight, I am considering here version 1.1 and successors]
But it is even better...
... because as a developer, I can use the same, familiar tool (Visual Studio) to develop every type of application. Additionally, the latest technologies based on XAML (WPF, Silverlight - see below for additional details), allow a seamless cooperation between Designers and Developers, who can work simultaneously on the same project without disturbing each other - The one designing the user interface with Expression Studio, the other building the business logic.
Isn't this cool?
In this second part of this post, I would like to focus on the newest Web UI Technologies: ASP.NET AJAX, Silverlight, and WPF rendered in the browser (.xbap).
In my previous post User Experience Matters, I have already started discussing them under the reach vs. rich perspective. I do think that this is an excellent approach to identify which technology should be chosen for which scenario. For this reason, I have tried to "enrich" my previous slides with more details.
If we consider reach, the requirements of these technologies on the desktop systems are the limiting factors. Here, the summary:
As we can clearly see, we have a situation where
So, considering these limitations, for which scenarios is meaningful to consider Silverlight and WPF for Internet applications? The following slide helps to answer this question:
If we look at rich, it increases from left to right.
v The canonical example for AJAX stile site is mail.live.com.
Silverlight raises the bar pretty higher. In fact, it allows an XAML-based declarative definition of the user interface, which is fully scalable (vector graphic) and able of rendering rich 2D animations. Additionally, one of the strengths of Silverlight is the ability of rendering videos (and audio), even in HD format. If your goal is to develop an application with rich media integration and animation, AJAX is not the technology for you and you should look at Silverlight instead.
v Examples: Airlines Demo, Tafiti, Halo3 Interactive Game Guide, Allblacks gadget, hsn,... and many more, some of them are listed on http://silverlight.net/showcase/
If you want to raise the bar even higher and you target to develop applications
then WPF is the technology that serves you at best.
v A few self-explicatory examples: British Library, Woodgrove Finance, NY Times reader
About one month ago, Silverlight has been released in his version 1.0.
To help Mr. Everybody's site to include video rendering capabilities within its assets without having the sorrows of building the necessary streaming infrastructure, Microsoft offers free streaming services for Silverlight.
Under http://silverlight.live.com you can upload up to 4GB of (video) data for free. Microsoft Live delivers you the infrastructure to efficiently stream your videos all over the world.
Once again, isn't this cool?
Silverlight 1.1 is the future of Silverlight.
In a way, it is what most of us were waiting for: The possibility of using .NET to implement applications that target non-Microsoft OS's. With Silverlight 1.1 and its CLR Core, developers will be able to use the .NET object/programming model, as well as the .NET tools (Visual Studio), to develop browser applications that will run
Another important feature that will be delivered with Silverlight 1.1 is Digital Right Management capabilities. Silverlight 1.1 will support PlayReady DRM.
I hope this was helpful and that you will continue reading my post.
Take care and start silverlighting right now!