If you've been too busy to keep up on the latest happenings involving Silverlight, there are two recent developments that will affect the Silverlight apps you have in production.
As the old saying goes, I have bad news and I have worse news.
Silverlight on Windows 10
Windows 10 is now available and the uptake of Microsoft's latest operating system has been quite strong. Currently, it's sitting in fourth place for desktop operating systems at 5.21%, according to statistics from NetMarketShare.
Windows 10 ships with two browsers: Internet Explorer and Edge, the company's next generation browser. On May 6, the team working on Edge published a blog post entitled, A break from the past, part 2: Saying goodbye to ActiveX, VBScript, attachEvent…. This post informed developers that they would be breaking away from Internet Explorer when it comes to some long-standing APIs and technologies. The bottom line was that ActiveX - and, by extension, Silverlight - would not be supported in Edge. This means that if you have users using Edge on Windows 10, they won't be able to use your Silverlight apps.
However, it's not all doom and gloom. Internet Explorer is also available on Windows 10 with mainstream support for Silverlight available until October 12, 2021.
Silverlight No Longer Works in Chrome 45+
This may be news to some of you (but I hope it isn't): the Chromium team has permanently removed its support for the Netscape Plugin API (NPAPI) in Chrome 45+, which shipped this week. To the Chromium team's credit, they did announced their intention to do this back in September 2013 and told us again in November 2014. So, it's not like they didn't warn anyone that this change was coming.
Why is this relevant? Because the Silverlight runtime on Chrome targets NPAPI. For the past few months, you could re-enable it through a workaround in Chrome's configs (i.e.
chrome://flags/#enable-npapi). However, NPAPI is now permanently removed from Chrome and it's not coming back. This means Chrome users will be out of luck when attempting to run your Silverlight apps and, as an evergreen browser, Chrome is constantly kept up-to-date to the latest version.
For developers supporting Silverlight apps in production, you'll want to notify your users of this change. Please resist the urge to plant an "under construction" GIF on your hosting webpage. And, please, for the sake of all developers who used the web during the 1990s, don't do this:
At the same time, you'll probably want to have a conversation with your development team about the current state of affairs. Questions to consider include:
- What do our server logs tell us about the browsers being used for our Silverlight app? (You may discover this is a non-issue)
- Is this something we can live with?
- Does having mainstream support until October 12, 2021 buy us enough time to migrate/update/decommission the app? (Choose appropriately)
I'd also recommend that developers consider redirecting (gasp!) Chrome and Edge users to a page with a detailed explanation that outlines the current situation and the steps that they can take to get on a browser that still supports Silverlight.
Understandably, situations like these are frustrating - especially after you've invested time and resources getting Silverlight apps into production. However, change in the software industry (AKA, creative destruction) is always present and the quicker you can accept the reality of this situation, the better off you'll be. My colleague, Ed Charbeneau has a very zen-like approach to change that he wrote about in a recent article entitled, Microsoft Hates Enterprise Developers?. I, on the other hand, don't tend to handle these things as well as he does. In fact, I go through the "5 stages of grief" when moving forward:
If it was only this quick and easy.
Header image courtesy of Matt Mets