Microsoft's "client" strategy for next few years became real at MIX08 ( and is incredibly exciting if you ask me) ..
Below are my scribbles during my flight back from MIX.
I considered not publishing this because it feels 'too positive' (or too marketing-like).. if you don't like those, please skip (no harm).
I am sharing to see if any one has feedback. I also want to share for people to understand my current thinking - it will explain future blog posts-. that said, don't unsubscribe to the RSS, I won't have many posts like this one.
If you only have 3 mins, skip to the "Why I am excited section"..
-------------------------
As I fly back from MIX I am thinking of my daughter's upcoming second birthday ( she was born a few weeks after the very first MIX).
Every day I am amazed at how fast she has developed in just two years. This week, I realized another amazing transformation that has happened in same timeframe: Microsoft's client technologies have evolved significantly. At MIX08, Microsoft communicated a very coherent vision for a comprehensive all-inclusive application platform. Microsoft backed up the vision with some pretty impressive customer applications.
The message after Day 1 keynote was:
- From Ray Ozzie: Microsoft is looking strongly at a 'Connected' world ( Enterprise, Consumer, Devices, Entertainment). We are position quite well to address such broad challenge.
- From Scott Guthrie: Microsoft has quickly become a very strong competitor in the RIA space; we are tackling it from all angles:
- Continued innovation to maintain leadership on video quality and to to maintain lowest cost of ownership to video content providers.
- Innovation around other consumer technologies (e.g. DeepZoom) that are included in the Silverlight platform.
- Tooling for developers and designers.
- A comprehensive, extensible, performant platform to address the needs of most RIA scenarios and a client continuum for existing Windows desktop customers; if you need a desktop application you can leverage the same skills (.NET, XAML) and same tools ( Blend, Visual Studio), etc. You can even share the codebase with a few tweaks..
- Strong commitment to cross platform and cross browser, now emphasized by adding Windows mobile and Symbian OS into the equation (via the Nokia announcement).
You could be thinking this is "blue koolaid", but we backed it up with strong partner scenarios. Among the evidence:
- NBC Olympics is trusting Microsoft Silverlight with a once every four years. This is their most aggressive online broadcast project ever.
- The app looked great too. I don't think this was transparent, but the app was coded using Silverlight 2. I am a virtual part of that team and can tell you the bits were real; it was working code and you should expect to see some of it
- Hard Rock Cafe showed Memorabilia, an amazing showcase for Microsoft's DeepZoom technology. I am a big fan of DeepZoom, I think is going to revolutionize how we navigate content and how we interact with displays ( screens, surface, phones).
- AOL showed their new email client written in Silverlight 2. They showed impressive styling capabilities for personalization; they also showed seamless advertisement integration and kept raging on the performance improvements they are seeing. I could be wrong because I am not intimate with this project but it sounded like some of the improvements are via caching on the isolated storage provided by Silverlight (so it goes beyond standards-based) web.
- The client looked pretty good and I kept thinking if they have a Silverlight 2 client, why not make a WPF client and get out of the browser?
- Aston Martin showed several amazing applications: a Silverlight application and a WPF application (interacting with XNA). Beyond their cars being amazingly cool, the demos stood by themselves on the technical aspects clearly demonstrating the on-going need (in some scenarios) for desktop applications ( 3D, hardware acceleration, access to devices, etc.)
- Cirque Du Soleil had a casual and entertaining demonstration of the very complex recruiting and staffing process they go through. I think the biggest highlight of their application is the reuse of the XAML across channels; they used the same XAML and same business objects on their off-line desktop application and their web based application.
- I was a virtual contributor on the Cirque application so I am hoping to get to do another post with some of the details; it was a very interesting show case of "why smartclient".
- There were some WPF demonstrations of their performance improvements around effects. I was standing next to one of our marketing folks when they showcased it; she was not that impressed, looked at me with a "this is geeky stuff, is not it?" and all I could say was "extensibility at this level is very complex and incredibly powerful, this is big for some ISVs and Enterprises".
That was the executive message.. Why does this excite me so much?
This new convergence on the client stack with XAML + .NET is incredibly powerful; this is one of those 1 + 1 = 3 catalysts.
Here are just a few of my reasons ( in random order):
- I spend my time in the Enterprise, where there is still a countless number of requirements that I think is ONLY addressed by smart client applications (which is different from off-line RIA), I think .NET and Visual Studio have a strong positioning in that space; with all the new improvements to WPF ( you should see Rob Relyea's MIX talk) I think WPF adoption will continue to grow, and now we can extend or complement those smart clients with web applications with out compromising on performance, experience, or security.
- This possible reuse for cross platform is going to excite those ISVs that have been holding back in migrating from MFC or Windows Forms to WPF; I think it is now confirmed that the future (for .net developers) is in XAML. This is going to lead to faster adoption of .NET 3.x, it will lead to a larger partner ecosystem ( aka component vendors), more trained developers, more books, more content, etc. It is a good cycle that feeds itself.
- I think the Silverlight platform has enough 'advantages' to continue bringing new customers/scenarios, we are making great progress on the media (video) space, with DeepZoom we are getting a niche on a 'large data navigation space', etc. As Scott mentioned we are above > 1.5 million of Silverlight installs per day; that number will continue to go up with Silverlight 2.
A case in point is the Move networks announcement from MIX, which I forgot to include on the highlights above. - Silverlight is also going to allow a lot of existing web developers to greatly improve their apps. I know plenty of people who do asp .net development and have tried web technologies like Java, Flash, Flex, etc. and have not embraced these other technologies because they did not like the development environment, languages, performance, did not have the skills, etc.; with Silverlight we are giving .NET (server-side) web developers the option to embrace a richer (client-side) web experience with out having to learn new skills, we are also giving them a flexible sandbox ( e.g. isolated storage, x-domain calls, File Access, etc.) that helps them extend their reach to the desktop with out compromising on security.
- I like the Microsoft offering because it has a solid foundation in .NET; you get best of breed tools, incredible flexibility around languages ( C#, VB, JScript, Ruby, IronPython, etc.), comprehensive libraries ( e.g. Web services stack, or LINQ for data access,); as I look at other platforms out there, I am not sure they have the raw power, developer flexibility, architecture, same performance, same language capabilities, etc.
I have to wonder, will competitors be able to keep up as a comprehensive platform? will they need a major re-design that is going to slow them down? - I like XAML and the WPF concepts as a declarative UI platform but I think there is more to these than it being mark-up; the platform was designed with markup in mind and the platform supports it well. I go back to my point above where I look at competing platforms and have to wonder about their foundations and ability to 'evolve' to a 100% declarative model. I think WPF has foundations (for example the property system) that you need to have in order to get to a pure and clean declarative model.
I know there are challenges to overcome, but I see no major blockers and I do think time is on our side.
- Ubiquity is likely the current 'concern' people will raise; you will hear Flash has ~90% ubiquity and Silverlight is just getting started; I respect that, but I am optimistic because Flash and Silverlight co-exist quite well (they are not mutually exclusive like Windows and Mac OS were); all it takes is for a user to go to a site that needs Silverlight for it to be installed. These are tiny/free plug-ins we are installing so I expect the installs to continue moving fast..
That sums up my excitement post MIX. In a few words, I think Silverlight's cross-platform opportunity is going to be the catalyst or accelerator for both RIA and Desktop applications written using .NET and XAML; I am excited about what will come in the next 12 to 18 months.
Comments
Anonymous
March 16, 2008
PingBack from http://msdnrss.thecoderblogs.com/2008/03/17/microsofts-client-strategy-for-next-few-years-became-real-at-mix08-and-is-incredibly-exciting-if-you-ask-me/Anonymous
March 16, 2008
PingBack from http://msdnrss.thecoderblogs.com/2008/03/17/microsofts-client-strategy-for-next-few-years-became-real-at-mix08-and-is-incredibly-exciting-if-you-ask-me/Anonymous
March 17, 2008
Hi Jaime I hear positive things about the new runtimes. Integrating this with existing Enterprise investments (like SharePoint etc) also makes sense - and I'm glad that got some exposure recently too. A quick suggestion though -: Silverlight 2.0 needs to be kept as compatible as possible with WPF. I and others have hit some snags (http://devlicio.us/blogs/rob_eisenberg/archive/2008/03/13/there-s-some-darkness-in-your-silver-light.aspx) already. It would be great if somebody could post some guidance on the design - are these bugs or deliberate feature removals? Controls can be easily added to the runtime, but it's very hard to fix internal runtime features like property inheritance, dynamic style templating. I would prefer the team get these right - we can add controls after the runtime is released.