Finding Flash Player Alternatives Using a Real Project Example

The inscription " Support for Flash Player will be discontinued in December 2020 " in the browser can evoke various emotions from users, ranging from relief that the vulnerabilities have been resolved, to the realization of some betrayal by the tech giants. The former may have suffered from a virus once embedded on a dubious site, while the latter are forced to cover up a project that depends almost entirely on this technology.

In early 2016, when the outlook for Flash was still bright, the author of this post came up with the idea to implement site content using embedded SWF videos. By that time, there were already calls, like Steve Jobs' claims against Adobe in 2010, that a proprietary product was not worthy of being embedded in a proprietary OS. There should be an ironic emoticon here. At that time, mobile traffic was not so noticeable (and the grass is greener) and few people took such statements seriously.



Moreover, Flash has been used on many sites, games, desktop applications and video / audio players. The scope of its application was very diverse, and the level of entry into ActionScript 2 was at the level of children's programming emulators. After AS 3, everything became serious, and many strategy games on social networks of that time confirm this. Let's remember them together with the flash. Okay, let's not talk about bad things.



Indeed, the site owners have had enough time to ... what? Move to HTML5, WebGL and WebAssembly. I will describe the situation in more detail. There are two sites, one of which has more than a hundred flash-videos, and the second has about one and a half thousand. These are small videos that include animation, navigation, and other necessary quirks. Almost all of them are handmade. To say that I was sorry to part with them is to say nothing. But the thought of converting them all to HTML5 as recommended seemed insane. None of the converter, decompiler, or built-in Flash method I tested gave the desired result.



It is worth considering that it was not enough to transfer the project to modern analogues, it still needs to be developed and updated. With Flash, an ordinary designer could do this, with HTML5, WebGL and WebAssembly, at least a couple of programmers are needed. Indie projects after that can only rest.



In 2017, when Flash was announced to die, it was possible to remake some of the animations using the usual developer tools - dancing with a deer skull and a tambourine. Using a decompiler, these videos were wholesalely disassembled into resources frame by frame, and then using a self-written js player, all this more or less loaded and worked. The upside was that they worked in mobile browsers. Due to the specifics of the sites, the latter did little, but the trend was maintained. But this is only for animation, where interactivity was supported, everything is more complicated.



A small digression - these sites simulate the operation of a certain graphics program, where instead of executing commands, their description is given. For example, there was already an official tutorial on 3DS Max, but not as interactive and convenient as the one mentioned earlier (as its author, I can exaggerate the merits). Looking ahead, the official tutorial also had flash videos, and before writing this article I looked into it to find out how the problem was solved. It was solved in a very original way - most of them were simply cut out, the rest were converted into video.



So what general solutions can be used after December 2020?



Firstly, since the latest versions of Flash Player have a health timer inserted, making it a mere mortal, you need to find a version where there is no such timer (v32.0.0.371) and offer to install it to the user. The problem here may be that links to such versions are systematically removed by the manufacturer from the sites. Therefore, to give a download link together with a proposal to install a possibly vulnerable outdated product, such as yourself. The method may be relevant only for desktop applications. Judging by this statement from Adobe, the time bomb is set for January 13, 2021.



Second, it is possible to recompile to a supported video format as mentioned earlier. However, not all Flash movies, especially interactive ones, will do this.



Third, turn to ready-made solutions (without mentioning the abandoned GNU Gnash and Mozilla Shumway). Previously, there was hope that they will appear, closer to the end of the Flash Player. And they appeared. A good solution is Ruffle, so far the only one that has been found. 70% support for AS 1 / AS 2 only. It's free redistributable, licensed by MIT / APACHE. Among the shortcomings - ugly design and some playback glitches, which I managed to fix when posting on the site. Installation is very convenient, it is inserted by a JS script. Basically Ruffle Player is an Adobe Flash Player emulator written in the Rust language. The project can be built in the form of a separate application, or compiled into WebAssembly format for embedding in web pages in an isolated browser environment. This turned out to be the solution for my problem and many more developers.It is worth mentioning that the Ruffle developers have partnered with archive.org to preserve the ability to browse archived Flash pages.



Why didn't Adobe release their version of the Ruffle-like turntable as soon as it smelled fried? One can only guess about this. But, more likely, worthy analogs will appear and you just need to wait for them, waiting for the lock on what is. So the death of the old flash drives on the web was announced prematurely. At least 2021 is still promising.



Links to resources:



Ruffle ruffle.rs

Mentioned redesigned sites (for the big picture): 3dsmax-book.ru , rhino-book.ru

Flash Player version 32.0.0.371 in archive.org ( download )



All Articles