[HN Gopher] A Flash Player emulator written in Rust
       ___________________________________________________________________
        
       A Flash Player emulator written in Rust
        
       Author : known
       Score  : 248 points
       Date   : 2021-02-05 05:55 UTC (17 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | bryanrasmussen wrote:
       | but if it's written in Rust are they going to be able to emulate
       | the security holes so you get the full experience?
        
         | pjmlp wrote:
         | If they target WebAssembly most likely,
         | 
         | "USENIX Security '20 - Everything Old is New Again: Binary
         | Security of WebAssembly"
         | 
         | https://www.youtube.com/watch?v=glL__xjviro
        
           | nynx wrote:
           | lmao, only if you write something other than rust
        
             | fulafel wrote:
             | There's a lot of unsafe usage in this codebase
             | (https://github.com/ruffle-rs/ruffle/search?q=unsafe
             | returns 5 screenfuls) - though I don't know enough about
             | Rust to tell how risky these are.
        
               | emi2k01 wrote:
               | Around 3.5 of those pages are unsafe uses for
               | implementing the same trait for garbage collection. The
               | implementations seem very simple and the documentation
               | mentions invariants that are easy to hold so it should be
               | easy to recognize an unsound implementation. I think that
               | it should be possible to not use unsafe at all for some
               | of those but I only skimmed over the code so I'm not
               | sure.
               | 
               | Most of the rest of unsafe uses are to skip rust checks
               | that have already been asserted and for FFI which is
               | unavoidable.
               | 
               | There are only a few unsafe uses whose invariants are not
               | well defined. I only gave it a quick look but I doubt
               | they're risky.
               | 
               | Even if an attacker manages to exploit ruffle, I wonder
               | what could they do in a WASM sandbox in an isolated
               | domain.
        
               | kibwen wrote:
               | In this context any usage of `unsafe` in Rust is probably
               | irrelevant to the safety of the resulting program,
               | because AFAIK the WASM sandbox doesn't trust programs
               | enough to actually allow them to do anything that could
               | potentially violate memory safety.
        
               | fulafel wrote:
               | Yep, in a lot of use cases the wasm version probably is
               | fine with the browser sandbox. But according to the
               | readme this also targets the desktop. I would imagine the
               | desktop mode is native code + wgpu, as there seems to be
               | a wgpu directory under renderer/ .
               | 
               | There are some scenarios when vulnerabilities in a wasm
               | compiled program can be harmful too though. For example
               | the web page embedding the emulated flash applet doesn't
               | necessarily intend to give that app full access to that
               | origin's context. For example it could exfiltrate some
               | api keys or other security tokens of the logged in user
               | of the containing page.
        
         | josefx wrote:
         | Just run it on an Intel processor with some modern RAM.
        
       | ChrisSD wrote:
       | I wonder if something like Ruffle could one day be used to
       | automatically and losslessly convert Flash files into other
       | formats?
        
       | dleslie wrote:
       | I'm excited for this; flash is still wholly unmatched as an
       | artistic expression tool. HTML5 and WebAssembly can, obviously,
       | provide the technical chops; but we've never recovered the
       | experience of a novice Flash user who, with no prior domain
       | experience, could realize an inspired prototype game or
       | entertaining animation in less than an hour.
       | 
       | The tool was just that accessible, and the community that good.
        
         | have_faith wrote:
         | Having to account for responsiveness kills a lot of creativity
         | regardless of the tools used. Amateurs also used to hand craft
         | unique and interesting Geocities websites but responsiveness
         | has really hampered how easy and accessible that is.
        
           | imbnwa wrote:
           | I would add that Canvas' performance profile is not the same
           | as the Flash runtime either, you can't just layer on top of
           | layer with Canvas and not give a F like Animate/Flash let you
           | do. Artists/amateurs don't want to have to think about
           | performance tuning across browsers.
        
         | [deleted]
        
         | salamanderman wrote:
         | I haven't used Unity, but I'm often surprised that it hasn't
         | taken this niche.
        
           | MattRix wrote:
           | This really isn't what Unity does. Unity is mostly just the
           | engine and level editor. The thing that made Flash special
           | was that it was a complete vector animation authoring tool
           | first, before you get to all the scripting etc.
        
         | LASR wrote:
         | Ironic that "accessibility" was one of the downsides to flash
         | as opposed to html5.
         | 
         | But I agree with you.
        
         | skrebbel wrote:
         | Agree! It's not just unmatched on the web, for many purposes
         | it's unmatched across the board.
         | 
         | I remember reading that the English cartoon Duggee (which also
         | happens to be my favourite children's show _by far_ ) is 100%
         | animated in Flash. Get this, it's a professional, prime time,
         | internationally syndicated TV show and they use Flash because
         | it let's the animators be more productive than anything else.
        
           | m_t wrote:
           | There has been so many cartoons made in flash, with great
           | artistic result.
           | 
           | Well, turns out there's a wikipedia page on that: https://en.
           | wikipedia.org/wiki/List_of_Flash_animated_televis... Even
           | Family Guy started with Flash!
        
         | fooker wrote:
         | > The tool was just that accessible, and the community that
         | good.
         | 
         | The tool is exactly the same and it outputs html\js now.
        
           | dleslie wrote:
           | Not quite. Animate exists, but acquiring it is prohibitively
           | expensive. Flash was popular in no small part because it was
           | easily pirated, and so cheap as free. Animate requires a
           | prohibitively expensive yearly subscription fee.
        
         | jayd16 wrote:
         | Whats missing from modern tools?
        
           | echelon wrote:
           | Flash was really special.
           | 
           | The design philosophy behind flash was to let you make
           | animations and interactive content.
           | 
           | The design philosophy behind html/css/js/web stack is a
           | composable system of modules that can be bundled, used to
           | center objects, and plumb state to components.
           | 
           | Flash was on another level. The web hasn't been the same
           | since it left us.
        
             | emayljames wrote:
             | Using Adobe Animate (previously called Adobe Flash
             | {something?}) you can create all the same content you could
             | previously exporting to html5/JS/CSS.
        
           | ivanhoe wrote:
           | Which modern tools you have in mind?
        
           | danShumway wrote:
           | It's a combination of a lot of things. In theory, Adobe
           | Animate still exists today, but it's wildly inaccessible both
           | because of cost and its proprietary nature. There's also
           | complications based on how PWA get deployed to mobile, etc...
           | 
           | But ignoring all of that, here's a quick list of (some)
           | categories of things I still miss from Flash:
           | 
           | - nested animations/clips: The recursive nature of Flash made
           | making animations very fast. It also opened up some workflows
           | with AS2 that were not particularly scalable, but that were
           | _excellent_ for fast prototyping. This is the biggest thing I
           | miss when I open programs like Aseprite. I can 't begin to
           | describe how great it was for programming to be able to embed
           | code inside of animation, and have the entire thing be a clip
           | that could be embedded inside another program. Doing stuff
           | like point-and-click games with that workflow was so fast and
           | easy, and it was so easy to build up animations with a lot of
           | disparate parts.
           | 
           | - a content-first workflow: related to the above, Flash let
           | you switch between coding and content very quickly without
           | worrying about stuff like imports. The fact that the
           | content/animation and coding were so synchronized was a
           | different way of thinking about architecture. There were
           | problems associated with it when it came to scalability and
           | organization, but again, just very fast to work with, very
           | accessible, and lent itself to a certain way of thinking
           | about prototypes that had some big advantages. When you had
           | an idea you could be switching back and forth from code to
           | animation constantly, you didn't have to alt-tab or export
           | anything.
           | 
           | - AS2: maybe controversial, because AS3 was pretty popular
           | and a lot of programmers were campaigning hard that it was
           | the "correct" way to do things, but again, I want to stress
           | the weird combination of content/animation/code was part of
           | what made Flash special, and abstracting some of that out and
           | having more "professional" content pipelines and different
           | ways of doing events and organizing everything -- I think
           | something was lost with that transition.
           | 
           | - Also just, in general, the animation tools were good. I
           | don't know of an Open Source (or shared source) tool that has
           | the same level of animation tools. Blender is doing some
           | really compelling stuff that I'm very excited about, but
           | Greasepencil is not a substitute for Flash, it's going in its
           | own direction, and it's much less accessible. Aseprite is
           | great (being able to tag frames and export data about them is
           | handy), but it has some quirks and annoyances around the
           | timeline controls. It's also just a lot more limited, you're
           | basically forced to do frame-by-frame animation. There are
           | some programs that I see animators online using that seem to
           | be very powerful, but they're often either quite expensive or
           | so restrictive and narrowly targeted that I'm not even
           | willing to think about using them.
           | 
           | - And again, I can't stress enough: even just as an animation
           | tool, even forgetting about games, adding scripting to
           | animations is useful. You can have a movie clip that repeats
           | until you hit a frame and throw an event. You can have a
           | hand-animated scene with a procedurally animated background.
           | And that's all really, really fast to do because the way the
           | UX is set up you just have everything accessible at the same
           | time.
           | 
           | ----
           | 
           | I don't think it would be impossible to replicate some of the
           | things that made Flash great, and if someone really took the
           | time to sit down and think about what made that workflow what
           | it was, I don't think it would be impossible to make a Flash
           | replacement considerably _better_ than Flash. Flash had bad
           | audio tools, its data formats were all closed down, it wasn
           | 't really extensible, it's drawing tools could have been
           | better, and for most of its life it was terrible if you
           | wanted to do anything with non-vector content. There are big
           | improvements that an Open replacement could make.
           | 
           | It would be an uphill battle, because the ecosystem
           | surrounding Flash didn't just exist because of Flash. There
           | are a bunch of different factors that went into it. And there
           | are some APIs on the web that are still annoying. Mobile
           | support for web games is still annoying. Controller support
           | is not great, rumble isn't really supported. There's stuff we
           | could do better. But the core functionality that old-school
           | Flash needed is mostly there, and we could have
           | (functionally) a Flash replacement today. It also wouldn't
           | need to be a web app, you could have a Flash replacement that
           | targeted the web for compilation that _itself_ ran as a
           | native app, and that would be completely fine.
           | 
           | Heck, you could have one that didn't target the web.
           | Obviously I'm thinking first about the web, but if there was
           | a Flash-equivalent Open Source prototyping tool that targeted
           | Linux/Windows, that would also be great, and as far as I know
           | that kind of tool also doesn't exist today.
           | 
           | It could be done, it would just be a lot of work to build,
           | and tricky to get right and to get polished. The really weird
           | reality is that as far as I can tell, no one's ever _tried_
           | to build a Flash successor that actually imitated the
           | features I care about in Flash. There are plenty of game dev
           | platforms, some very easy to use, but very few of them have
           | great content creation tools baked in, very few are
           | experimenting with completely novel approaches to
           | architecture like Flash 's movie clip system.
        
             | [deleted]
        
             | [deleted]
        
             | dleslie wrote:
             | > This is the biggest thing I miss when I open programs
             | like Aseprite. I can't begin to describe how great it was
             | for programming to be able to embed code inside of
             | animation, and have the entire thing be a clip that could
             | be embedded inside another program.
             | 
             | This was just _magic_.
             | 
             | Godot and Unity prefabs are sort of half-way there, but the
             | scene view being the primary interaction for editing causes
             | the _magic_ to disappear. Flash had the timeline as the
             | primary view; so where in scene view you drop an object
             | into a space, in Flash you drop an animation into a
             | timeline.
             | 
             | The outcome is very different. With time moving forward in
             | the scene view, IE in Unity play mode, the objects in the
             | world move and behave in a linear fashion. A ball rolls
             | forward until it finds the lowest point to settle in. With
             | time moving forward in the timeline the animations within
             | loop endlessly. Time goes from 0 to N and back to 0 to
             | repeat.
             | 
             | This was absolute _magic_ for rapid iteration.
             | 
             | And yes, all the rest you discussed was goodly, as well.
             | 
             | And it was an absolutely great cartoon animation toolkit.,
        
             | brundolf wrote:
             | PICO-8 seems adjacent, at least. It's generally more
             | programming-oriented, but it includes tools for editing
             | sprites and music and code and bundles everything together
             | under a single editor/runtime, which can target desktop or
             | web or even be distributed in the form of an image file.
        
               | danShumway wrote:
               | PICO-8 is fantastic, but ultimately way less flexible and
               | powerful than Flash.
               | 
               | That's not a dig at PICO-8, it's limited on purpose. But
               | the strength of Flash was that it was extremely flexible
               | and exposed an architectural style that lent itself very
               | well to prototyping. PICO-8 does have all of its tools
               | built into the same app, but it doesn't have anything at
               | all like a movie clip system, it doesn't even have events
               | or a timeline. I think it just has very different goals,
               | it's a philosophy built around having a small, self-
               | contained, understandable system -- not around having a
               | unique workflow.
               | 
               | The closest programming/architecture analogy I draw to
               | PICO-8 isn't Flash, it's the TI-83 graphing calculator.
               | That platform also had a lot of influence over how I
               | learned to program, and it had similar strengths to
               | PICO-8 in how limited it was and how that forced you to
               | get creative and allowed you to really deeply understand
               | what was going on in your program.
               | 
               | Where I _do_ see PICO-8 getting adjacent to Flash is in
               | the community. I think when some people say they miss
               | Flash, what they really miss is sites like Newgrounds and
               | the surrounding indie scene. PICO-8 does capture some of
               | that, it 's a great environment to learn to code in, and
               | it's a fun environment to work in. I just don't think it
               | captures any of the tooling. When I say I miss Flash, I
               | kind of miss the indie scene, but I miss the tooling
               | more.
        
               | brundolf wrote:
               | That makes sense
               | 
               | I'm honestly tempted to take a swing at the "open
               | replacement" that you described in your original
               | post..... Though I never actually used Flash back in the
               | day, so I'd need to do some research
        
               | danShumway wrote:
               | It's something I've been thinking about a lot lately. Not
               | necessary to try and make something myself, but just...
               | what would a modern Flash look like if it wasn't just a
               | clone, but it was people actually thinking about what
               | made Flash attractive and really trying to figure out how
               | to replicate its strengths and address its weaknesses?
               | 
               | An interesting point here is that Adobe Animate still
               | exists, which (in theory, I haven't used it) still has a
               | lot of these features. But nobody uses it for game
               | prototyping that I'm aware of -- and not just because
               | it's expensive or (in my case) because people refuse to
               | use subscription software. I've seen gamedevs do their
               | animation in Animate CC, and then export it out to Unity.
               | So there's something going on there.
               | 
               | I wonder if I went back and reinstalled Flash 8, if there
               | are parts of it I would notice that didn't age well, or
               | paradigms that needed to be rethought. But I still feel
               | like that _kind_ of workflow is something we could have
               | again, and with enough thought put into it, it could be
               | even better. I would welcome more people thinking about
               | this kind of stuff or trying their hand at prototyping
               | game engines that were designed around novel workflows.
               | 
               | There's fertile ground in this area if someone wanted to
               | explore it and dig into it.
        
             | syspec wrote:
             | Are you the author of another flash shim named shumway?
             | 
             | What is the status of that project, is it still active?
             | What do you think of this project?
             | 
             | https://developer.mozilla.org/en-
             | US/docs/Mozilla/Projects/Sh...
        
               | danShumway wrote:
               | Hah! You're not the first person to refer me to that.
               | 
               | It's entirely coincidental, but I love that I share the
               | same name. For purely selfish ego reasons I wish it had
               | succeeded.
        
           | danbolt wrote:
           | I don't think anything feature-wise is missing on the runtime
           | side, but Flash's keyframe/editor setup just let people make
           | the most amazing things.
        
             | gabereiser wrote:
             | Stickdeath comes to mind. 2advanced studios work. All the
             | amazing bitmap effects. Flash was really easy to create
             | interactive scenes as your site. Each one different from
             | another. Each one a masterpiece of art and layers and
             | effects taken from gaming and VFX/Film. I miss that. Don't
             | get me wrong, I'm glad flash it dead, but I really miss the
             | beautiful sites it enabled.
        
             | coldtea wrote:
             | Isn't Adobe Animate the same thing, keyframes and
             | everything, just with html output?
        
               | patates wrote:
               | It also supports Javascript now, and they seemed to have
               | deprecated AS1 & 2 support. I've even seen some TS
               | definitions on the internet.
        
               | Arainach wrote:
               | Animate is only available as part of a $236/yr
               | subscription and can't be purchased. Flash was far more
               | attainable.
        
               | pjmlp wrote:
               | Yeah, mostly piracy. So it doesn't matter.
        
               | HeckFeck wrote:
               | It's probably harder to pirate now.
        
       | Vespasian wrote:
       | Great project!
       | 
       | To be honest I'm slightly annoyed whenever a github submission
       | mentions the programming language for no specific reason.
       | 
       | Rust is a great tool but it doesn't matter unless you want to
       | participate in this project.
        
         | schwartzworld wrote:
         | Of course it matters even if YOU don't want to participate. The
         | techy types that frequent here may actually want to contribute,
         | or be interested in how the code was implemented as a learning
         | resource.
         | 
         | Additionally, there are biased for and against programming
         | languages, and I guarantee that there is a whole set of people
         | on HN that would be interested in this project because it is a
         | language they like. Rust means you can run this software almost
         | anywhere and it's going to be easy to install.
        
           | Vespasian wrote:
           | I guess that's true and I shouldn't comment that "early" in
           | the morning ;)
        
       | anthk wrote:
       | This is not an emulator.
        
       | daypay wrote:
       | Can't wait to play Runescape in the browser again.
        
         | McDev wrote:
         | That runs on Java unfortunately
        
           | etaioinshrdlu wrote:
           | There are actually a good number of ways to get Java to
           | compile and run in a browser. It should be OK, perhaps the 3D
           | or other advanced API's may be a mess however.
        
       | 101008 wrote:
       | I helped restoring JK Rowling official website [1] from 004 to
       | 2010, which was entirely in Flash. It was a reproduction of her
       | desktop / house, with a lot of fun sections, secrets, easter,
       | eggs. After years rebuilding it (with swf files, decompiling them
       | to understand the Ajax calls, etc), browsers announced they were
       | going to stop supporting Flash, so all the hard work was almost
       | useless (a few people saw it and loved it, though).
       | 
       | I tried Ruffle but unfortunately it still doesn't support all the
       | original Flash features, so most of the website is unusable yet.
       | But I wait for the way when they complete it and the website can
       | be browseable again.
       | 
       | [1]: https://www.therowlinglibrary.com/jkrowling.com/en
        
       | wentwrong wrote:
       | I just thought that it would be nice to have a site like "You
       | Might Not Need Jquery" (http://youmightnotneedjquery.com), but
       | one that helps to find alternatives to Flash features.
        
       | systemvoltage wrote:
       | https://en.wikipedia.org/wiki/Orisinal
       | 
       | Can we revive Orisinal? I used to spend hours on their games:
       | https://wsa-global.org/winner/orisinal/
        
         | adrian17 wrote:
         | With the Ruffle browser extension, it appears that most of the
         | games already work (at least the random sample I checked).
        
       | ink_13 wrote:
       | I first heard about this project when it saved homestarrunner.com
       | from the dead.
       | 
       | I'm glad it exists, there's a lot of 2000's-era web history
       | wrapped up in Flash.
        
         | IshKebab wrote:
         | Homestarrunner was mostly not interactive so they could have
         | just converted everything to video (I bet it is on YouTube
         | already).
        
           | ygra wrote:
           | It is on YouTube. But there's a _lot_ of Easter eggs in the
           | Strong Bad Emails that rely on interactivity which are lost
           | in the video.
        
       | karmakaze wrote:
       | I read the title three times to decide it was saying it's
       | emulating a Flash Player. Seems I was wrong, it is a Flash
       | player, or you could say it's a Flash interpreter.
       | 
       | It doesn't take a specific Flash Player and run it in emulation.
       | That seemed viable to me, the OS support needed wouldn't require
       | any specific knowledge of Flash/ActionScript which is
       | horizontally portable from/to non-flash things.
        
       | villgax wrote:
       | Please FFS let flash die a peaceful death
        
         | [deleted]
        
         | imhoguy wrote:
         | Please not. Such projects are essential for historical
         | preservation. Shall we let C64, Atari die too and stop
         | improving emulators?
        
           | Shared404 wrote:
           | Yeah, Flash-the-platform can die for all I care.
           | 
           | Flash-the-content needs to be preserved, and Ruffle seems
           | like a promising step towards that.
        
       | pvg wrote:
       | Previously:
       | 
       | https://news.ycombinator.com/item?id=25242115
       | 
       | https://news.ycombinator.com/item?id=20728019
        
       | macspoofing wrote:
       | >Ruffle is in the proof-of-concept stage and can currently run
       | early Flash animations and games.
       | 
       | Yeah. Just like the 10,000 other Flash implementations. The
       | problem is that SWF is very complex format and relies on
       | proprietary codecs. Also, there are multiple runtimes to support.
       | Like all attempts before it, simple cases will be covered but
       | anything slightly more complicated will never work.
        
         | steveklabnik wrote:
         | Given the folks sponsoring the project, I have higher hopes for
         | this than you do.
        
           | macspoofing wrote:
           | I've seen this before, going all the way back to Gnu Gnash
           | all the way up to Shumway (which was functional in the same
           | way all the others were). The simple parts, typically the
           | things from the AS1/AS2 world, are simple. As you get into
           | the AS3 world there's a drop-off. I don't see anything in
           | this project that hasn't been done before.
        
             | steveklabnik wrote:
             | I am not aware of the folks behind Gnash, and Mozilla
             | obviously cares about the web, but I don't think either of
             | those organizations have the dedication to Flash that
             | Newgrounds, or even the NYT, have.
             | 
             | Time will tell I guess.
        
               | macspoofing wrote:
               | Indeed. I was tracking a lot of these projects a few
               | years ago because we had a Flex/AS3 RIA (remember that
               | term?) so I was _hoping_ we 'd get a freebie port to
               | HTML/JS.
               | 
               | In the end, we ended up writing our own AS3->JavaScript
               | transpiler[1]. The Apache Flex project has since done
               | something similar, though by the time that was done, we
               | were done. So my skepticism stemmed from just seeing
               | these projects come out, get some quick wins from
               | implementing a simple subset of swf, and then just go
               | nowhere.
               | 
               | But I wish them well. I hope it works out.
               | 
               | [1]Well, not totally ours. We used the existing Falcon
               | compiler front-end and we wrote the emitter to transpile
               | to TypeScript (after implementing a subset of Flash SDK
               | that we needed).
        
               | steveklabnik wrote:
               | Oh wow, RIA, yeah, takes me back :)
        
       | acidburnNSA wrote:
       | Just tried it out on all my flash animations and games I made in
       | 2005-6. Haven't busted those out for a while. What a throwback.
       | Handled them all pretty well except for one game that loaded
       | images of my friends. Must've had the image files not embedded or
       | something. Great work, and thanks!
        
       | jgalt212 wrote:
       | If this can play Elf Bowling, I'm in.
        
       | loup-vaillant wrote:
       | What do you mean, a Flash player _emulator_? There 's no real CPU
       | to emulate in the first place. Shouldn't we call that a _Flash
       | player_?
       | 
       | Or is this because of trademark or something?
        
         | lxgr wrote:
         | To get to 100% fidelity, there'll be a Windows XP + IE 6 on x86
         | emulator in there sooner rather than later.
        
         | throw_m239339 wrote:
         | You're right it is a unofficial "flash player". I guess the
         | original player was some sort of VM since it ran some byte
         | code.
        
       | dikei wrote:
       | I hope this fare better than GNU Gnash.
       | 
       | Back in university, my friends and I had a team hacking on Gnash
       | to try implementing an OpenGLES renderer for a class project. We
       | never got it finished, due to the lack of documentation and our
       | poor reading of C code.
        
       | lxe wrote:
       | Quite a few things on Newgrounds are actually running on Ruffle!
        
         | cyborgx7 wrote:
         | I was confused why some old flash games, that I couldn't play
         | since I ditched flash, suddenly ran again when I looked them up
         | randomly again. I think I just found my answer.
        
       | faitswulff wrote:
       | I went looking for the original xiaoxiao stick figure fighting
       | swf to load into the demo and found out that Albino Blacksheep is
       | already using Ruffle in production:
       | https://www.albinoblacksheep.com/flash/fight1
        
       | jtwaleson wrote:
       | Ok, funny story about ruffle: Years ago in 2012 some co-workers
       | stumbled on the greatest website ever:
       | http://www.novalight.net/NOVALIGHT.html (takes a while to load
       | now) To prove that HTML5/CSS3 was finally ready, I started a side
       | project to recreate it in JS:
       | https://github.com/jtwaleson/NovaLight-Challenge . I never got
       | far and I don't know if that means I never finish side projects
       | or if Flash is officially superior to HTML5. Anyway, the owner of
       | the original site found it and emailed me his appreciation and I
       | think we both had a good laugh about the situation.
       | 
       | Two weeks ago he emailed me again to ask if I could maybe finish
       | the project because flash is now dead, and the site is part of
       | his legacy etc. Instead I slapped ruffle.js on it and everything
       | is back up! It's quite slow to load, but apart from that
       | everything looks great! Ruffle is an amazing project :)
        
         | newswasboring wrote:
         | This work should be put in the wikipedia list of outsider
         | art[1].
         | 
         | [1] https://en.wikipedia.org/wiki/List_of_outsider_artists
        
         | arghwhat wrote:
         | Oh god it's every PowerPoint secreting manager's dream and the
         | worst nightmare of everybody else.
        
         | kthxb wrote:
         | Awesome page, and it even works flawless on mobile.
        
           | mstade wrote:
           | Took a while to load, but absolutely worth the wait!
        
         | smcl wrote:
         | I googled Peter K Joneleit after your description of him in the
         | README and I was curious if you were just having a bit of fun
         | or if he was involved in defining these web standards. Hooooo
         | boy I was not prepared for his Twitter, it is _wild_
        
           | newswasboring wrote:
           | As soon as I saw his handle is literally "GodSend14" I knew I
           | was in for a nice ride.
        
             | someperson wrote:
             | Eccentric like the late
             | https://en.wikipedia.org/wiki/TempleOS creator
        
               | newswasboring wrote:
               | Lets call a spade a spade. Its not "Eccentric", he either
               | has serious mental health issues or is an American far
               | right conspiracy theorist. And don't you go implying that
               | all American far right conspiracy theorists have mental
               | health issues, that is not proven or even logical in many
               | ways.
        
               | [deleted]
        
           | anamexis wrote:
           | Link: https://twitter.com/godsend14
        
             | smcl wrote:
             | I deliberately did not include it as it has some pretty
             | awful stuff
        
           | so_this_is_me wrote:
           | Wow you're not wrong about his Twitter, that was an
           | adventure. It's so over the top I actually can't tell if it's
           | meant to be satire.
        
             | jcuenod wrote:
             | Probably just a hacked account
        
               | tyingq wrote:
               | I don't think so. The "SOL" link on his page leads to
               | even worse stuff.
        
           | jtwaleson wrote:
           | I was just having fun when I wrote it. Just saw his twitter
           | feed... wow...
        
             | jtwaleson wrote:
             | To be honest I did see some conspiracy stuff on his
             | website, but I decided to ignore it and just focus on the
             | beautiful Flash animations. Not sure how I feel about it.
        
               | lfowles wrote:
               | Whew, "some" is putting it lightly.
        
               | smcl wrote:
               | I think it's ok to separate the art from the artist, so
               | to speak. The original site is indeed interesting and a
               | nice example of Flash web design from the era, the
               | Twitter acct doesn't change this
        
               | fortran77 wrote:
               | I'm sorry. I looked at this website, and he explicitly
               | blames me and my people for controlling and destroying
               | the country (and the World Trade Center) and wants me
               | destroyed. I can't look away from that. It's sad that
               | that's OK on Y Combinator's Hacker News, but at least I
               | know what I'm dealing with here.
        
               | superdisk wrote:
               | He's clearly an insane person. There's no use getting
               | worked up about what some digital hobo is screaming.
        
               | smcl wrote:
               | If you interpreted this thread as an endorsement of anti-
               | Jewish conspiracy theorists then I think you ought to re-
               | read it. To restate in case it is unclear: the original
               | author of the page turned out to have hateful views, but
               | it needn't reflect at all on the homage that jtwaleson
               | made and they shouldn't feel bad about it.
        
               | patates wrote:
               | I don't think you should feel bad for admiring his work.
               | I'd hesitantly say that he may have some mental troubles
               | and we should rather feel bad for him, which I personally
               | do, sincerely. It's like how many admired TempleOS.
        
             | kylowinter wrote:
             | When trying to recreate the site in HTML5, how did you not
             | notice the big "SOL" button on the flash page linking to
             | his blog about how the Jews did 9/11 and other nonsense?
        
               | jtwaleson wrote:
               | See my other comment. I gave it a cursory look and
               | ignored it and I'm not sure what I feel about that. I
               | agree with some others in the thread and try to look at
               | the "art" separately from the "artist".
        
               | fortran77 wrote:
               | Hacker News is full of people who support this sort of
               | thing.
        
               | jtwaleson wrote:
               | I can assure you that I do not support this.
        
         | zelphirkalt wrote:
         | So wait, you tried to rebuild a flash website in javascript for
         | the purpose of drawing conclusions about HTML5? How does that
         | work? I mean, Flash and HTML5 are made for different purposes
         | and use cases and HTML5 is not JavaScript.
        
           | jtwaleson wrote:
           | Obviously the replacement needed a combination of
           | HTML5/CSS3/JS.
        
             | zelphirkalt wrote:
             | Only partly true, but I will ask again: What does
             | reimplementing a Flash site in JS have to do with "HTML5
             | being ready"? How does HTML5 help you with rebuilding the
             | same thing in _JS_? And why does that mean HTML5 is ready?
             | Ready for what?
             | 
             | It still doesn't connect. You can use JS to manipulate an
             | SVG and animate it. You could theoretically just move
             | absolutely positioned colored divs around ... Or you could
             | draw things on a canvas. Does that mean HTML5 "is ready" or
             | "not ready"? It has got nothing to do with it. But yaaay!
             | Lets go! Downvote a comment, which points out a flaw in
             | logic!
        
               | jtwaleson wrote:
               | > Ready for what?
               | 
               | Ready to re-create the most amazing website in human
               | history.
               | 
               | > You could theoretically just move absolutely positioned
               | colored divs around
               | 
               | I would say that in practical terms, this would mean that
               | HTML5 is not ready.
               | 
               | > Downvote a comment, which points out a flaw in logic!
               | 
               | You must be fun at parties ;)
               | 
               | But if you want my final verdict: I agree with others in
               | the thread that HTML is not a good replacement for Flash.
               | Creativity was much easier to express in Flash.
        
               | bendiksolheim wrote:
               | You are not being downvoted because you point out logical
               | flaws, you are being downvoted because you don't
               | contribute to the topic.
               | 
               | Are you not aware of the discussion about HTML5 versus
               | Flash, or do you just disagree with using HTML5 as an
               | umbrella term here? Even the Wikipedia article [0] about
               | HTML5 has a section on Flash, discussing features such as
               | sound, video, graphics and interactive elements. With
               | "HTML5 being ready" I believe OP is referring to it being
               | a viable alternative to Flash. There is a famous quote
               | where Steve Jobs said that Flash is no longer needed,
               | because there are viable alternatives to the features it
               | provided - HTML5 among others.
               | 
               | [0] -
               | https://en.wikipedia.org/wiki/HTML5#"Thoughts_on_Flash"
        
               | zelphirkalt wrote:
               | I have never heard anyone use HTML5 as an "umbrella term"
               | for meaning HTML5 + JS + CSS(3). Why would anyone do
               | that? It is kind of silly to do that. That changes the
               | whole meaning of the OP. Yes, I heavily disagree with
               | such imprecise usage of terms, that changes the whole
               | meaning. In that case my criticism would have been that
               | the OP is not very clear / ambiguous.
        
               | salamanderman wrote:
               | Chill dude.
        
               | jcranmer wrote:
               | I have heard several people use it for that umbrella
               | term, particularly back in the days when I lurked around
               | following the WHATWG and CSS mailing lists.
               | 
               | Consider that much of what is new in HTML5 vis-a-vis
               | HTML4 is in the changes to its JS APIs (e.g., <canvas> is
               | _all_ about the JS API), and its requirement that
               | browsers support other standards such as SVG. Actually
               | distinguishing which component of the web stack actually
               | has a particular improvement that you seek to use doesn
               | 't provide all that much value... what does it matter if
               | it's really the WHATWG HTML spec that mandated it or it's
               | the ES5 spec?
               | 
               | Instead, you can just call it all "HTML5" and understand
               | that it's using newer technologies that won't work on
               | legacy browsers, although we're now so far deep into the
               | era that we don't have a terminology for what requires a
               | 2020 browser versus a 2015 browser.
        
           | kalleboo wrote:
           | https://html.spec.whatwg.org/multipage/introduction.html#is-.
           | ..?
           | 
           | > _the term "HTML5" is widely used as a buzzword to refer to
           | modern web technologies_
           | 
           | This is because HTML5 includes elements like canvas, which is
           | useless without JavaScript, but JavaScript would also be much
           | less useful in the browser without canvas. So "HTML5" is a
           | useful shorthand for what is made possible with HTML5-level
           | browsers https://www.w3.org/TR/2014/REC-
           | html5-20141028/scripting-1.ht...
           | 
           | Also this is post-HTML5 (HTML is now a living spec without
           | version numbers), but the HTML standard now actually does
           | include a bunch of JavaScript API specs, such as web workers 
           | https://html.spec.whatwg.org/multipage/workers.html#introduc.
           | ..
        
         | [deleted]
        
         | bigdict wrote:
         | I couldn't stop laughing at this page, so dramatic.
        
       | ChrisArchitect wrote:
       | you know what we need? This implemented a bit further so it can
       | be used to restore lost Flash screensavers. So much art and
       | creative coding went into making some amazing screensavers a few
       | which I still used up til Flash's nixing off Windows in January.
        
       | bArray wrote:
       | Bring flash support back to the web! Would be awesome that if
       | that not only are they able to emulate the flash media player,
       | but also fix the security issues too. Perhaps that's naturally
       | what an emulator will give you?
       | 
       | We should probably also be thinking about how browser support may
       | continue for JavaScript in the future too. It's a matter of time
       | until WASM reaches mainstream adoption.
        
       | txtsd wrote:
       | It does not handle neopets games well yet.
        
         | Lukesys wrote:
         | Is that possibly because in order to play the games in
         | downloads the content on execution and I am pretty sure you
         | have to be a logged in user to access the games.
        
       | vfclists wrote:
       | People think of it as being for games, but high quality
       | applications used it as UI, a lot still do.
       | 
       | Flash was banned to protect the Google, Apple, Microsoft ap
       | ecosystems. Todays mobile CPUs are an order of magnitude way more
       | powerful than those of 10 years ago. The performance issue
       | doesn't apply now.
       | 
       | As for bugs, they can be fixed and they could have been fixed
       | with the passage of time.
       | 
       | The whole agenda of aiming to replace Flash with HTML5 and CSS
       | was a dishonest fraud from the get go.
       | 
       | 10 years on now and still nowhere near what was available 10
       | years ago.
        
         | macspoofing wrote:
         | >Flash was banned to protect the Google, Apple, Microsoft ap
         | ecosystems.
         | 
         | No. There was always a lot of Flash hate around, but it was
         | tolerated because prior to HTML5 set of standards and the
         | massive investment in JS performance, there was no way to do
         | certain things in HTML/JS, so there was space for Flash. Post
         | 2010 it became hard to justify Flash because you could now
         | replicate everything Flash could do (though maybe in a more
         | clunky way).
         | 
         | >10 years on now and still nowhere near what was available 10
         | years ago.
         | 
         | I wouldn't say that. There is no good reason for Flash to exist
         | anymore. The culture also changed. The younguns who were
         | writing browser-based Flash games in 2004, are writing mobile
         | games today, and the browser is not a popular gaming target
         | anymore (with some exceptions here and there).
        
         | lxgr wrote:
         | I miss Flash too, but I don't miss the fact that the runtime
         | was only available from a single vendor and only in binary form
         | for the platforms they deemed important. The performance issue
         | was never the main problem.
        
       | howenterprisey wrote:
       | So here's a silly question. If you can just get the official
       | "projector" from Adobe (Flashpoint's approach?), what's Ruffle
       | for? (Edit: Removed the last sentence, which was unhelpful.)
        
         | Shared404 wrote:
         | IIRC, Ruffle can be embedded in webpages, which I don't think
         | the official projector can do.
        
       | nevi-me wrote:
       | Our Revenue Services got caught out with the Flash EOL. Their
       | solution was to provide an Electron-based web browser, to much
       | embarassment from those who could peek under the hood to see.
       | 
       | It looks like they decided to bundle an older Chromium version
       | that still supports Flash.
       | 
       | I wonder if ruffle could have saved the embarassment, and worked
       | as a safer stop-gap measure.
        
       ___________________________________________________________________
       (page generated 2021-02-05 23:03 UTC)