When building an application one considers the appropriate technology of choice for best long term impact and scalability. If building a media streaming application for mobile and desktop should one still use flash or silverlight, or html5 and javascript? How does one select the right technology?
I’ve been through this recently, and the decision path was fairly straightforward:
Q1: Do the rights-holders of the media you will be streaming demand that you use DRM?
If yes, you must choose your DRM provider, by a mix of technical consideration, pricing, and negotiation with your content providers. This will then force you to use Flash or HTML5 DRM on the desktop, and a native application on iOS. You are unlikely to cover all target browsers with a single technology.
(This answer was originally submitted in 2013 when Silverlight was a feasible option for DRM. Silverlight plugin support has been removed from Chrome, and HTML5 DRM is now widely available.)
Q2: If no to Q1, do you need to support low-latency streaming for specialised applications such as auctions or gaming?
If yes, you’ll probably need a custom browser plugin.
Q3: If no to Q2, do you need to support older desktop browsers?
If yes, you will need to provide a Flash fallback.
Q4: Congratulations. You should use HTML5.
2
You could ignore Flash and Silverlight entirely if your only concern was the long term. Both Microsoft and Adobe have expressed that their respective RIA technologies will enter maintenance mode and give way to HTML5/JS.
We never get to actually build applications purely for the long term; we have to make them work in the short term far more. The real question as to whether you should use HTML5 or one of the RIA providers is who your current audience is and what their restrictions are. If you can safely assume an up-to-date browser that provides the features you need, then HTML 5 is an excellent choice. Most of us write applications that at least need to work in corporate-land where browser updates run behind and Flash/Silverlight is disabled.