I had this post brewing many months ago, back when Silverlight's future was bright and adoption was great. Then there was this little statement by a Microsoft executive, a very unclear clarification by the exec and an even less clear direction from those involved in the development of Silverlight & the tools. Everyone was confused and started calling for "the end is near" with Silverlight only to have Microsoft say throughout the summer of 2011 "just wait until the BUILD conference, it will all make sense." Then only to have virtually the phrase "Silverlight" to get almost zero play and talk about WinRT and Metro apps. Personally I was very frustrated as I wanted instant news, but I decided to hold back my thoughts until I felt like I had a better grasp on what was going on. I'm still a bit confused on some stuff
Microsoft usually does a fantastic job on marketing their products. But with this issue, talk about one of the absolutely worst handled things ever. You've got developers, Microsoft's biggest proponent, being left out in the cold with customers asking "should we do this project on Silverlight?" I wish someone would have stood up and rebutted all the rumors. We were left to outsiders, like this phenomenal post, to get an idea of the big picture. Some things are still a bit unclear to me.
Silverlight Isn't Dead
So many people seem to think the cool thing is to say Silverlight is dead. I've got a good friend who knows I'm a fan of Silverlight and loves coming to me and saying "Silverlight is dead mother f---er!" I don't get the best vibe from people within Microsoft who seem to think Silverlight is a new 4-letter word which is quite disappointing. At any rate, we are where we are today. For me, and from the more Silverlight-in-the-know people that are out there, it seems the consensus is that it isn't dead. There are some great posts on the subject by some leading Silverlight folks out there... I suggest you read them:
- Doug Seven - A Bad Picture is Worth a Thousand Long Discussions
- Laurent Bugnion - My Thoughts about BUILD, Windows 8, WinRT, XAML & Silverlight
- Shawn Wildermuth - Win8, Metro Apps & Silverlight
- Vassil Terziev - Silverlight is dead. F****** dead.
Personally don't think Silverlight is dead and will be around for quite some time. When is a technology dead? It's when people stop using it, when you lose critical mass and when you don't have support for it. Microsoft recently shipped the Silverlight 5 RC. It has incredibly strong development tools in Visual Studi0 2010 & Expression Blend. There are some fantastic design
patters patterns that have emerged. It's the best way to stream HD video in high quality with the best user experience (ala Smooth Streaming) to clients and has been used for some major events like the United States Presidential Inauguration in 2009, NCAA March Madness & the Olympics to name just three.
You are free to disagree but I don't think I'm sticking my head in the sand with this point and acting like an old guy saying "Why do we need something new, I all this old stuff we have works great!" I'm still happy with Silverlight and plan to keep building with it. What I thinks is somewhat interesting and misguided are all the people who are saying Silverlight is dead compared to HTML5.
Now let me transition over and talk a little about why I still like Silverlight over HTML5 & my take on where they fit in the picture for us.
Why I love Silverlight over HTML5
Like I said, time will likely cure most of my pains (crappy dev tools, no design patters, good testing architectures).
But wait, one last thing. People like to tote the line "write once, run everywhere" when building HTML5 apps. Please... if you are naive or young enough to believe that, I've got this swamp down the street from me I'd absolutely love to sell you. Fact is there are at least three major browser vendors and while there is a spec for HTML5, no one wants to build the same mousetrap... they all want a better mousetrap. I've lived this "write once, run everywhere" life before. In the late 90's I worked for a startup who had a proprietary website administration tool called AdmiNET. It was written in Java and at the time Sun Microsystems was running a promo that if your app ran on 8 different platforms, they'd advertise your app in the Wall Street Journal. There were so many "if this platform then..., elseif that platform then..." to drive you nuts. Sorry guys, that's not following the mantra of "write once, run everywhere" and if you think that HTML5 is going to be that savior, you're living in a fairy tale land.
A while ago I posted a little quip to Twitter that was picked up in a publication and posted as my official take. Man that was unfortunate... but there was some truth to it. I said something like "Do you know why they call it HTML5? It's because it, the dev tools and the user base, is always about 5 years away." Personally I still feel that way... maybe not 5 years away, but we certainly aren't there today!
Where does HTML5 Fit in the Picture?
What I don't get... maybe someone smarter can answer this for me...
After watching the BUILD keynote, a handful of sessions and reading numerous blog posts, I still have a handful of questions. Maybe one of my readers has the answer and if so, please feel free to post a comment below. Before I jump in too deep, I have full confidence in Steven Sinofsky and I'm simply saying "I don't get it" or "I don't understand"... I'm not saying "this doesn't make any sense and Microsoft is a bunch of bafoons." There is a reason for everything and this guy didn't just fall off a truck... thus I personally need to figure out how to answer my own personal questions about WinRT, Metro style apps and the future of where Windows 8 is taking us.
First, when you look at this picture, the picture plastered across BUILD, it makes you think:
Another question frustration I have is that you now build two types of apps with two different codebases: Metro style or Desktop apps. Seriously... why two completely different platforms? I really have to explain to someone that "look, even though you've build apps on the desktop and on the Windows Phone that can share a common codebase, and while the phone development is done using Silverlight, even though you have this new Metro app that looks all tile-y like the phone, you can't use the same code because there's this whole new thing called WinRT." Don't even get me started with two different versions of IE10 (Metro style & desktop style) one of which can do plugins and one of which can't (seriously?... Steven Sinofsky is channeling his inner Steve Jobs me thinks).
Don't get me wrong, I'm not slamming Windows
7 8. In fact, I think Microsoft is nailing it. I can't wait to have a device that I can use at my desk as a laptop, but then pick up the slate and go downstairs out of the office and when I'm on the couch use the same machine like I use my iPad on my couch. I can't wait to consolidate two devices I have now!
I've quite a few more questions about this new future we're moving towards, but I will hold off on those until I better understand a few of those core questions. One thing is for sure, this is going to be interesting!