DarksideCookie

Come to the dark side...we have cookies!

I have had enough…

I really tried not to write this post. A lot of other Silverlight devs have already written it so I shouldn't, but I have had enough… I have finally got asked about the death of Silverlight so many times that is has pushed me over the edge…

Silverlight isn’t dead… It isn’t dying… It isn’t about to be killed…

How do I know this? Well, except for some of the information I am hearing from Microsoft about it, it doesn’t make sense… It makes no sense at all!

It is however getting somewhat repurposed… The future of Silverlight has changed, but that’s because time changes. The goal of being the cross-platform, cross-browser RIA platform of choice is currently dead.

With the iOS platform taking up a lot of space in the mobile web space, which is growing massively, Silverlight is just not going to be able to become the cross-platform platform of choice. Why? Well, the iOS does not allow plug-ins. This takes both Flash and Silverlight out of the equation when trying to build cross-browser and cross-platform. And since Microsoft believes that each technology has its place and purpose, at least I think they do even if their marketing material will tell you that all their platforms are great for everything, they have chosen to move to HTML 5 for the cross-browser and cross-platform scenarios.

In doing so, they are also bringing along the tools needed to make that platform a easier to work with. So hopefully, that shift will help HTML 5 to reach the large amounts of Microsoft devs out there. So when IE10, and to be honest the next version of all the browser out there, comes out and supports HTML 5 for real, and not just a weird subset with mixed implementation, Microsoft will have the tools for us to work on that platform.

But Chris, what has happened, I hear you say… You used to tell everyone that Silverlight was the way forward and that HTML 5 was not going to cut it…

Well, I still believe that! At least some of it. I don’t believe that Silverlight is the way forward for cross-platform applications that has to be on all platforms, as it will not be possible to target the iOS platform. I do still believe that it will be used on the web when iOS and other mobile platforms are not the main target. And yes I say other mobile platforms…since they are moving away from the cross-platform goal, I assume that the Silverlight support for the Android platform won’t be there any time soon either. Not to mention that WP7 doesn’t support the Silverlight plug-in at the moment. Silverlight is the platform for apps on the phone, and is only supported or apps…

But yes, I have changed my opinion, I have had to. The lay of the land has changed, and my hopes for a future with Silverlight RIA:s taking a big market share on the web has been crushed. So I might as well accept it and move forward…

What I haven’t changed my opinion about, is HTML 5. I still believe it is a big step backwards from Silverlight, and even Flash. The fact that it runs on browser rendered markup and JavaScript, has to make it a step backwards. No serious person can tell me that JavaScript is a step forward compared to a managed code runtime with the choice of using several development languages as well as having compiled code. Or that having different browsers render things a tad bit different. And no, don’t go blaming only IE here. This will always be the case when a spec is open for interpretation, and the implementation is done by different people with different interpretations of that spec.

The fact that browsers still only partly implement… Actually… No! This is not a post about HTML 5. This is about the future of Silverlight… But I do want to mention that one of my main concerns about HTML 5 has been partly been voided as Microsoft is stepping into. That is my concern about tooling. And with Microsoft entering the arena, adding their generally great developer tools, I can now be fairly certain that good tools will appear. Even if it might take a release or two before they are what we want… I can not see HTML 5 go ANYWHERE with out good tools, and if Microsoft is stepping into it, then we are bound to see good tools. Too bad it will probably enable half witted, crap developers to work with it as well, but I guess I will just have to accept that…

So, with this shift in focus for Microsoft, the focus for Silverlight has also been forced to change. This change is gearing Silverlight more towards “real” application development, both in and outside of the browser. Making it more of a competitor to WPF to be perfectly honest. And to be honest, Silverlight fits quite well in that space as well, especially when Microsoft gears it towards this, and adds features that Silverlight applications more of a first class citizen on the computer and removing a lot of the sandbox restrictions.

This does obviously not mean that it is not going to be useful on the web as well. The only situation where it won’t be a viable option is when you want to reach all platforms. So I still see Silverlight being a great RIA platform as long as it doesn’t have to run on iOS and Android. I also see Silverlight shining on the web for media delivery. And no, don’t tell me that HTML 5 will kill Silverlight in that area… It might to a certain degree if they can sort out the codecs to use, which currently is a big mess, but it will not be a viable option for people streaming rights managed material. For anything that requires DRM, Silverlight or Flash will still be the best option. So for YouTube and things like that, sure, but for commercial things like TV-broadcasts and movie renting, no…

And as soon as I mention DRM you hear people go, “but DRM is crap and must disappear”… And even though I agree to some extent, it just won’t work. If you can’t control and charge for the media you are streaming, whoever is streaming media will lose massive amounts of money. Not only lost income, but also by having to fork out money to pay for the bandwidth, which will end up with a drained account leaving no money to create new material to stream. This is obviously a bad downwards spiral… But adds can solve that! Well yes, but even if adds adds can pay for the streaming, if the stream isn’t protected, people can just store the media and spread it in other manners. This would reduce the income for the company producing the material, once again causing the downwards spiral... So in the long run, however annoying DRM is, and however free the internet is, the companies behind the content still need to make money to afford producing high quality material. They might have to change the way they charge, but they will still have to charge for the service… And that’s where Silverlight steps in with DRM support as well as sweet Smooth Streaming.

But enough about that, and back to the repurposing. I actually had a chat with a colleague yesterday about Silverlight and explained all the “application” things Silverlight can do now, and how it could be a viable option for a client of his. Something that he had no clue about, and that’s the problem right now. People need to be informed about this change in focus and the change in feature set. Cause as soon as I explained what can be done, and what will be possible in Silverlight 5, he quickly realized that it would be a great platform for his client. (The client was looking for an app platform for a bunch of internal intranet applications)

And that brings me to another point about Silverlight not being dead. The reason that people think it is, has a lot to do with a couple of not so brilliant sentences blurted out by a Microsoft rep a while back. And even though Microsoft has tried to explain that what he said wasn’t true, they have basically not backed it up by having Silverlight being visible on stage. The comments made about Silverlight being dead were very public, while the information to follow was not so very public. Not to mention that they have combined this less public come back with showing a lot of HTML 5 initiatives. So most people have only seen the unlucky comments and a lot of HTML 5, as the other information has not reached the general public.

So why isn’t Silverlight being shown off at conferences at the scale that it used to. Well, according to Microsoft, it is actually quite simple. And to me, it is a bit weird, and sad, but it is still simple. Microsoft is very binary about their marketing focus. They either push it down your throat every chance they get, or they don’t talk very much about it at all. Obviously they push it down your throat when it is new and emerging, but stop as it gets mature and a new technology pops up. The last couple of years, Silverlight has been that new and emerging technology, but the last couple of months (or more) it has been all about cloud, HTML 5 and CRM 2011 and so on. And this is basically because Silverlight is now considered a mature technology that everyone should know about…

Unfortunately, they have repurposed it at the same time as they stopped talking about it. So even if everyone knew about the technology, it has changed. So everything we knew about what is was used for, and where it was headed, has changed. Making that change at the same time as you stop talking about it makes no sense to a lot of us, but that is up to Microsoft and not us… And to be honest, they are running a multi-billion corporation, and I am not…

But…at the top I said it didn’t make sense to kill off Silverlight…what did I mean with that?

Well, it doesn’t make sense. I have a very hard time believing that Microsoft is about to kill a technology they spent so much time and money creating. Of course they could…but we aren’t just talking about Silverlight as in the browser plug-in. We are talking about it the platform used for their phone. We are talking about a technology that is rumored to be used for a future “app store” in Windows 8. We are talking about a technology that is rumored to move onto the Xbox.

And even though these are just rumors, they are heard from several directions. And to be honest, why would people spread rumors about a platform that is about to die. I’m not saying that these rumors are true, cause I honestly have no idea, but Silverlight must have some believers out there if the rumors keep spreading instead of just dying out. If I told people that I believe that there will be an “app store” in Windows 8, and that the technology used would be VBScript, I am pretty sure those rumors would stop with me…

So, the part about it not making sense would be that if they are to kill off Silverlight, they would have to make massive changes to the WP7 platform as well. And possibly come up with a new technology to use for the rumored Windows 8 “app store”. Not to mention shift a whole lot in the way that Microsoft builds a bunch of their own things. Silverlight is being used in a lot of Microsoft's products, for example SharePoint and CRM. Why would they do that if they are about to kill the platform? It doesn’t make sense….

But even though I know this, I am not sure I agree with what is happening. And by that I mean that I am not sure I agree with the current future of Silverlight, and I definitely do not think that choosing to stop promoting Silverlight at this time is a good choice. Not after certain comments and rumors. They need to push it out to everyone that Silverlight isn’t dead, it has just undergone some changes in focus.

I had a somewhat eye opening conversation with a person, who to be honest knows quite a lot about this. He had a quite interesting theory when it came to cross-platform technologies and HTML 5 and so on. He basically said that even though everyone talks about HTML 5 as being the cross-platform, cross-browser technology of choice, it is still just the lowest common denominator. And that any company interesting in making a splash in any of the bigger platforms, would do so with a technology specific client. Basically, if you want to build a great experience for iPhone or iPad, you build it as an app in Objective C, and if you are going for Android you build a native Android app and so on. Only when are not serious about a specific platform would you choose the lowest common denominator and go for HTML 5.

At first that seemed a bit off the chart as it would mean a bunch of codebases for the different platforms, but the more I think about it, the more sense it makes. I’m not saying that this is the case in all situations, but HTML 5 is still just the lowest common denominator. It will work on all of them, but it still won’t give that great UX experience that fits into the specific platform, or be able to access platform specific features. So if you are really set on making it on one of those platforms, your app has to fit in as well as give a great user experience. So after a bit of thought, I do actually think that he might be on to something. And to be honest, considering who he was, I would be a little disappointed if he wasn’t…

It is all about choosing the right technology for what you want to achieve. If you want to achieve a slightly limited experience that doesn’t quite fit in on any of the platforms, or at most one, but has to be available on all of them, you go with HTML 5. It will give you a lot of reach for less money, as long as tools come out and are good. And as long as you are ok with not using all of the features on the individual platforms. But if you want that great experience that people expect and demand, you have to focus. It will be ridiculously hard to cover the whole range of platforms with one app/technology. You are more likely to succeed if you build specialized apps that takes full advantage of the individual platform and gives the users the great experience they expect.

At least that makes sense to me. Even if I once again do not completely agree with where we are headed, it is probably true. I would much have preferred to be able to offer a good experience across the different platforms with one technology. And by that I mean one technology that was good enough to offer all the features I wanted. But I guess that is a Utopia I will never see. Or at least not see in the close future. Why? Well except for the obvious iFruit reason, all the platforms have different strengths and weaknesses that needs to be handled differently. So the silver bullet really doesn’t exist…

And after that realization, I might as well accept the future as it looks at the moment. Either that or change profession, but if I did that every time the future of technology changed, I would have to change jobs VERY often. So…accept and move on…but you have to do the same, as well as accept that Silverlight isn’t dead or dying. And when you are looking for the technology of choice for your next project, there are a lot of scenarios where Silverlight will be the one. So take a long hard look at the different options available and chose the one that fits the project the best. Sure, it might be HTML 5, but it might also be Silverlight or maybe an Objective C app for the iOS platform. It all depends on what you need to achieve…

Ok…end of rant! I am impressed you got this far… Thank you for listening! Or reading… All comments are appreciated! But please keep them civilized and fact based… :)

Posted: May 05 2011, 09:27 by ZeroKoll | Comments (1) |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Manage post: :)

Comments (1) -

Harry Australia said:

I only read the first 5 and the last paragraph but.. you're welcome!

# May 05 2011, 11:03
Comments are closed