Flash and the New Era of Media Streaming: The End or the Beginning?
Last month, Microsoft revealed its final plans to remove the Adobe Flash plugin from Windows 10. With mandatory removal starting in July 2021, no less than 1.3 billion devices running on Windows 10 will have Flash deleted. Macromedia Flash, which later became Adobe Flash, proved itself as an ahead-of-its-time technology for many years, enjoying incredible success and popularity. More than one generation of developers and architects, as well as product and service-oriented businesses, have grown up working with and profiting from this technology. It was an age of the IT industry, in particular the software and web industries, where Flash enabled developers to deliver applications to end users in an absolutely universal cross-platform and cross-browser way. It freed up developers from worrying about which hardware platform, operating system and the browser their application would run on, as well as standardizing how applications were delivered and deployed to end users, with no installers or other operation system specific packages, security concerns or other things getting in the way.
While liberating end users from the need to install Flash applications on their computers, as they were all delivered via browsers, as well as freeing companies, businesses, and corporate IT departments from undertaking expensive security audits for Flash apps at the time, all that was needed was to install Flash Player on end user machines, and to limit its usage to particular corporate URLs for the most complete security. The technology installation was trusted and proven, since it was developed by a large, well-known company and had already passed security audits by many independent security advisors.
This led to the development of a mature and robust ecosystem for Flash. It encompassed OOP and ActionScript v3 superseding v2, along with regular new versions of the Flex SDK. With regularly updated versions of Flash Player, more improvements followed. It was a time when such opportunities for everyone were not even dreamed of otherwise, with browsers fighting standards wars and unable to guarantee the same cross-browser experience that Flash delivered. So overwhelming was the success of Flash that it inspired Adobe to deliver AIR as a way to create truly cross-platform desktop and later mobile applications. These apps reused mostly the same Flash/Flex ecosystem while providing an API for interaction with operating system and hardware device features.
The underlying full native RTMP (Real Time Messaging Protocol) support allowed developers to easily implement, in any Flash application, a bi-directional and ultra-low latency audio, video and data streaming capability, including live video conferencing via the Adobe Media Server.
This was the former Flash Communication Server and Flash Media Server, and RTMP servers are now available from third parties.
It was perfectly incorporated in Adobe Breeze (formerly Macromedia Breeze) and now Adobe Connect, which uses Adobe Media Server as the video/audio streaming server, and it brought on-prem (and today's cloud) live video conferencing with an unlimited number of participants to companies, education institutions and online event hosts without any necessity to deploy any software to end user machines - years before Zoom and Microsoft Teams even existed. All that was needed was any web browser with Flash Player installed, because at the time, video and audio capabilities in browsers as we have them today were just a distant dream. With the growth of IT software and hardware solutions, along with new standards, inventions, concepts, methodologies, approaches and more, the complexity of implementing and interacting with it all has grown, too. Such an abundant ecosystem also attracted the attention of hackers seeking new security vulnerabilities, with their skills growing in parallel with the rise of Flash, increasing the need for ever better security, too.
Partly thanks to the rise of iPhones and iPads, which saw Apple pointedly refuse to support Flash, along with the Android platform giving up on Flash when it proved too power-hungry for mobile processors of the time, Flash lost the competition in this field to HTML5, which has proven much more secure by design, with far fewer security threats that are much easier to deal with than was ultimately the case with the Flash Player. HTML5 also has multiple open source implementations backed by the enormous open source community, along with commercial giants Google and Apple, who are able to detect and fix any security threats much faster and more effectively than before.
All of this eventually pushed Adobe to announce the end of life for Flash on Jan. 12, 2021, seeing its support finally discontinued, along with the unavailability of any official way to run Flash applications in any modern browser. While AIR could not fully stand competition with the Qt Desktop/Mobile/Embedded, React Native, NativeScript, Vue Native, Flutter, Electron and React/Vue/Angular platforms, it still lives on in some niches.
Indeed, the only official and fully supported way to get Flash applications running for end users today is to build and deploy them as AIR applications for desktop and mobile, which allows developers to reuse most of the same codebase. However, it is hard to imagine that a company would start development of AIR applications nowadays from scratch, unless it already had very deep and proven Flex expertise with a team of developers in place. With the market for this niche shrinking, those with the expertise for it are even more valuable, as those niches continue to exist—and even thrive. Most Flash/Flex/AIR developers hurried to bury Flash several years before its official end-of-life and used their development skills around Flash to switch to one of the modern future-proof technology stacks like React, Angular, Vue.js and the most recent - Flutter.
The new star, Apache Royale, also rises on the horizon and promises long life and future growth. Its usage is not limited to porting and compiling existing Flash apps to HTML5/JavaScript, instead of SWF, and offers the benefit of reusing around 90% of existing ActionScript 3/Flex/ MXML code in an unmodified fashion. It is also a way to continue development of those apps in a familiar programming language, design patterns, UI markup and API, in which ultimate productivity and skills have been reached after many years of hard work. So, why lose these skills and discard them along with the now-dead Flash, where there is an alternative that capitalizes on all of that existing knowledge?
There are plenty of benefits with countless existing JavaScript libraries, along with modern browser APIs like WebRTC for video/audio experiences first coming to mind, through to many other modern systems such as WebSockets, WebGL, Bluetooth, Sensors, Touch Events, Service Workers, Web Speech, WebAssembly (allowing to compile most of the C/C++, Rust libraries, and custom code directly in browser security with near native performance) and more. Add to this HTML5/CSS3 features and all of the modern responsive frameworks based on them such as Bootstrap, various Material Design implementations and plenty of others which can be used to fluently develop as well, and it all makes solutions from companies like Apache Royale and Veriskope surprisingly compelling.
This, in combination with quite robust statically typed OOP, ActionScript 3 and Flex, encouraged by existing design patterns and architectural approaches, makes for a great choice, even for new applications and new developers. Why not, since with such an assortment of tools and weapons, developers have an excellent chance to enjoy a bright future and long life—or even digital immortality, through their coding. This is especially so when already getting support and contributions from big businesses like Adobe, since Apache Royale opens the door to once again share most of an app's code with its desktop and mobile versions built with Adobe/Harman AIR, as well as porting to it their great Adobe Connect client app, while smaller startups like Veriskope (a partner of Adobe in the live audio/video streaming technologies area) have built new services based on these technologies.
Though it's only the beginning, the next step is moving Apache Royale to the WebAssembly environment to provide the ultimate in near-native app performance, which is what its ActionScript 3/Flex origins highly encourages. This would unlock the unparalleled capabilities of integration with an infinite number of C/C++ libraries, while this natural evolution would bring RTMP support along as well, since WebAssembly allows developers to port Open Source RTMP libraries to it (such as librtmp used in ffmpeg) relatively easily. This would bring back the supremely low-latency stateful (no frame loss) RTMP live video experience, as was the case in the good old days, meaning no need to get rid of old Flash apps, but rather, to adapt them with new technologies so that they are imbued with the robust quality, security, and scalability that the modern connected world demands. Examples include apps for live video streams used by online merchants to demonstrate products and services in an online shopping environment.
These live streams and video shopping formats have proven extremely popular in China, and they are inevitably coming to Western markets in desktop and mobile browsers and apps. It's a little like QR codes, which were once only truly popular in China but have now become a worldwide phenomenon. RTMP live video from the old Flash days is extremely robust, and it can effortlessly work with today's environments. So too can video conferences on a one-to-one or one-to-many basis, something RTMP mastered long before Zoom meant anything more than something you did with your camera. Flash may well be dead, but the technologies surrounding it, the apps that have been developed and the investments made need not be lost, as modern technologies enable companies to take advantage of what they already have and extend them into the modern era, or even to deploy new solutions based on these well proven and now massively updated solutions. It all leads to a new evolution and beginning for the technologies that brought Flash to life, and which are once again powering the businesses of today and tomorrow.
[Editor's note: This is a contributed article from Veriskope. Streaming Media accepts vendor bylines based solely on their value to our readers.]
Related Articles
Most content publishers have already moved on from Flash, but those who need ultra-low latency have stuck with it. Now that Adobe is ending support for Flash, it's time to move to WebRTC, but it won't be easy.
20 Feb 2020
Limelight's Charlie Kraus discusses three emerging strategies for delivering low-latency live streaming in the post-Flash era.
15 Mar 2018
Robert Reinhardt of VideoRx and Streaming Media Contributing Editor Tim Siglin discuss the real implications, causes, and consequences of the demise of Flash.
07 Jun 2017