Ruffle (software)
{{Short description|Open source emulator for Adobe Flash}}
{{Use mdy dates|date=February 2025}}
{{Infobox software
| title = Ruffle
| name = Ruffle
| screenshot = Ruffle.rs demo (1).png
| caption = The sample SWF loaded in the [https://ruffle.rs/demo/ Ruffle Player demo]
| logo = Ruffle vector logo.svg
| logo caption =
| developer = Mike Welsh
kmeisthax
Nathan Adams
Callum Thomson
relrelb
Kamil Jarosz
Aaron Hill
| programming language = Rust,{{cite web |last1=Michael |first1=Larabel |title=Still Have A Use For Adobe Flash? Ruffle Is Working To Safely Emulate It In Rust |url=https://www.phoronix.com/news/Ruffle-Adobe-Flash-Rust |publisher=Phoronix |access-date=2 September 2023}} ActionScript, TypeScript, JavaScript
| operating system = Microsoft Windows, macOS, Linux
| genre = Multimedia, video game emulator
| license = MIT license, Apache License 2.0
}}
Ruffle is an emulator for Adobe Flash (SWF) animation files. Following the deprecation and discontinuation of Adobe Flash Player in January 2021, some websites adopted Ruffle to allow users for continual viewing and interaction with legacy Flash Player content. Ruffle is multi-licensed under the MIT License and the Apache License 2.0.
Features
Ruffle is written in the Rust programming language, featuring a desktop client and a web client. Website authors can load Ruffle using JavaScript or users can install a browser extension that works on any website.{{Cite web|last=Salter|first=Jim|date=2021-02-02|title=Flash is dead—but South Africa didn't get the memo|url=https://arstechnica.com/gadgets/2021/02/flash-no-longer-works-in-browsers-so-south-africa-made-its-own-browser/|access-date=2021-12-25|website=Ars Technica|language=en-us}}
The web client relies on Rust being compiled to WebAssembly, which allows it to run inside a sandbox, a significant improvement compared to Flash Player, which garnered a notoriety for having various security issues.{{Cite web|date=2019-08-26|title=Flash videos and games are resurrected by Ruffles emulator|url=https://www.slashgear.com/flash-videos-and-games-are-resurrected-by-ruffles-emulator-26588575/|access-date=2021-12-25|website=SlashGear|language=en-US}}{{Cite web|last=Krill|first=Paul|date=2019-08-22|title=Ruffle project hopes to resurrect Flash Player|url=https://www.infoworld.com/article/3433759/ruffle-project-hopes-to-resurrect-flash-player.html|access-date=2021-12-25|website=InfoWorld|language=en}} The Rust language itself protects against common memory safety issues that plagued Flash Player, such as use after free or buffer overflows.{{Cite web|last=Abrams|first=Lawrence|date=2021-02-06|title=This Flash Player emulator lets you securely play your old games|url=https://www.bleepingcomputer.com/news/software/this-flash-player-emulator-lets-you-securely-play-your-old-games/|access-date=2021-12-25|website=BleepingComputer|language=en-us}}
The desktop client currently uses a graphical user interface to open SWF files.{{Cite web |title=Downloads § Desktop Application |url=https://ruffle.rs/downloads |access-date=2021-12-26 |website=Ruffle |language=en}} Downloads are available for Windows, macOS, and Linux. In addition, there are browser extensions for Mozilla Firefox, as well as Chromium-based browsers. A website administrator can even install Ruffle to their websites using a script tag for their webpages.{{Cite web |title=Downloads § Website Package |url=https://ruffle.rs/downloads |access-date=2024-04-12 |website=Ruffle |language=en}}
As of {{Monthyear}}, Ruffle supports most older Flash content, which use ActionScript 1.0 and 2.0, with 99% of the language and 79% of the API having been implemented.{{Cite web |title=Compatibility § ActionScript Compatibility |url=https://ruffle.rs/compatibility |access-date=2021-12-26 |website=Ruffle |language=en}} Support for ActionScript 3.0 has improved significantly since August 2022, with about 90% of the language and 76% of the API having been implemented, and an additional 9% of the API partially implemented. In an article, Bleeping Computer reported that all the Flash games they tried in February 2021 "worked flawlessly".
History
= Background =
Adobe announced in 2017 that it would stop supporting Flash Player on January 1, 2021, encouraging the use of HTML5 instead.{{Cite web |last=Warren |first=Tom |date=2017-07-25 |title=Adobe will finally kill Flash in 2020 |url=https://www.theverge.com/2017/7/25/16026236/adobe-flash-end-of-support-2020 |access-date=2021-12-25 |website=The Verge |language=en}} That same year The New York Times began working on archiving old web content, so that readers could view webpages as they were originally published,{{Cite web |last=Wang |first=Shan |date=2018-04-12 |title=Here's how The New York Times is trying to preserve millions of old pages the way they were originally published |url=https://www.niemanlab.org/2018/04/heres-how-the-new-york-times-is-trying-to-preserve-millions-of-old-pages-the-way-they-were-originally-published/ |access-date=2021-12-25 |publisher=Nieman Lab}} and now uses Ruffle for old Flash content.{{Cite web |date=2021-09-11 |title=Some of the most iconic 9/11 news coverage is lost. Blame Adobe Flash |url=https://www.wcvb.com/article/adobe-flash-some-iconic-911-news-coverage-is-lost/37551863 |access-date=2021-12-25 |publisher=WCVB |language=en}}
Adobe started blocking the use of Flash Player versions newer than 32.0.0.371{{Cite web |last=Brookes |first=Tim |date=2021-01-15 |title=How to Use Adobe Flash (Even Though It's Dead) |url=https://www.howtogeek.com/707830/how-to-use-adobe-flash-in-2021-and-beyond/ |access-date=2024-04-21 |website=How-To Geek |language=en}} on January 12, 2021, using a kill switch.{{Cite web |last=Tung |first=Liam |title=Adobe Flash is finally gone: The end arrives as Adobe starts blocking Flash content |url=https://www.zdnet.com/article/adobe-flash-is-over-the-end-has-finally-arrived-as-adobe-starts-blocking-flash-content/ |access-date=2021-12-31 |publisher=ZDNet |language=en}} Various websites, including governmental and educational ones, were not prepared for the shut-off and abruptly stopped working.{{Cite web |last=DeBré |first=Elena |date=2021-02-05 |title=These Places Were Not Ready for Flash to Die |url=https://slate.com/technology/2021/02/flash-adobe-end-missed-memo.html |access-date=2021-12-31 |website=Slate |language=en}}
= Ruffle =
Mike Welsh, who worked at Newgrounds until 2012, previously worked on an open source project named Swivel to archive Flash content into videos.{{Cite news|last1=Favis|first1=Elise|last2=Liao|first2=Shannon|date=2021-04-08|title=Flash is dead. These games from the early 2000s hope to live on.|language=en-US|newspaper=Washington Post|url=https://www.washingtonpost.com/video-games/2021/04/08/flash-habbo-newgrounds-2020/|access-date=2021-12-26|issn=0190-8286}}
In 2016, Welsh began a project called Fluster. Later renamed Ruffle, this project would morph into a Flash Player emulator, with a desktop and web client.{{Cite web |title=Update README · ruffle-rs/ruffle@0d9d5fe |url=https://github.com/ruffle-rs/ruffle/commit/0d9d5fe57d29fea3b829bc81fc3e97d1916df6f0#diff-04c6e90faac2675aa89e2176d2eec7d8 |access-date=2020-07-24 |website=GitHub |language=en}}{{Cite web|title=Initial commit · ruffle-rs/ruffle@b979ac2|url=https://github.com/ruffle-rs/ruffle/commit/b979ac26a9dad77ca66c3f9171efac4acfa8c19d|access-date=2020-07-24|website=GitHub|language=en}}
= Release history for desktop operating systems =
class="wikitable sortable"
|+ Release history for desktop operating systems ! colspan="2" | Operating system ! First version ! Latest version ! Support status |
rowspan="3" |Windows
| 11 or later | rowspan="3" | 2020-10-01 | Current | 2021-present |
10
| 2025-10-14 | 2020–2025 (Current) |
7, 8 and 8.1 |
rowspan="5" | macOS
| 12 or later | rowspan="5" | 2020-10-01 | Current | 2021–present |
11
| 2025-07-31 | 2020–2025 (Current) |
10.15 |
10.13-10.14 |
Adoption
Since 2019, some websites have announced that they would be using Ruffle.
Newgrounds founder Tom Fulp said they realized "the end of Flash was coming" in 2010, but did not know when.{{Cite web |date=2021-04-08 |title=Newgrounds founder Tom Fulp on Flash and the challenges of preserving two decades of content |url=https://www.washingtonpost.com/video/sports/launcher/newgrounds-founder-tom-fulp-on-flash-and-the-challenges-of-preserving-two-decades-of-content/2021/04/08/fdd3a2cf-b4bd-43ff-bcaf-f364f0cba306_video.html |access-date=2021-12-26 |website=www.washingtonpost.com}} In 2019, Newgrounds announced it was sponsoring the development of Ruffle,{{Cite web|date=2019-08-26|title=Flash videos and games are resurrected by Ruffles emulator|url=https://www.slashgear.com/flash-videos-and-games-are-resurrected-by-ruffles-emulator-26588575/|access-date=2021-12-25|website=SlashGear|language=en-US}} and would use it for all Flash content, starting with animations and later interactive games.{{Cite news|last=Macgregor|first=Jody|date=2019-08-25|title=Flash emulation project aims to preserve gaming history|language=en|work=PC Gamer|url=https://www.pcgamer.com/flash-emulation-project-aims-to-preserve-gaming-history/|access-date=2021-12-25}} The switch allowed Newgrounds to offer some touch-friendly games on mobile for the first time. Fulp told The Washington Post: "We've been integrating Ruffle with the site and so far, the majority of content [on Newgrounds] from before 2007 is running with Ruffle".
In 2020, Coolmath Games announced that they would be using technologies such as Ruffle to make Flash content playable.{{Cite web|last=|first=|date=|title=Coolmath Games and Flash|url=https://www.coolmathgames.com/coolmath-games-and-flash|url-status=live|archive-url=https://web.archive.org/web/20200223203931/https://www.coolmathgames.com/coolmath-games-and-flash|archive-date=23 February 2020|access-date=2021-02-07|website=www.coolmathgames.com|language=en}}
In November 2020, Internet Archive announced they will be using Ruffle to preserve Flash games and animations.{{cite web|url=https://blog.archive.org/2020/11/19/flash-animations-live-forever-at-the-internet-archive/|title=Flash Animations Live Forever at the Internet Archive|author=Jason Scott|date=November 19, 2020|access-date=January 16, 2021}} Jason Scott, an archivist at the Internet Archive, said: "I looked into adding it to the Internet Archive system, and it took less than a day and a half because it was so well made".{{Cite web|last=Chan|first=Khee Hoon|date=2021-03-18|title=Tracing the Sprawling Roots of Flash Preservation|url=https://www.vice.com/en/article/tracing-the-sprawling-roots-of-flash-preservation/|access-date=2021-12-25|website=Vice.com|language=en}}
In December 2020, Armor Games announced that Ruffle had been chosen as their player for Flash content.{{Cite web|date=8 December 2020|title=The Future of Flash on Armor Games|url=https://armorgames.com/news/the-future-of-flash-on-armor-games|access-date=2021-01-06|website=Armor Games}}
Homestar Runner has also announced the implementation of Ruffle for their cartoons and games.{{Cite web |title=Ow! My entire website!! - Post-Flash Update |url=https://homestarrunner.com/post-flash-update |access-date=2022-04-09 |website=Homestar Runner |language=en}} Though certain elements of the website itself are currently unsupported by the emulator, most of the site's content has shifted to containment within a Ruffle window at the very least. In addition to the official website, this change was soft announced via Strong Bad's Twitter account.{{Cite web |title=Did it food?|url=https://twitter.com/StrongBadActual/status/1329989081867104260|access-date=2022-04-13|website=Strong Bad on Twitter|language=en}}
In July 2023, Neopets announced that the usage of Ruffle was being explored to speed up the process of bringing back broken Flash games and other content to the website.{{cite web |url=https://medium.com/@neopetsofficial/a-new-era-for-neopets-fdb5c9ac187e |title=A New Era for Neopets! |author=Neopets |work=Medium |date=2023-07-16 |accessdate=2023-07-26 }} Later that month, Ruffle was implemented for a selection of supported Flash games.
See also
References
{{Reflist}}
External links
- {{Official website}}
- {{GitHub|ruffle-rs/ruffle}}
- [https://ruffle.rs/demo/ Ruffle Player] (web demo)
{{Adobe Flash}}
Category:Free software programmed in Rust
Category:Free emulation software