The Birth and Death of Flash
With browser support for Flash being steadily decreased and the likelihood of 2017 being the final year of Flash, I grew curious about the origins of Flash and how it got to the point of deprecation.
Brief History of Flash
Flash started its life in 1996 and was initially developed by the company ‘FutureWave’ under the name of ‘FutureSplash Animator’. The logo even features a shifty looking crab. Soon after its launch, FutureWave was acquired by Macromedia and the software was rebranded to what we know it as today, Flash.
In the early days of the internet, the only way to play animations in a browser was with the use of Java, which was extremely slow. The rise of Flash’s popularity was due to the small file size, improved performance and freely available Flash Player plugin, perfect for the dial up internet connections at the time.
In 2011 it was estimated that nearly 50% of all websites had at least one Flash request. By March 2017, the figure had plunged to below 7%.
In 2005 Macromedia was acquired by former rival, Adobe for approximately $3.4 Billion in stock. Whilst Macromedia also owned a range of other software packages, Flash was one of the key purchases. Two years after the acquisition, Apple released the first iPhone, with the controversial lack of Flash support. You can read more about Steve Jobs’ reasoning for this here.
The Death of Flash
Whilst Apple might have fired the first shots at Flash with the lack of support on the iPhone, Google has led the final charge in deprecating Flash. Google’s actions have had such a significant impact on Flash primarily due to the huge market share Chrome has (around 60-70%) in the web browser industry. Any restrictions placed on Flash by Chrome are effectively followed by most other browsers.
Timeline of Flash’s Demise
- June 2007: First iPhone is launched which lacks support for Flash.
- April 2010: Steve Jobs releases open letter on why iPhone/iPad will never support Flash.
- December 2010: Flash player is sandboxed with Chrome on Windows in order to reduce vulnerabilities and improve security.
- August 2012: Adobe disables new installs of Flash on Android phones, effectively exiting the mobile market.
- November 2012: The sandboxed Chrome Flash player is rolled out to OSX and Linux.
- January 2015: YouTube makes the HTML5 player the default, which many say marks the final days for Flash.
- September 2015 (Chrome 42): Chrome enforces ‘click to play’ on Flash objects below a certain size.
- November 2015: Adobe advises users to transition to open standards such as HTML5. Also announces that Flash Professional will be replaced with Adobe Animate CC which will support HTML5.
- December 2015: Facebook transitions to a HTML5 video player.
- September 2016 (Chrome 53): Chrome removes the ability to run Flash objects 5×5 or smaller from different origin. Primarily used for analytics tracking.
- October 2016 (Chrome 54): Flash is removed from Chrome’s default distribution bundle.
- December 2016 (Chrome 55): Chrome makes HTML5 the default experience, except for sites which only support Flash. For sites which only support Flash, the user is prompted to enable Flash on their first visit.
- February 2017 (Chrome 56): In Chrome, Flash is enabled or disabled based on a ‘Site Engagement Score’. If a user regularly visits a site, then Flash will be enabled by default. If a user has never visited a site before, Flash will be disabled by default.
- June 2017 (Chrome 60+): Chrome removes the ability to run Flash objects 5×5 or smaller from ANY origin.
- August/September 2017 (Chrome 60+): Chrome reduces Flash player modes from 3 (Always allow, Ask, Block) to 2 (a toggle for Ask, Block).
- (Tentative) March/April 2018 (Chrome 65+): ‘Click to play’ required for all Flash instances in Chrome.
Chrome’s Site Engagement Threshold
In 2017, Chrome will be disabling Flash based on a ‘Site Engagement’ score. Site engagement is calculated based on a number of factors, including directly accessing a site, activity time and media playback on a site.
Chrome gives every website you visit a Site Engagement score which you can access by entering ‘chrome://site-engagement/’ into Chrome’s URL bar. Based on this score Chrome will determine whether or not to allow Flash. Each month Chrome will be progressively increasing the minimum threshold, up until October 2017 which will require a sites engagement score to be 100%.
Why Flash is Being Deprecated
There are a number of reasons as to why Flash is being deprecated. The three main points are:
- Poor performance, which also results in reduced battery life.
- Flash is closed proprietary software. Open standard alternatives are readily available.
- Lack of updates resulting in a huge amount of security vulnerabilities.
It has already been proven that HTML5 is a more than capable alternative in most cases. A clear example being YouTube’s transition away from Flash. However, in some areas Flash still remains the better option.
An example of this is low latency live streaming with RTMP. Whilst low latency alternatives do exist, they don’t allow the scalability that RTMP offered. The most popular HTML5 live streaming protocol, HTTP Live Streaming (HLS), allows for great scalability at the cost of latency. It lacks the low latency that RTMP offers.
There are pros and cons to deprecating Flash when there isn’t yet a viable low latency live streaming alternative. The pro being that it will force organizations to innovate and come up with an alternate protocol.
In the meantime, supporting Flash is only delaying the inevitable. Chrome’s method of reducing Flash support is one which is likely to annoy the end user. By continuing to use Flash it not only provides a lower quality user experience, but will be detrimental to users’ perception of your website.
I’m sure most of us can agree that Flash played a pivotal role in getting the internet to where it is today. Whilst Flash might be dead, it’ll live on in our memories. I’ll still think back fondly to the days of sneakily playing Flash games in highschool. Helicopter game anyone?
RIP Flash 1996 – 2017