Hacker News new | ask | show | jobs
by cpeterso 1070 days ago
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.

1 comments

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.