I have left Microsoft and this blog is no longer under my control. All of the content should remain for some time however and any new updates can be found at http://davedev.net.
-Dave, September 2013
Since PDC10 I have a had a lot of 1:1 discussions with you in regards to the future of Silverlight and the work we have been doing with IE9/HTML5. Those of you who have seen me speak know the emphasis I placed on what I saw the future of Silverlight being. The ability for.NET developers to reach people with engaging experiences wherever they are. Web, PC, Cloud, Phone, TV and even SharePoint the opportunities continue to grow. In the past client developers only had a choice of Winforms or WPF – now suddenly our world was opening up. Silverlight also meant we could build these experiences using the same tools, the same api’s and the same skillsets we already knew. You need only look at the growing trends of increased Silverlight jobs and adoption to see how that resonated with developers.
Silverlight and me have kind of grown up together at Microsoft. I started my career 4 years ago right around the time WPF/E (WPF everywhere) was announced. I spent a majority of my first year talking about Silverlight as a web plugin and the benefits it offered to developers and designers. It seems hard to believe but before Silverlight’s release in September 2007 there was no high definition video on the web! With Silverlight 2 and Expression Studio I had the opportunity to show developers how to do things we could never do before on our platform without having a degree in DirectX (or higher some Flash expertise). Suddenly we could re-use parts of our UI through out all our applications, thanks to XAML. For the first time I felt like I could “Draw my interface” instead of coding it. I remember seeing the delight on developers faces at VSLive! when I showed off transforms, media elements and storyboards using Blend. Suddenly the world of video, media, and animation was within our grasp. I was hooked!
There were big changes happening in the .Net Client space. Both from a developer perspective and the enterprise space I was covering. With the release of NUI and multitouch interfaces like Surface a lot of my accounts were seriously beginning to look at User Experience as something they could get return on investment on. No longer was it about “making something look pretty” but it could have real financial impact on my business. I even wrote an article detailing some of my experiences around that time.
All of this interest created a need for talent that had not been there before in the .Net space. Suddenly companies were scrambling to find developers that could not only talk code but could understand what the designers were talking about and bring it all together. Silverlight brought a great Developer+Designer workflow that wasn’t available anywhere else. Teams could seamlessly work on the same projects, using the same languages, thanks to tools like Visual Studio and Expression Studio. This awaked something in me and I was thirsty for learning about good design. I started hitting the books following design gurus like Bill and other nerds turned creative like Robbie. Call us System Integrators, Xaml architects or the short lived “Devigner” term the career opportunities were clear. I could merge my developer world with this new found world of design to bring great experiences enterprises hadn’t seen before.
When Silverlight 3 hit in July 2009 developers saw for the first time the realization of the WPF/E plan. I could now take my web based Silverlight applications and run them directly on the desktop (PC and Mac). Suddenly I was making web and client based applications using the same API’s, the same tools and the same skillsets. Get the picture?
This got a lot of the companies I worked with excited but they kept asking for one thing – full trust. They wanted to run these new found client applications like they could with WPF. And you know what? The WPF team is the Silverlight team is the WPF team. How else did you think they hit 3 releases in 18 months? So the Silverlight team went directly to the developers and asked for what features they wanted to see in the next version of Silverlight. When Silverlight 4 hit in April of this year developers saw 9 out of the top 10 requested features implemented! How is that for listening to developers? Features such as full trust enabled Silverlight applications to reach out in ways it hadn’t before. Webcam support, COM Interop and local file system access all became realities.
I saw an interesting change happen with Silverlight 4’s release as well. Call them Alpha Geeks, Software Craftsmen, or Code Gurus – the big .NET guns started asking me about Silverlight. These were the guys who had laughed when I showed all the “prettiness in Blend” we could do. Leave that to the designers they would say. But with the Silverlight 4’s introduction of RIA Services and the growing adoption of the MVVM pattern suddenly developers in my local community, not just enterprise folks, were seriously coding in Silverlight. I couldn’t have been a happier geek!
It doesn’t take a rocket scientist to see how the devices we considered in the past as PC’s are evolving. Smartphones, slates, and tablets all show growing demand by our customers to compute in different ways. Microsoft will continue to innovate in that space and .NET along with it. The story we had for phone up to that point was not the best one. But, here sat Silverlight this highly capable, performant runtime that could run on very minimal hardware. What would it take to get that running on a smartphone? This is where Silverlight took its most amazing step yet - it became THE PLATFORM for creating applications on Windows Phone 7. Think about that for a second. The stuff I learned over three years ago – the same tools, the same technology and the same skillsets I could now use to create mobile applications. As ScottGu said during the initial unveiling – “this isn’t Silverlight light this is Silverlight!”. I was suddenly getting calls from customers on how they can port their existing Silverlight apps to the new Windows Phone 7. I even took the plunge myself and took Silverlight 2 code I had and made a nice little drawing application out of it called DoodlePad.
So let’s summarize for a second. As a Silverlight developer I could now use the same tools, skillsets and technologies I had been using but my apps could run on the web, on the desktop, in the cloud and on the phone! Not only is that a pretty big technical achievement but it also speaks to the career opportunities that exist for Silverlight developers today (of which there are now well over half a million). Silverlight 4 is exploding in the enterprise right now as companies continue to adopt it as their native solution across all types of devices and screens. Windows Phone 7 launched in the US last week with over 2,000 applications in the marketplace, 300,000+ developer downloads of the SDK and hundreds of apps in the certification queue. That is a lot of Silverlight apps!
So why the confusion? Microsoft is a big company – we spends somewhere in the neighborhood of 6 billion+ dollars a year on research. That means unlike other companies out there we can do multiple things. It means WE WILL invest heavily in Internet Explorer 9 and HTML5 to create some exciting web experiences. It DOES NOT mean we stop innovating with Silverlight. Have you figured out yet that Silverlight is not just a web browser plug-in? Sure it can be used inside a browser to create compelling experiences but that is only part of it. At its core Silverlight is a lightweight, highly functional, .NET framework capable of running across multiple screen, multiple platforms, and multiple form factors.
I might be dating myself here a bit but I am reminded of the mid-late 90s when we had VB5, ASP and eventually Winforms and Webforms. As a web developer I could write apps and as a client developer I could right apps. But Microsoft gave me the option to do both! Where else can you do that? In my career as a Microsoft developer I have been a “web guy”, a “database guy”, a “web services guy” and a “mobile guy”. But I used the same skillsets and the same tools throughout all of that. I think you will see that with IE9/HTML5 and Silverlight as we move forward. There are going to be people who won’t ever touch IE9/HTML5 it is just not their thing. They will be happily collecting paychecks in the world of Silverlight/Blend. Then there will be other self described “webdevs” who get the itch to make a client app and now have that ability to do it through HTML. The main point being that as a .NET developer I can do both. With Windows 8 coming in 18 mos (based on our publically stated three year os cycle), Windows Phone 7 just launching and Silverlight 5 announcements yet to be made it is an exciting time to be a Silverlight developer!
Don’t just take my word for it though come and learn about the future of Silverlight from Corporate Vice President, Scott Guthrie and other experts, direct from Microsoft’s Headquarters! Hear about our plans for the next version of Silverlight, the latest developments as well as in-depth sessions on building applications with Silverlight.
Registration is free – take part in-person or online.
The Future of Silverlight
Data Binding Strategies with Silverlight and WP7
Building Compelling Apps with WCF using REST and LINQ
Building Feature Rich Business Apps Today with RIA Services
MVVM: Why and How? Tips and Patterns using MVVM and Service Patterns with Silverlight and WP7
Tips and Tricks for a Great Installation Experience
Mike Cook & Jossef Goldberg
Tune Your Application: Profiling and Performance Tips
Performance Tips for Silverlight Windows Phone 7
The main point is the availability of Silverlight on smart phones like BlackBerry, iPhone...
With the shift in Microsoft it sounds like that is not going to happen.
Will they explain why Silverlight is years behind Adobe Flash as RIA tool? Why its supported only on Windows?
Someone referenced this post to answer question "My computer won't run certain apps?"...
@Bijan - No plans announced for Silverlight on Mobile outside of Windows Phone 7 and Symbian.
@Curious - I don't think the Flash Community would agree with it being years behind. In fact they are surprised and how much innovation has been done in the past 18 mos alone. There are certain technologies (threads and a single runtime for web and oob for example ) which still are not available in other platforms. Adoption is now over 64% according to a well known non-ms http://riastats.com that tracks web). Not sure where you got the idea of Windows only support. Since release Silverlight has supported Windows and MacOSX and there is an open source version called Moonlight that runs on Linux.