I attended the Perth SharePoint User Group meeting today kindly presented by Young Oh of ReachPoint title "SharePoint + Silverlight = ?". Young covered:
- Silverlight – What, How, and Why?
- Silverlight for SharePoint – extending SharePoint capabilities with Silverlight
- SharePoint for Silverlight – developing Silverlight applications using SharePoint object model and content database
Young demonstrated the Silverlight Blueprint for SharePoint CodePlex projects. He demonstrated consuming SharePoint Web Services via a interim WCF web service within Silverlight hosted in a Windows Presentation Foundation (WPF) Application in Vista, a normal Web Application and also a Web Part within SharePoint.
My concerns around this whole subject are around the already enormous Roles and Responsibilities required around SharePoint that I've discussed previously and now adding Silverlight to the equation which means XAML, Expression Blend and the Silverlight .NET Runtime.
I can see the advantages Silverlight will give to a user interface.
- Drill Down Organisation Chart
I have done some work around Organisation Charts in Silverlight consuming Active Directory details and SharePoint User Profiles to enhance the OOTB SharePoint Org Chart Web Part available on MySites which are very basic. - Advanced SharePoint List View Web Part
Imagine not having post backs when clicking through the pages on a SharePoint List View Web Part that appears everytime you see any List in SharePoint. Or the ability to filter/sort and see almost immediate results. The perception of SharePoint as a platform will increase amongst users who find old school ASP.NET page refreshes out of date compared to what they are used to in the Consumer space with Facebook as an example.
"WCF is easy"
I'd just like to point out that WCF is easy on the demo circuit, but in practice is a very complicated beast. If your project works fine using the "New Project" in Visual Studio then count yourself lucky. IF you messages return large result datasets or you want to pass files around, then you're in a whole world of WCF web.config pain. I'm sure this will become easier over time with Wizards etc. or templates you can just steal, but for now it's heart ache.
Silverlight and WPF
Young did also bring up a pertinent point about one difference between the Adobe Flash platform (of 10+ years) and Microsoft Silverlight in that Flash will run natively as a Application on an Operating System. Whereas Silverlight will not because it has a bigger brother in terms of WPF. There are ways of developing XAML applications that will run on both Silverlight and WPF, but for now these aren't "out of the box" paradigms.
Silverlight maturity
You have to remember that Silverlight isn't that old and v1.2 became v2.0 overnight. There are still a heap of things that need to be sorted out in Silverlight such as printing support.
Silverlight did got a lot of "geek exposure" during the Olympics held this year with streaming from the MSNBC web site. Rumours are rife that the reason Silverlight vNext has been delayed is due to the scaling issues that have become apparent from this experience. NBC reportedly dropped Silverlight for it's streaming technology during the games and reverted back to Flash technology which again highlights it's maturity in the marketplace. Other issues are occurring after the games due to Flash's dominance in the market with a 98% market share. Maybe Microsoft were just too late to the party on this.
Personally, I found Expression do be less than stable and I think another few versions need to appear before it's an IDE that will not taunt users.
Conclusion
I really can't see Silverlight taking over entire interface for SharePoint quite yet for a lot of reasons. The main one for me being that it puts all Microsoft eggs in one basket with UI. People are still coming to terms with ASP.NET 2.0 Master Pages and Page Layouts, moving the whole thing into Silverlight within the next two versions would be a huge migration for companies that have invested heavily in the existing UI.
I think a more realistic scenario is for Silverlight Web Parts to be released to cater for more advanced UI, such as the Silverlight List View Web Part...who wants "sexy" config screens anyway...bring on Powershell commands ;-) (if you listen to the rumour mill).
For my collection of diigo'd links Silverlight and for Silverlight and SharePoint.