Two weeks ago I had the opportunity to attend the Microsoft PDC conference in Los Angeles, California. The conference was a three day event, focused on all the new things a Microsoft Developer would/should care about. I attended the conference with two Microsoft developer evangelists based in Minneapolis, Mike Benkovich and Jeff Brand. It was really nice to be able to immediately discuss the new information with Mike and Jeff. It made the news easier to absorb and formulating the implications much fasters.
There was no shortage of new announcements or education that came out of PDC for me. Visual Studio 2010, Silverlight 4, .Net 4, RIA Services, Sharepoint 2010, Azure, SQL Server 2010, and a host of new services that were discussed. I’ll attempt in this post to cover some of the things I experienced personally, having not yet been able to review many of the recorded sessions online.
I am the leader of the Silverlight user group in Minneapolis (
www.TCSLUG.com), so the announcement of Silverlight 4 and the release of the beta was obviously the show’s highlight for me. We have just barely gotten our production systems upgraded to Silverlight 3, and now Silverlight 4 is out in beta. I had a chance to talk 1-on-1 with Tim Heuer (Microsoft Silverlight Program Manager) on day three. Tim has a very nice list of the new Silverlight 4 features on his blog.
http://timheuer.com/blog/ To find the list, which is already far down the page on his blog, do a search for “What’s new in Silverlight 4 – feature review”.
Microsoft did a fantastic job of listening to the developers about what new features were required. Nine of the top ten requested features were included in the beta. I believe Silverlight on the iPhone was the only one in the top 10 that wasn’t addressed, the solution to which requires Apple to make some efforts towards the solution, if I am not mistaken. Topping my list of new features are: printing, right click, native mouse wheel support, implicit styling, drag-n-drop between OS and app, clipboard access, HTML hosting, and local file access.
Silverlight was obviously the darling of the show. It was on everyone’s mind and was often the most highly attended sessions. You can find all the sessions and view the recordings at
http://microsoftpdc.com/Sessions.
Stepping away from what’s new and answering the question “So what does this mean?”: Many of the people I spoke with during the conference and after, asked this question, “If Silverlight 4 can do (almost) everything I can do in WPF, why would I choose WPF?” I think the answer to that question is, “You probably wouldn’t.” I recently listened to a PDC review podcast on
http://www.theregister.co.uk by Mary-Jo Foley and Gavin Clarke. Mary-Jo put this in perspective very nicely. Microsoft wants Silverlight and WPF to merge. Originally Silverlight was called WPFE (E = Everywhere). So this is just one of those steps, albeit a big one, to bring the two platforms together.
The fallout of this big step is tremendous fodder for the anti-Microsoft community. Many of the new features result in a “broken” cross-platform story. This is both true and not true. Silverlight will run cross-platform in version 4 just as well as it did in version 3, but now some developers will do some things that will only work in IE on the PC. I have not yet found the list of features that are PC only, but I know they are there. Allowing Silverlight to access COM objects is an obvious one to point out. So why did Microsoft do it? Doesn’t this give Flash a leg up?
Here are my two cents. Microsoft has always been about business applications. I don’t know of any developers that write applications for business, who were less than thrilled with the new features announced. If you want to make movies, draw pictures, and have an “experience”, historically your choice would have often been a Mac. If you wanted to run a billion dollar business on a distributed computing platform, Windows was often the choice you made. I personally believe that Silverlight is now going back to bring along the gigantic census of enterprise line of business applications that have been built over the last decade on the windows platform and is saying, “I understand, and can address your needs too.” The population of users that Silverlight 4 can add, is much more dramatically increased by looking to the ones “left behind”, compared to those who are on the fence (an may choose Flash) going forward.
I understand there are those who will happily march down the street with a peace sign saying we should all get along, and Microsoft broke the rules of multi-platform support. To those folks, I offer this: by following the multiplatform rules, there is a far bigger population of users that are left out, than are included. So which is better? Besides, it is up to the developer to decide to jump off the multiplatform bandwagon. Don’t blame Silverlight for not putting developers in a cage to ensure they stay multiplatform. Rather Silverlight 4 is giving them the ability to make the right decision to be platform specific for their business needs. Furthermore, good developers will make most of their application’s features available in the multiplatform way, with only specific sections, critical to the application’s business requirements, available only to the PC users. Now that is pretty cool if you ask me.
Here is where the multiplatform issue can fail for Microsoft. Does anyone remember all the HTML issues with earlier Internet Explorer? IE 6 ring a bell? I remember building ASP.Net sites, happily trudging along, debugging in IE6 (the default browser), only to find that major chunks of my javascript and CSS didn’t run in other browsers when I thought I was ready for release. If Microsoft wants to win the multiplatform issue, my advice is this: any time a developer elects to do something that isn’t multiplatform capable, kick out a warning that says so. Don’t let developers unknowingly break the rules of multi-platform support, without explicitly telling them they are doing so. Yes the developer should just know better, but help them and you help yourself in the process.
Additionally, Silverlight exposes a security risk when running in full trust mode. Anyone who has ever studied how users actually use computers knows that many people will click “OK” for anything they are presented with, without reading the prompt. It won’t matter that the user said it was OK for an application to run in full trust mode, if that application deletes all their files. In the end Microsoft will be blamed and Silverlight will be uninstalled from every corporate environment because of it. Silverlight 4 running in full trust mode (which the user will have to grant, but will likely do so because they are a compulsive clicker) will make it easier for hackers to hurt users. Addressing this issue through requiring digital signatures and certificates (or some other way to prevent the happy clickers from hurting themselves) may be the only way for Microsoft to avoid a big black eye. Digital signature won’t stop the software from doing bad things, but it will help to identify who did it, thus removing most hackers. Hopefully Microsoft already has a solution to this. Perhaps there is something I’ve not yet uncovered in the limited exposure I’ve had so far.
The new features that come with Silverlight are extremely powerful. They greatly increase the breadth of business and personal computing needs that software developers can address. The rapid pace of improvement makes this an exciting and challenging time to be part of the Silverlight community.
See Part 2 for the Azure part of the PDC review