The Rich Web, The Rich PC & The Rich Device.

I was going to do a MIX07 wrap-up, but it's been done to death and to be honest, I spent a bulk of my MIX07 experience meeting and greeting a large number of folks whom attended (I counted around 40 business cards at one stage). That being said, the common questions I was given were around where Silverlight sits, how does it relate to Adobe Flash and more to the point where to from here?

Silverlight's Posture

It's a basic equation, how does one give developers the ability to go beyond the initial browser experience offered today, whilst more importantly nurturing their existing skill set(s). Let's face, it we all hate having to learn new things as it gets in between shipping an end result and having free time to innovate on the next series of projects.

This is extremely important, as you being a developer have to evaluate where you next go in your career, is it about changing languages (I've just flipped my entire language portfolio, it's not easy) or is it about changing perspective. I look at Silverlight as an extension of ones current core competence in most programming cubicles around the world and that is JavaScript/HTML. It's a language which at the best of times seems to smack you in the head when you least expect it. It doesn't offer much in terms of innovation and whilst we saw exciting movements in the AJAX space, it didn't really change much other then illustrated that we can architect the pieces we already had in a much more efficient and innovative way (via the means of a methodological approach).

Silverlight is looking to take that core skill set, and provide an extension, a tunnel if you will into the Rich experience driven application(s) and it's only version 1.0. It's got potential and capabilities to go further into the device channels, by providing a secure context driven environment in which the browser sort of gets an upgrade, patch if you will to help formulate a more focused understanding of the possible roadmap forward for Silverlight.

It's quite a unique value proposition when you take a step back, where we have a runtime solution which not only will offer you the similar metaphor for building web applications, but it has services and pieces already in place to empower you the developer to build up from. It's version 1.0 and already you have the capability to write your own online Video-ware application that has full streaming and free (up to a point). Already it's version 1.0 and you're first hurdle is to pick which tool to use in order to build with, then there is the entire features within this tool that are quite extensive and rich. You're going to be drinking from the fire hose with your first "Hello World" application, but like other solutions of past, you got through it eventually.

Silverlight as a channel of delivery is looking to expand its horizons beyond the browser and into other areas such as devices. It won't happen overnight, but it will happen it's only a matter of time.

Silverlight and Flash

You get this a lot, the flash killer syndrome whereby a lot of Flash developers around the world are concerned that initially all the years of experience they have invested is subject to being terminated, thanks to Microsoft. It's not that easy I'm afraid, and more to the point it's not the approach going forward. This is an emotional issue, it is one that should be discussed more but not from Microsoft or Adobe, but more to the point from the community overall. Up until now, the RIA community has been somewhat self-contained in either Adobe's hands or the makers of AJAX Frameworks hands. The notion that these communities can co-exist is proven, and more to the point there is now a third option, Silverlight Community (It's "Our" community not "Your" Community, Our being all of us not one single brand). Microsoft offers this community (Silverlight) one thing and only one thing, a focus driven approach to empowering these users in the ability to develop, design, deploy and distribute there Rich Web experience. In doing this, it's Microsoft's burden to figure out what makes all of you tick, what keeps you motivated and how can ensure there is interoperability with brands like Adobe.

An example of co-existence is Adobe Flash has ExternalInterface API, one of the best API's i've seen in quite some time, and not being used as effectively as it could be. It's possible today, to use this API to leverage the capability and power of pushing/pulling data through remote servers such as Flex Data Services or WebORB. There as many more scenarios in which if you look close enough, and keep a agnostic approach you will uncover other pockets of commonality between the two.

Silverlight plays well with others, in it's transparent open format, it will provide developers the ability to harness it's language(s) to integrate with various pieces online in the RIA space. If you isolate by itself, then you will need to move beyond the Flash Killer instinct as you're setting yourself up for an emotionally charged debate, which will have no ending.

Silverlight and where to from Here?

It's simple, to broaden the Internet reach from beyond the Rich PC into the Rich Device arena. The notion of sharing one day a Silverlight application inside concepts like Windows Live Messenger, using Windows Live Platform that connects to Microsoft XBOX 360 all the while using Silverlight as the connecting piece. To top it off there, to then provide developers a unique value proposition, learn C# once and only once.

You could argue you need to know XAML, but when you begin to use the Expression Studio it becomes clear that when you are learning XAML it's usually due to a limitation in the Expression Studio offering, something in which Microsoft will pay close attention to going forward.

I for one have noticed the one emerging pattern amongst all of the Expression Tooling, that is it's primary focus is to remove the burden of choosing what type of plumbing an application is to use, but how to get developers and designers shipping innovative applications so that they can push the Internet to the next tier of experience (whichever that maybe).

The tag line Silverlight uses, "Light up the web" can mean many things to many people, but for me it's casting the first spark, the fusion of ideas around RIA and how concepts like Web 2.0 clouds can be combined with products offered by Microsoft while at the same time provide paths for other brands to play a role in.

I've been reading a lot about how the DLR is both good and bad, but you're missing the point as it's about providing the notion, the idea that Silverlight is looking to integrate and to what, is your job. You need to figure out where the blank canvas is going to take you once you've got the swing of it all, as the demo's found in MIX07 illustrated that with imagination and determination you can create a lot from  little.

Cynergy Systems a brand well regarded in the Adobe Flex community announced today they will support Silverlight. The key word is support, not replace. They get it, they get the notion that this isn't about one brand vs another, it's about being relevant to their customers and Adobe and Microsoft can play multiple levels of roles in enabling this notion to carry forward.

Feel free to comment in anyway you want, personal flame, anonymous the works as I'm looking for the next pain point developers & designers have, as so far with both brands I think they are covered now (Best of all, you have potential to move into three tiers of experience as well (Ultimate, Great and Good).

The Silverlight Team have your back.

Lastly, I spent a lot of time with various folks in the Silverlight Team and these folks have put in some enormous amount of hours to get Silverlight online this week. I've heard stories from both the developers, support squads, marketing teams through to the executive level on how hard they have worked to make all of this happen. I am amazed at the level of skill that has gone into making this happen and when I was first shown an internal build in February 07, it wasn't all that exciting. It's now April and they have exceeded my expectations 10 fold, and already they are thinking of 1.1 and beyond. Think about it, why would 1.0 be released now, and 1.1 at the same time? it's about getting the latest pieces to you as soon as they can, as they are curious to see what you do with it as history has proven in this space that designers & developers can take something, flip it on it's head and change a products future quite easily.

I watched Mike & Joe yesterday stare in amazement at BBC Radio application and was glad that they got to see how something they both worked hard on get flipped into a new innovative approach. It inspired them, and it may have unlocked the next feature or idea for Silverlight 1.2 and so on. Software is never perfect and inspiration is what keeps it from decaying, as it physically can't by itself.

It's a simple task given to you, make the most craziest, stupidest hello world Silverlight application today and show Microsoft which direction you want to head with it? It's more productive then comparing it to other brands right?