So you think you know Flash?
It is becoming widely accepted that HTML5 will eventually replace Flash as the platform for rich content and video on connected devices, but how can video publishers make the leap and avoid the pitfalls?
David Springall, Yospace
Back in the early nineties, when what few websites existed were almost completely static, a company called FutureWave Software developed some simple cell animation software. It could be authored on PC or Mac, and delivered in a runtime form that would play on any platform.
Early users of the software included Microsoft for the first version of MSN and Disney Online for its subscription service Disney’s Daily Blast. The founders tried to sell their business to Adobe Systems in 1995, but they were turned down.
A year later Macromedia acquired FutureWave and its product, then called FutureSplash Animator. It contracted FutureSplash to Flash and what became a de facto web standard was born. In 2005, Adobe acquired Macromedia and the chain was completed.
The history is important because we need to remember that Flash is 20 years old: an unimaginably long life in internet terms. It was originated to provide animation and interactivity in the days when it was really hard to do. Because of this it spread like wildfire, and so other functionality was added to it, which stretched its capabilities greatly.
Video support was added with the advent of Flash version 6 in 2002. Again this was a big step forward, as Flash is a cross-platform player so video could be delivered in one format. The alternative was to make a determination based on kind of browser on which operating system, and then embed a Windows Media player, QuickTime player or RealPlayer as appropriate and then deliver the compatible media format – harder work for coders and something that never really produced a great user experience either.
But inevitably the process of adding more functionality to a long-established format brought problems. Today there is widespread criticism that the proprietary nature of Flash is stifling innovation. The issue came to a head with the new era of smartphones and, most important, tablets. The iPad is a terrific device on which to watch video, yet Apple has refused from day one to allow Flash to run on it.
In a famous open letter written in April 2010 – just a few weeks after the launch of the original iPad – Apple’s Steve Jobs wrote “Flash was created during the PC era – for PCs and mice. But the mobile era is about low power devices, touch interfaces and open web standards – all areas where Flash falls short.
“The avalanche of media outlets offering their content for Apple’s mobile devices demonstrates that Flash is no longer necessary to watch video or consume any kind of web content. And the 250,000 apps on Apple’s App Store proves that Flash isn’t necessary for tens of thousands of developers to create graphically rich applications, including games.
“New open standards created in the mobile era, such as HTML5, will win on mobile devices (and PCs too). Perhaps Adobe should focus more on creating great HTML5 tools for the future, and less on criticising Apple for leaving the past behind.”
Fighting talk and it caused great controversy. But Jobs could point to the fact that Adobe had at that time failed to deliver a successfully working mobile version of Flash: it was not just the iPhone and iPad which could not play Flash content.
Perhaps bowing to the inevitable, in November 2011 Adobe revealed in a financial briefing for analysts that it was ceasing development of Flash for mobile browsers. Instead it intends to focus on HTML5, the latest version of the HTML language that underpins the whole of the web, and which includes the capability to play audio and video without the additional wrapper of Flash.
Although the statement was clearly only about Mobile Flash, it inevitably set off a storm of speculation about the future of Flash for ”PC era” environments.
My view on this is that, yes, one day Flash will effectively go away. However, the plain fact is that the vast majority of computers have Flash installed and it has a set of APIs and features well understood by a ‘generation’ of developers. According to Adobe’s own figures, 99.3% of all desktop internet users have Flash Player installed. But, once HTML5 becomes widespread then there is no need for it.
The installed base of Flash is difficult to argue against. So when I say that one day Flash will go away, that day is not in the immediate future. HTML5 is gaining traction fast within the development community, but Flash still represents the least headaches in terms of market penetration and therefore the challenge for many web developers is when and how to make the switch.
If you are using Flash primarily as a video player, then this problem gets more complex.
HTML5 defines how video and audio are to be embedded in pages, but stops short of defining which protocols and formats should be supported. Because of this, it could be argued that the introduction of HTML5 will increase fragmentation in terms of video streaming formats as each browser is free to support its own AV codecs and delivery protocols.
And there are plenty of protocols to choose from. Microsoft, Adobe, Google and Apple all have implemented or proposed their own approaches. These protocols are all roughly equivalent in that they use HTTP as the transport mechanism and provide bit rate adaptation to allow video quality to automatically match the client’s available bandwidth.
However because of the huge popularity of the iPhone, iPod Touch and iPad, Apple’s video streaming protocol, HLS, has already been adopted by Android and other platforms such as Roku and Boxee. Apple has submitted their protocol to the IETF for standardisation, but in time it may be superseded, or supplemented, by the more formally independent MPEG-DASH which attempts to bring the best parts of each competing proposal under a single framework.
Content owners keenly want to reduce the number of formats they support. It is not just the practicality of generating and quality controlling multiple formats. It is the expense of storing and delivering assets in multiple formats. If you are a video on demand provider with a sizeable audience, your biggest operating expense is likely to be the content delivery network (CDN) that carries your content to the network ‘edge’ where the consumers are. CDNs rely on caching the video data on edge servers and therefore keeping your ‘cache footprint’ as small as possible by supporting less formats makes economic sense.
The company of which I am CTO, Yospace, specialises in providing seamless, frame-accurate advertising replacement in linear or live content streaming online. As part of that we had to develop a means of delivering the streamed content to multiple devices and platforms.
I believe that at the moment, Flash still represents the best option for playing video on “PC era” devices, but want to be ready to make the switch seamless to HTML5 video when the time is right.
Rather than support the Adobe protocols, we have developed a Flash SDK that allows the Flash player to play HLS video without adaptation. So, instead of adapting our back-end infrastructure to support Flash, we have adapted our Flash player to work with our infrastructure, thus reducing our ‘cache footprint’ and simplifying our back-end workflow.
From the consumer’s point of view nothing changes. They will not even realise that anything clever is happening - it just works.
Today our Flash SDK supports HLS streaming, but we are working on adding support for MPEG-DASH as this is set to become a staple of most video workflows in future. Under the hood, though, it is providing not just efficiencies for us but a better experience for the user, not least by offering an adaptive bitrate streaming experience that is consistent across platforms. We felt that if we can benefit from this approach for our advertising replacement streaming solution, then others looking to reduce costs in multi-screen streaming would too, so we are now making it available as a standalone product.
For content publishers using Flash as their player technology, we believe this component offers a practical stopgap allowing them to modernise their video workflows by making it possible to phase out early the proprietary protocols required by Flash without having to turn their back on a player technology that has the largest audience reach.