Hacker Newsnew | past | comments | ask | show | jobs | submit | more Bakingpotato's commentslogin

There's a reason you don't see too many HTML gaming websites, it itsn't that great for games, as much as they would like it to be.


Absolutely. Get the authoring software, (I hear a certain animate archive has them) and post to NG like all the Flash forward jammers have Ruffle works wonders


you can spoof URLs on the Ruffle desktop player, but not using the extension


while that might be true, its probably more true that they want to own the internet (see: nonstandard changes within chrome, forcibly making chromium dominant, the AMP debacle) and adobe SWF files aint google


now that is the real flaw of flash, and the most overlooked bit. all the while people (and adobe) were making login pages and security within flash (which is insane, you don't use an animation tool for those!) they should have focused on accessibility. Adobe promised the world when they bought macromedia and instead did nothing.


and then adobe spit on all of it. what a waste, and its all on adobe.


nah, HTML5 was and still isn't good enough for a straight conversion, as years of flash ""alternatives"" have shown us.


I feel like WebAssembly was the thing Flash was waiting for.


yeah, a lot of flash content that was SVG exclusive can go up past 4k and look stunning, and flash was the only one around then (and debatably, now) with an editor to let someone leverage that


adobe was the death of flash. Macromedia had a better handle on it, and when adobe bought it, then ran it into the floor and gave up early, leaving it to rot.

I don't think they could even open source it, with all the other companies' copyright work they shoved into it, like dolby


The problem was that Flash Player needed significant rewrites and Adobe didn't want to pay for them. Or at least, not without finding a way to get more money out of game developers for the privilege.

The story starts with Adobe. They proudly announce AS4, along with an "FP Next" intended to run it. Then they also mention new revshare rules mandated on anyone cross-compiling 3D game engines to Flash Player. This is specifically to keep Unity off the Flash platform. This, predictably, causes huge backlash from Flash developers - even those who don't care about cross-compilation. So they kill the revshare... as well as any plans to fix Flash Player's problems.

This all happened a year after Steve Jobs posted "Thoughts on Flash" and tried to ban Adobe AIR apps - and all other third-party development tools in the process[0]. We'd learn way later on that preceding this, Apple had begged Adobe to ship them a Flash Player build that would actually work on iPhones, and their attempts were... anemic[1].

[0] This was only stopped because the Obama administration threatened an antitrust lawsuit.

[1] While the iOS ports of Flash Player haven't been publicly released, they did ship NPAPI Flash plugins on Android, which were just as bad as Jobs had claimed. Actually they probably were the same codebase given that jailbreakers were able to get them to work on Safari.


I was a software developer of the Flash Player team at Macromedia and Adobe, specifically on the team porting it to Windows CE/PocketPC and then Android. What you describe is correct as far as I can remember, though I hadn’t heard the Apple “begged” Adobe to support iPhone.

I know that Adobe shared the Flash Player source code with Apple, but heard Apple assigned an intern to try porting it to iPhone. The Adobe developer working with Apple told me the ported code Apple sent back to Adobe didn’t even compile, so we don’t know if they even tested it on a real iPhone. We jokingly called the iPhone port “Project Boomerang” because the code that came back was basically the same that we sent them. :)

The Flash Player’s source code was ugly, but you have to remember that its roots trace back before Macromedia to SmartSketch, a vector drawing application for the PenPoint OS in the early 1990s. The core rendering and scripting code has since been ported and squeezed into new platforms and applications. And then the dot com boom happened. The development team grew to about a hundred developers and no one person understood the entire code base. Code was copy/pasted freely for fear of introducing regressions that would break existing Flash content.

Multiple rewrites and grand new engines that would live alongside the legacy engine were attempted but failed due to backwards compatibility, the second system effect, and product management’s pressure for new features.

To make matters more challenging, Adobe was losing interest in funding Flash development because revenue didn’t scale with Flash Player usage, only with sales of the Flash authoring tool to a small audience of Flash content creators. That’s when rev share schemes for 3D APIs, DRM, and asm.js-like C++ cross compilation (Alchemy and CrossBridge) were hatched.


I'm not sure exactly how to properly cite Apple's side of the story anymore, since it was from a Twitter thread that I don't know how to search for[0]. I know there was something on InternalTechEmails as well but I'm too afraid to touch Elon's Musk anymore.

Apple throwing "port Flash Player and HW accelerate it" to an intern also tracks. Especially if this was early iPhone development where basically half the company was being press-ganged into giving Steve Jobs an iPhone demo that wouldn't crash on stage.

Everything you said about Adobe management also tracks. I'm reminded about Jobs' quote about Xerox being filled with copier-heads[1].

Also...

>second system effect

Are you telling me that there was a Flash Player equivalent of Mac OS Copland[2]'s development at some point?

[0] Said thread also revealed that Jobs felt snubbed from not being able to have Adobe's CEO on speed dial

[1] https://www.youtube.com/watch?v=b7aUJyJbJMw

[2] https://en.wikipedia.org/wiki/Copland_(operating_system)


> Are you telling me that there was a Flash Player equivalent of Mac OS Copland[2]'s development at some point?

Yes, though these projects focused on “sidecar” JITs that would live alongside the legacy ActionScript VM inside the same Flash Player, not replacing the sacred Flash renderer.

A successful example was AVM2, the AS3 VM (open sourced in partnership with Mozilla as Tamarin [1]). A few years before that, a team had evaluated whether the .NET JIT (or a cleanroom implementation developed in-house) was technically and legally an option.

Much later, long after I had left, I heard from friends still at Adobe that somehow JVM developers from Oracle had joined the Flash team in the mid-2010s and were eager to attempt yet another VM, based on their JVM experience. But by this time, Adobe no longer wanted to invest in modernizing the Flash platform when it could simply milk the cash cow.

[1] https://en.m.wikipedia.org/wiki/Tamarin_(software)


btw, the source code for Flash Player 4 is available on the Internet Archive. That was before my time at Macromedia, but I heard that Macromedia either open sourced the code (and then changed their mind for Flash Player 5 when they started charging for source code access) or it has been shared with a partner company who leaked it. Supposedly a few Korean electronics companies included this Flash Player 4 code in their devices when Macromedia was trying to sell Flash Lite (also a fork of Flash Player 4) as an solution for mobile phone UIs.

I know Adobe will never open source the final Flash Player code (because of third-party code licenses and there’s nothing for Adobe to gain), but I wish they had at least open sourced their internal test suite so open source players could improve their Flash compatibility.


I don't quite get why the Flash plugins were do slow on mobile. On Windows desktop, Flash was much faster than other NPAPI plugins. Most other plugins froze the whole browser for a second or so (Java even longer), while Flash didn't do that. And at the time, early native "HTML5 replacements" for Flash ads/games were actually slower than Flash.


Flash was software rendered almost exclusively. It also had quality options that let you scale the software renderer down a whole lot. But it still required a beefy CPU to push all those pixels. On mobile, you don't get a fast CPU - you get hardware accelerated EVERYTHING. Everything has to be done on GPU. Hell, iPhones still have dedicated JPEG decoders in them.

And vector rendering on GPUs is a pain to do, even more so with Flash Player's rendering quirks. Adobe's official solution to hardware rendering on Flash was Starling Framework, which rendered all your assets to bitmap textures and then gave you a DisplayObject-compatible API that triggered Stage3D renders under the hood.

In Ruffle we use a tesselation library to render on GPU. This preserves vector scalability but it has other issues. Most movies work fine with it, but we have to waste time tessellating[0] assets, and in certain contrived cases we tesselate things wrong and movies look polygonal.

[0] Which we hid behind existing Flash preloaders. We don't even support progressive download yet! But the alternative was Homestuck hanging your browser for minutes on end.


I always remember Flash being really fast at the vector calculation but and absolute hog on output rendering. So higher screen resolution hammered the CPU even though everything was setup.


I want you to know that I laughed very hard at finding a comment complaining about Homestuck in Ruffle unexpectedly here, thank you.

To be fair, on the single 100 mbit link the site used to be on, for new things being posted, that would be historically accurate...


[S] Cascade and [S] ACT 4 were my test cases for the "large movies hang the browser" bug[0]. Homestuck loves stressing out Ruffle's tessellator.

Oh and yes, the opening bars of "Doctor" are permanently burned into my head now.

[0] https://github.com/ruffle-rs/ruffle/pull/7858


It's okay, Cascade was a great test case for Newgrounds, too. ;)


Flash plugin was extremely well-optimized, it was one of the very few users of the original Pentium MMX extensions, and later SSE. That's also why they had such a difficult time porting it to 64 bits.

The Flash renderer was also state-of-the-art for the moment, with really awesome anti-aliasing and blending. All while using just fixed-point integer arithmetic.


>adobe didn't want to pay for rewrites or bugfixes yeah, its a wonder they ever bought it to start with, then

you don't just buy someone's entire workflow and then not fix any of it. not at least, if you intend for people to believe you when you say you're the future.


Adobe is the Autodesk of the creative side of things. They've swallowed up almost everything in the space and exist only to collect rent. When something requires finesse, such as Flash, they fail miserably.


oh god, autodesk. don't remind me. exactly correct.


Yeah fusion 360 doesn't even support HiDPI scaling to this day.. wtf


Of all the software to benefit from HiDPI, I would think CAD would be near the top of the list! Totally inexcusable!


If Macromedia had a handle on it, it would not have been the dumpster fire it was when Adobe bought it. Flash was buggy as hell. The optics of history seem to be blurring how bad it was. Yes, you could do some cool and fun things at a very affordable way, but it was a security nightmare as people were trying to do much more complicated things that sprite animations. Rose tinted glasses of an old piece of tech than one has fond memories of is clouding judgment I'd say.


> If Macromedia had a handle on it, it would not have been the dumpster fire it was when Adobe bought it. Flash was buggy as hell.

No matter who owned it, Flash was a security nightmare throughout its existence, just as ActiveX and Java applets were.

The key thing is, these things were created in a time when there were far less bad actors on the Internet - not just because finding an actually working version of IDA was a challenge in itself but also because the financial aspect motivating bad actors these days (i.e. botnets, crypto malware) just wasn't existing or at least was sorta confined to nation-state actors. Plugin vendors could get away with an awful lot of utter bullshit back in the early '00s.


Truthfully though, what wasn't a security nightmare back then in some way?

Doesn't negate what you said just actually trying to think of some positive rich media app technologies.


>Truthfully though, what wasn't a security nightmare back then in some way?

Collecting data from a form sent via POST to be processed server side?


Haha, touché.


Blaster. Sasser. Malware everywhere. IE with Active X was hell.


less rose tinted glasses and more the insanity of people entrusting logins and security to flash player to start with, or even adobe for adding that in. Yknow. if it was riddled with bugs and all that, you might avoid such a thing, for say, a banking page. Macromedia designed flash to be a web based animation system, not a full web stack. The very fact that these things were attempted is insane enough, and whats worse is the people who were surprised when it came crashing down.

all this talk about security and flash's being bad at it, and you forget what flash really was for. It wasn't for blaring ads (you can do that without flash) and it wasn't for secure logins anyone who did use it for those was a money maker or a madman.


amen.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: