They just need to tell us finally what is the strategy for enterprise/LOB development. Currently that is far from being clear.
This is the internet so of course people will complain about everything, but for me what was cool about Silverlight was the cross platform Client capability (C# on the client). At one point it ran on top of Live Mesh, which they lead us to believe would eventually run on anything, phones, DVRs,... It could sync everything for us including Silverlight applications. Wicked cool ideas (Ray Ozzies I would guess). But no app store to monetize the apps so that had to go. In any case RT is cool but its not cross platform, and by that I mean cross Win 8 and Win 7 Vista and XP. So no on ramp, from the past. And true cross platform has been left to the Web (HTML5)Which as a Line of Business developer leaves me where I have always been, building and using pretty crappy Web apps, I mean sure the business could build whizz bang, HTML 5, SPA apps, but they are not going to, it cost to much!
"In Windows 8 we
have a great XAML stack (better than WPF
and Silverlight IMO)"
Care to elaborate on that? At TechEd they told me at the Xaml open questions panel that Xaml on Win8 was somewhat equal in functionality to Silverlight 3. Your statement seems to contradict that, so what is true?
"In Windows 8 we have a great XAML stack (better than WPF and Silverlight IMO)"
And your opininion is based on what? No type converters, no data validation, no basic controls. Just some fancy transition effects.
And if we look beyond XAML, there are more important things missing in WinRT like a fully functional MEF or RIA services.
I'm a WPF\Silverlight developer since 2008 but I have no problem rolling up my sleeves and learn something else. I am already doing that.
But to me it looks like I can't find the same quality tools. This is the problem. Some might say it's comparable, but it's really not.
I agree that the app store apps use a very similar dev model as Silverlight.
But in my opinion it's a bit like comparing apples to oranges, only thing in commons is being fruits.
You said that Silverlight's death started with Steve Jobs not allowing Flash on iPhone.
But Silverlight was already a cross desktop platform tool at that point.
Flash never worked on iPhone, it's not like Flash used to work and then support was removed by Apple. It never worked and Apple never said at any point they would consider it.
Silverlight is a great cross platform desktop dev tool.
I might be missing something, I would like to hear some entitled opinions.
WinRT and XAML/C# targets only the customer market.
XAML/C# feels Silverlight 2.
In our company we are developing a Silverlight 4 desktop app for 1000 user (PRISM, WCF, EF, SQL Server): Fast, easy to use and easy to deploy.
Now we have the requirement, to move some of the PRISM modules to tablets. So we aren’t thinking to move to WinRT/XAML/C# but thinking to create Metro styled controls for Silverlight, switching only the view and test the new Win8 tablets/surfaces with the full Win 8 OS.
There is no need for WinRT in companies.
HTML5/JS is for cross platform developers (iOS, Android, WP). And XAML/C# isn't yet usable for multi target development (WinXP, Win7, Win8, Win desktop, WP, surface).
So the corporate Windows developer have to stay with Silverlight/WPF until the end of the livecycle of Win 7.
I've move on completely and embraced WinRT using both C++/XAML and C#/XAML.
Sure your post was short, but so accepting of the fate of Silverlight. Wouldn't it have been interesting to spend half a second looking for ways Silverlight could have succeeded, rather than all of the ways it could fail.
What if Microsoft had made a low end tablet based on WP7?
What if they tried half the things Xamarin does.
Seriously, I can't see it being hard to port C++ from Intel to ARM, I just don't see the pain points, and it's probably 10 thousandths of the effort to port an OS!
Having said that, I do think the Win8 platform is higher performance, and love the DirectX integration.
I guess my main complaint about your post is the way you rolled over so easily, but in the final analysis, you have the right to your own opinion, and my thoughts are moot at this point.
Thanks for the article. Interesting reading.
However, the line about:
> crystal clear to anyone paying attention
doesn't tally with my recollection of the last few years.
For my part, I was told by several MS Developer Evangelists in the UK that I could deploy Silverlight solutions to my customers with confidence. As evidence, they said that I should look at the amount of MS User Interfaces as a sign of confidence that MS was positioning Silverlight for the future - e.g. things like the Windows Phone store, the Azure management portal, SQL Azure management, the WP7 platform itself, etc.
IMO, to suggest that the MS strategy was 'crystal clear to anyone paying attention' is very incorrect.
Thanks again for the post - and for reading the comment too :)
I agree with Noel. Windows 8 XAML stack is cool, but who needs enterprise solution working only in Windows 8? Enterprise clients still use Windows XP and (some of them) Mac OS. HTML5 still crap for serious applications.
Noone like browser plugins, but I still can't understand why latest Silverlight engine is not embedded in IE10 (like flash)?
And, IMHO, Silverlight OOB is still the only useful MS technology for small applications. Modern UI? Works only in windows 8. WPF? Requires .net 4 to be installed - pain for most users.
Whats the problem to enable Silverlight applications to be published in Windows Store? This way you could create applications that runs native in Windows 8 (even on ARM), can run on earlier versions of Windows and even on Mac. If ther reason is to make users buy new Windows, I think good Metro-style applications that could run in older versions of Windows can make users get used with Metro and probably even convice some Mac users give Windows 8 a try.
Hi shawn, Thanks for this posting! I have to admit I'm just now getting into Windows 8. You mention above that "In Windows 8 we have a great XAML stack (better than WPF and Silverlight IMO) and that's where we should be paying attention" - what technology are you referring too (what replaces silverlight and wpf?)
You mention 'better than WPF' My problem with win 8 apps for LOB, is that you don't have multiple windows visible you can switch back and forth from/move to the other screen. The other thing my LOB programs need to do is print (with no dialog boxes), save and import documents quickly. Plus I use telerik WPF client side reports to take a load off the server. HTML 5 wouldn't work very well for my accounting programs. You don't see WPF going anywhere do you?
What is so great in "great XAML stack" in WinRT?
Steven....the WinRT XAML stack has data binding baked into unmanaged code for speed and has XAML improvements (e.g. binding to anonymous types). et al.
Binding to anonymous types is possible also in Silverlight/WPF if you decorate the assembly with [InternalsVisibleTo("System.Windows")]
"data binding baked into unmanaged code for speed" sounds like marketing b. I'll never need any speed improvement on the client side, Silverlight is fast enough. Usually the speed problem appears on the server side.
Like I said before, the only visible improvement that I found in WinRT/XAML is some cool children transitions.
I am glad that many are interested in the Silverlight discussion, but the purpose of the blog post was to see that the change in the environment away from plugins is what killed adoption, not Sinofsky.
Here is another take on things...
Shawn, do you think MS will put a new Touch Oriented version of Silverlight?
Win RT supports flash but not Silverlight, why would they do that?
I am developing a LightSwitch application and feel I have been thrown under the bus by Microsoft because they are not transparent about Silverlight's future.
There is no reason they can not get the performance of Silverlight to meet or exceed Win RT and also there is no reason they could not make it touch oriented and have a Windows Store model for it.
I am not MS...no idea. That wasn't the purpose of the post.
Win8 is not proven in enterprise yet, so Silverlight and WPF are still king of the hill for LOB apps. Shame that SL5 never got a proper Expression Blend tool (Preview for SL5 version broke design-time view models). MS is too focused on consumers with WinRT / AppStore, and is forgetting about their larger revenue stream of enterprise folk. I for one am confused what the roadmap is for current SL LOB developers...
Let's agree to disagree - Sinofsky is absolutely responsible for putting Silverlight on life support, pushing C++, and for pushing HTML5 - I am really glad to see him go.
Silverlight 5 is one of the most awesome technologies that Microsoft has produced.
Microsoft certainly had the ability to stand up to Steve Jobs if they wanted too.
I believe the real problem with Silverlight is that if it was allowed to run in Metro, it could have by passed the Windows App Store.
I don't believe Microsoft will revive Silverlight - large companies are moving rapidly away from write-once-run-everywhere.
Good post Shawn, but I take exception to the idea that Silverlight developers are holding on too tight. I know you don't mean that as an offense, but from my perspective this is entirely on Microsoft.
The problem I see is that by the time a decent library of tools/controls/patterns is established the entire eco-system is re-invented and the work has to start nearly from square one. I cannot be re-writing systems every 4 years because Microsoft, in a fit of confusion, goes running off in a new random direction.
Why all of a sudden the term 'plug-in' became a bad word is beyond me. I can accept that it is a bad word now - I'll move past that - but what bothers me is that something with no real downside all of a sudden became the big evil. What will the next evil be? Managed code? Xaml? Web services?
Roll the die and pick one because it's seeming a bit random from where I'm sitting.
It isn't my fault that a technology gets tons of promotion for 5 years, evolves to the point where it's very capable and then is suddenly abandoned. I'm not upset about learning new things - I'm upset that tons of my time gets wasted on a whim.
I think Rob hit the nail on the head for me.
The whole issue with flash eating up batteries etc. was bogus.
So what is Netflix gonna do instead?
In WinRt you are sandboxed not only as an application but to a single OS. This is an IOS comparable offering and as is eluded to by the good folks at PnP (http://compositewpf.codeplex.com/discussions/261609) is not a strong candidate to build LOB solutions with, specifically due to the fact it runs in a sandbox.
HTML 5 just isn't there yet and won't be for some time to come which was clearly evident by Facebook's reversal on that platform.
I would still have to say, for the enterprise it has to be either WPF or SL with my vote staying with SL.
Have you looked at LightSwitch for example? This generates out a SL client and recently an HTML 5 client that targets mobile devices. Sure the SL client isn't perfect but it was two steps away from it then MS decided to invest into an HTML 5 client essentially putting the brakes on finalizing the SL client for the enterprise.
At the end of the day, choose what you wish to choose but IMO its very simple, SL will run in most enterprise scenarios today including the DeskTop for Windows 8 with the least amount of effort, Wpf is next, then its HTML 5 and at the far end of the choice list sits WinRt.
For a longtime I have pondered the future of Silverlight and any technology that is used by us who create code full of vulnerabilities and holes. Microsoft can no longer afford to allow self-important coders to damage their reputation. Beware of the unexpected third leg that will be placed firmly in your fury little butts.
I have stopped and looked around to see, what is gathering momentum.
I believe it is SQL Server.
Last time I started SQL Server 2012 it was powered by Visual Studio. I believe the power will be given back to the DBA to administer what data you will receive and any code that you can add will only take away from what is delivered.
All that will be left for the .net framework coders are, drag a data object onto an html 5 form. Don’t worry about the colors and graphics because coders can’t do that well either.
Microsoft may wake up one day and realize they need applications on the Win RT platform. Why else is a consumer or enterprise going to buy the hardware? One simple way to get more applications on the platform, now, without making ISVs maintain two versions of the code is by supporting Silverlight. I see lots of IPads, in enterprises, running emulators back to terminal servers. I've been around long enough to remember lots of PCs running emulators to IBM midrange and mainframe computers. Native PC software removed the need for the emulator and, consequently, the need for IBM. There are lots of people writing software for IPads.
Hi Shawn, I think you are wrong saying that it wasn't Sinofsky the one to blame on killing Silverlight . Let me ask you this, If somebody tells you to shoot yourself in the foot , do you do it?. Then, Sinofsky could have left Silverlight 6 to run in both environments (app store and native ARM/X86 mode ). That decision was intentional on Microsoft 's side.
Windows 8 current failure is because the developer community is so confused about the strategy behind Snofsky.
Silverlight programmers have heart broken.
Ok, Sinofsky is not the one to blame for the decision, but for the communication...
Everyone could understand if he takes care about users and explains his choice, if he said "sorry, we didn't have choice", "we will help you migrating"... he didn't.
I will never forget and i'm sure i'm not the only one !
I have just two words for you: "elevated trust"... as a silverlight developer that develops more then a "hallo world"... Windows 8 xaml is simply to limited for me. i'll wait until these *** at MS realize that we need it... just like we need it with Silverlight. To bad microsoft never learns from the past.
I think the biggest problem is the lack of feedback from MS to developers. There are companies that have based their long-term strategy on Silverlight, just to realise at the moment that MS has suddently stopped sending any signals.
There are many things in Silverlight which HTML5+JS cannot fill in (starting from the language features to threading, security, libraries, vector graphics etc.). The XAML support in Windows 8 is rudimentary and only focuses on certain types of applications (non LOB, but entertainment, social, web-oriented apps).
Also the lack of a clear release of Blend for SL5 is very annoying. We have customers which depend on Silverlight and it's impossible at the moment to switch to SL5 because there is no final version of Blend. Reworking applications is a very long-term solution, while the businesses need short-term, clear and to the point solutions.
I think the fact that MS has followed the Apple trend is a very bad business decision. Apple (while having a huge sales) has a very limited target - the home user and entertainment consumer. Microsoft on the other hand targets also enterprise customers, which have more needs than a cool eye catching twitter client.
With MS dropping Silverlight and WPF and then pushing for new development to be done in HTML5, all they done is forced IT managers and developers to question the need for Windows as the Desktop OS. Because if in-house devs have to write apps in HTML5 which means they will run anywhere, on any OS, then why don't enterprises use linux (I know there is MS Office, but there is also OpenOffice). Don't get me wrong I would jump with joy if MS came out and fully supported Silverlight, then IT Managers could commit to the technology without fear of getting their backsides kicked, but is not going to happen. I think MS has opened the door (a little bit) for Linux to enter the enterprise desktop scene, all Linux has to do now is kick it in.
IMHO, the whole XAMP is useless. Why we can't use the old good WinForms?. Winforms is faster than WPF, is more efficient to work with it, it is more clear to work with it (not edit a messy xml file), several controls are available and so on.
As a developer, i should say : I DON'T TRUST ON MICROSOFT. So, exists two technologies for MS, technologies that MS can kill and technologies that MS is unable to kill. Silverlight was kill-able while Winforms, WebForms, ASP.NET will not be killed because MS can't kill it.
The main issue with the abandoning of Silverlight is the loss of developer trust.
For five years or so, Microsoft tried to convince every LOB developer that Silverlight was the way to go - and from a technical standpoint, it did have quite a few good arguments for it.
So, some people who bought into the vision and trusted Microsoft's track record of always providing backwards compatibility learned the stuff, convinced their employers to let them use it and start projects with it or bet the future of their company on it, only to witness the disaster that was the not-officially-communicated demise of Silverlight.
I happened to be one of these people, and for me the lesson learned is definitely NOT to use WinRT instead. For one, it wouldn't be of any use for LOB apps, because almost no company is on Win 8 and it looks like the majority of companies will continue Win 7 for the forseeable future.
The bigger point however and main lesson learned is not to trust in any Microsoft technology strategy again, because they are changed too often, and too often for political reasons. If I'm going to write HTML 5 LOB apps anyway, I might as well use a full open source stack in order to avoid dependence on Microsofts future shenanigans. And I will. Goodbye MS.
I agree totally with your comment. At least, if the new technology could do as much as the one that gets deprecated, it would not be quite as bad. At this point, I don't see that. In my company, we need our application to run on Windows and Mac, and to render XAML. Once Silverlight is out, how can we build such an application?
I know the subject of the post is whether all that is because of Sinofsky or not. If his leaving does not change anything to the decision about Silverlight, I don't feel much interest to comment on that.
I'm tired of this, I'll get a Mac.
The confusion is still great among windows developers.
Also, the netflix comment was right on, silverlight is cancelled but just now it is being rolled out everywhere for video services that needs protection, what is going to replace that ?
I hope the Microsoft U turn on Windows 8 brings a viable migration path from Silverlight to Windows 8 and Windows RT.
Enterprise users of our desktop app want it to have a tablet UI as well so employees can work away from the office, sales people can demo on the fly, retail customers can run our app on whatever (Windows) device they have etc. If we must totally rework our UI because of the lack of Silverlight compatibility then we will go fully open source.
If Microsoft just allowed Silverlight to run in a browser on windows tablets or allowed Silverlight apps to be downloaded from the windows store then we would stay with them because of the costs of change.
Time is running out though because once we start the move we will not be coming back to MS. It is ironic that MS have proved the case for open source so completely with this Silverlight / WPF / Windows 8 debacle.
How do you monetize something that is free (Silverlight)? Selling dev tools? Or selling apps to the masses? Silverlight was the genie that had to be pushed back into the bottle. We are seeing the gradual evolution of a new software marketplace where $2 apps are the norm for now. Given that most of the big creatures out there started as slugs, ignoring the new software bottom feeders will come at the peril of those higher up in the food chain.
Given my personal career trajectory, WinRT is the only viable option for my future. I have to help it succeed and contribute to the demise of its competitors, else I might as well start planning an early retirement.
Survival of the fittest is not necessarily determined by being the strongest, smartest, or prettiest. Mammals made it by being small, agile and able to crawl under a rock when molten showers began to rain down on the Cretaceous landscape.
And now flash builds natively to iOS and Android. And Silverlight somehow does the same with Mono Touch. The Dev comunity was punched very hard and thrown under the bus. That's why Win8 apps have such much a low quality.
Developing an App for Win8 is a risk no body wants to take anymore. You are safer elsewhere.
Microsoft has certainly lost its way. Why would you drop the strongly-typed, object-oriented C# on Silverlight as a way to develop RIAs and suggest the free-for-all that is JS as a sensible alternative? Regardless of the features HTML 5 gains over 4, developing in JS is still painful. And as for WinRT/Metro/Windows $tore, forget it for any serious LOB app.