Though it has been hard, we have been trying to avoid reporting on rumors about the death of Silverlight for quite some time. As in all things, rumors tend to be exaggerated or out-right false. A good example of this is the idea that Web Forms has entered maintenance mode and would never be updated to HTML5. Unfortunately the end of Silverlight is no rumor; if Microsoft doesn’t change course it, as well as Flash and other plugin technologies, will be effectively unusable when Windows 8 is released.

On September 14th just before 6 pm Steven Sinofsky and Dean Hachamovitch announced that the Metro-style browser in Windows 8 does not support plug-ins. The Metro-style browser is the full screen, chromeless implementation of Internet Explorer that most people are expected to use with Windows 8. While the Metro user interface has extensive touch functionality, it is designed to be the primary UI for all devices with a screen of 1024x768 or larger even when using a mouse and keyboard. The “desktop” mode is still available, but it is being positioned as something that is only to be used by legacy programs and a few complex applications such as Photoshop and Visual Studio.

According to Steven Sinofsky,

This post is about a big change in Metro style IE, which is the plug-in free experience. In Windows 8, IE 10 is available as a Metro style app and as a desktop app. The desktop app continues to fully support all plug-ins and extensions.

Dean Hachamovitch adds,

For the web to move forward and for consumers to get the most out of touch-first browsing, the Metro style browser in Windows 8 is as HTML5-only as possible, and plug-in free. The experience that plug-ins provide today is not a good match with Metro style browsing and the modern HTML5 web.

This means no Flash, no QuickTime, no PDF readers, and no Silverlight. He goes on to explain why plug-in free browsing is superior and that all sites should be transitioning to HTML5 anyways. And for the most part he is right, but that is a cold comfort when you can’t read your paystub because it is an embedded PDF. Nor does it help when you want to watch that video hosted by one of the various media players.

Why is this happening? Well the most likely reason is simply that the Metro-style browser can’t support plugins. Metro is not based on the Win32 libraries, it uses an entirely new OS-level API known as Windows Runtime or WinRT. Since the plug-ins are most likely built on Win32 components such as GDI they would have to be completely rewritten to run under Metro. And moving forward companies such as Apple and Adobe would have to maintain both a WinRT and a Win32 version for each of x86, x64, and ARM. And all of this can’t even start until Microsoft developers a new plug-in architecture that abides by WinRT’s runtime restrictions.

It should be noted that Flash and Silverlight will continue to run just fine using Internet Explorer in “desktop” mode. Likewise users can elect to switch to one of the other browsers such as Firefox, Safari, or Chrome. But again, those run in desktop mode.

With the proliferation of web-enabled devices, most of which don’t support plug-ins anyways, we should probably be thinking about moving away from this sort of technology anyways. But today, right now, HTML5 is not appropriate for the immersive applications that Flash and Silverlight are capable of creating. At the very least the standards for core functionality such as Web Workers and WebSocket need to be finalized and the resizable layout issue addressed. But even more pressing is JavaScript itself, whose syntax and dynamic nature make it very difficult to write large, modular applications.

The companies most invested in Silverlight are actually in the best position. These companies have been adopting Silverlight, and Flex, for use in internal applications. This sort of application generally have no HTML and simply use the browser as a delivery mechanism. As such these applications can be ported to the Metro runtime with surprisingly little effort. A new distribution mechanism will be needed, but something like the Windows app store for enterprises is undoubtedly in the works.

The companies that use Flash or Silverlight to augment their websites are going to have the most trouble. Since they cannot simply port their code to Metro they will need to need go rewrite the components from scratch using HTML and JavaScript.