Card Image

What is Flashify?

Flashify is a browser extension for UXP/Legacy Firefox that forces select websites to run content in Adobe Flash Player instead of Ruffle. While this may sound absurd, given Adobe Flash Player's lack of support and Ruffle's generally decent compatibility and performance, Adobe Flash Player still has a few benefits.


1: Ruffle doesn't work at all on UXP (Known issue)

2: Ruffle still doesn't have perfect compatibility, especially with older Flash games and media.

3: Ruffle forces a play button on Flash content, where Adobe Flash Player starts it immediately.

4: Ruffle isn't very good on sites that utilize Flash (as the predecessors of today's "single page web apps" tended to).


While Ruffle is an impressive project, and I hope that it (or one of it's competitors) can step up to the plate and properly replace Adobe Flash Player, it still leaves much to be desired for now. So while Adobe Flash Player is unsupported and (consequently) less secure, it's still the only realistic option for a lot of Flash content.


To attempt to (somewhat) mitigate this, Flashify will not automatically force Adobe Flash Player, and instead require that the user clicks the "Flashify" button in the browser toolbar by default. It's an extension icon, much like uBlock Origin or FoxyProxy, so you can place the icon wherever you feel comfortable using Pale Moon/Basilisk's built-in customization tools. You will be able to whitelist websites you trust, and display Flash content from them automatically.


To-Do list

There are certain features I want to implement before release, and features on my long-term roadmap.


Before release:

Actually load a SWF file from a website.

Properly re-embed Flash Player in place of Ruffle

Add a config menu for trusted websites.


High priority:

Check domains against a blacklist before enabling Flash content (You should still be careful).

Different icon colors for seeing Flashify's status at a glance.


Low priority:

Intelligently find the SWF file in the page content, if possible.


Why I want to do this

Adobe Flash, for better or worse, made up a lot of my childhood. From Flash games to cartoons on Newgrounds and even eventually YouTube content, Flash is something I grew up with. While I only saw it in it's later years, I still very deeply care about a lot of the content made with it. Given the state of content creation today, where effectively the only "Free to Play" games are also "Pay to Win", most video content today is overwhelming given that it's all optimized for people with no attention span whatsoever, and online communities at large are dying (And don't even get me started on the rise of automated AI-generated content), I feel largely upset about the state of the Internet today. I want to be able to experience the web as I feel it should be, and for better or worse, that includes Flash.


Why UXP, what even is it?

UXP, or the Unified XUL Platform, originated with the Pale Moon web browser. Pale Moon is an open source browser that hard-forked off of Firefox in 2009, offering a few quality of life improvements. Later on in Pale Moon's development, the Pale Moon team started to dislike some of Firefox's changes, and further diverged from Firefox. Around 2017, the Pale Moon team hard-forked Firefox 52 entirely, creating the UXP project, due to Mozilla killing XUL and XPCOM extensions in favor of Google's WebExtensions technology. (For those who don't know, a "hard-fork" is when a project takes the source code for another project, and spins it off entirely, often with a different development philosophy.) Pale Moon weren't the only developers displeased with this move, as many Firefox extension developers preferred the powerful XUL interface over the less capable WebExtensions platform. While, today, you won't find much discourse about it, there are still things to this day that WebExtensions aren't capable of.

As a result of being a hard fork from Firefox/Gecko 52, UXP still offers NPAPI (Netscape Plugin API) compatibility, including support for Adobe Flash Player, Java, and even Microsoft Silverlight (yay!). While it'd be possible to instead use an older build of Firefox (85 or 78 ESR) or Chromium (88), you wouldn't get browser updates. The latest version of Pale Moon, Basilisk, and other UXP based browsers, still support NPAPI, while still getting modern security fixes.


Why should I care?

While there are many arguments to be made for preservation as an "art form", you've likely heard that argument many hundreds of times already, so instead I'll give a more personal reason. Imagine your favorite childhood games, and the platform(s) they ran on. As someone who grew up with a Gamecube I can name Super Smash Bros. Melee, Viewtiful Joe, F-ZERO GX, and Wario World as specific examples. What if one day, that platform (the Gamecube, in this case) just ceased to exist? With no real way to play those games as they were anymore, you'd have to go with something like Dolphin Emulator. While Dolphin is a great project and I personally use it for quite a few things, it's just not the same... It doesn't work properly with every game out of box. You need a clunky USB adapter to just use your Gamecube controller (with extra quirks). It's just not a Gamecube. If you're not the type of person to care about that at all, that's okay. We're all different people. But many people, myself included, care very much that these things aren't as accessible anymore. I want to allow the world to experience Flash again. The good side of Flash. And not through an incomplete emulator or an archive that loads Flash Player Standalone. I want the real experience again. And I know a lot of you do too.