Something I've been thinking about Flash's untimely death...

Most people (including me at one point) think that it was Apple and Steve Jobs’s letter that marked the end of Flash in the browser. The Flash player seemed to have free reign on Google’s Android OS and the large number devices that ran on it, right? The performance and battery issues that Jobs mentioned in his letter were noticeable when using Flash on an Android device. There was definitely some technical merit to why Steve may have opposed Flash on iOS devices.

I am not discounting the large political reason for not supporting Flash. Flash was a direct threat to the app store ecosystem where you can expose really awesome functionality through the browser. What I’m trying to understand is what percentage of the reason for Flash being killed off (on Android, for example) was due to the great difficulty in optimizing it to run on mobile devices in a performant and battery-friendly way? Is it greater than 50%?

:question:

Its hard to put to a percentage, but much of it was about difficulty. Performance was a big part of it, but other things like UX also played a role - like how flash capturing all used touch events. Then there were the number of devices to support and test and, probably more than anything else, keeping up with the rapid pace of technology. Every release it seemed, google would change their APIs and rendering pipeline. We had to adapt and keep up with those changes, sometimes successfully, sometimes not. All this while the JS runtimes were passing us in performance and HTML/JS capabilities were getting closer to matching ours. The amount of effort it took to remain relevant wasn’t (apparently) worth it in the end. And remember, most of the Flash content out there was older (largely pre-mobile), unoptimized content meant for desktop consumption that simply had no chance of running well on mobile, especially in a battery-efficient manner. Flash’s vector render is very efficient, but it is a CPU renderer and hitting that CPU hard on the mobile device is not the efficient way to go. I worked on a team that tried to rewrite the renderer for mobile with GPU acceleration and despite some amazing breakthroughs, the content out there just could not be optimized appropriately. It was an uphill battle.

2 Likes

Sen - this is really awesome! Have you thought about writing a blog post about this? If you haven’t and aren’t interested in writing such a post, would you be up for me taking a shot at it? You will be my expert witness :stuck_out_tongue:

Too soon? too soon.

1 Like

Ok - I’ll bug you in about a year, then!!! :stuck_out_tongue:

Seems less likely this would have happened on iOS.(?)

Maybe. I liked the difference in focus that you see on Apple’s AX series vs. lots of Android phones:

It seems the Android manufacturers are more interested in slapping n slow CPU cores on a die than they are in producing very fast CPU cores. And this is quite punishing when it comes to JavaScript.

quote=senocular:

All this while the JS runtimes were passing us in performance and HTML/JS capabilities were getting closer to matching ours.

It’s hard to tell for sure, but it seems like Google, MS, and Apple had more money to throw at this than Adobe.

I think this line of thought is especially relevant given the current debate about ad blockers, where iAd still works for native apps but lots of web ads can be blocked. There was little benefit to Apple or Google in letting RIAs exist when they were pitching native apps as a solution.

The other aspect was that I don’t believe Adobe made a lot of money with Flash. I think the number I heard being thrown around is $50 million in revenue (not profit!) many MANY years ago during its heyday, and that isn’t exactly the sort of numbers you want to throw against a problem as complex as this. I don’t know how attempts to tie Flash in with other and more profitable products/services panned out, but I am going to assume they weren’t as profitable either.

How long ago? I think from 2007 - 2012 or so, Adobe got a lot of money from the Flash Player installer’s bundled toolbars from Google/McAfee/etc, in addition to the IDE revenue and such. I remember this because there were some big changes to that when I was there in 2012.

I can think of Scaleform (the menus in a lot of video games are built using it) which uses Flash, so I assume they’re paying Adobe for that privilege… and Adobe Connect (pretty sure this uses Flash, given the way the UI widgets look) still used by lots of companies (including mine)… and I think for a while some of the other Creative Suite/Cloud apps used Flash for parts of their UI.

(Edit: Apparently Scaleform’s founder is now the CEO of Oculus VR.)


Hey, Macromedia Central was kind of a zany early app store!

Too soon is not soon enough.

I totally buy into the fact that there is a true story about all this. Money ,betrayal and company politics. I totally understand why Sen must write a blog for Kirupa :smile:

If adobe quit developing for mac that would probably be a mac killer on the design side, being that Apple seems not to be heading in any direction right now more than following the breadcrumbs of money. Why would anyone buy a mac, unless youre a professional internet surfer?

My raspberry pi is faster than my imac 2004. (true and interesting fact)

I saw that Flashdevelop has a linux version, that might be an opening for me to return to flash coding.

1 Like

Senocular, were you once part of Flash Lite?

Thoughts on Adobe Animate CC? Any insight concerning how Actionscript will be involved, converted, limitations, etc., ?

I was part of Flash Runtime, not specifically Flash Lite. They were another team, as were AIR and Flex (and Flash Authoring though they were mostly one in the same way back when). Once Flash started to attack mobile, Runtime and Lite basically became the same thing, though Lite still had its own dedicated presence on feature phones. Flash on smart phones as a full-fledged, desktop-like Flash, not a “lite” version seen with older, less powerful devices. It wasn’t long after that there was the “FLAIR” merge too, bringing AIR back into mainline Runtime. It had been a branch off of runtime when it started but as it grew and became more beastly, bringing updates back in from Runtime became more and more difficult. Someone made the decision to bring AIR back into mainline and we all suffered horrendously for it (though it was probably the right call).

The team I worked with on the renderer was trying to get smart phones an upper hand in rendering flash content with the full runtime - something which could potentially spill over to desktop too, though mobile was our primary target. The core idea was use the GPU more, taking what Flash does now and offloading more to GPU rather than the CPU. There were a number of different approaches all of which worked great for a specialized application, but none performed well enough across the board, especially when trying to maintain an acceptable level of quality. I don’t even remember if anything we did went into the player in the end. It’s possible we found some shortcuts here or there, but there was no great revelation that allowed us to replace the renderer with something new.

I kind of jokingly say too soon because I honestly can’t recall half of it, or know what I might not be allowed to say. At the time you really couldn’t talk about much of anything that was being worked on and not yet released.

As for what’s happening now with Animate CC and what that means for ActionScript, I don’t know. I’ve been out of that loop for a while. If there’s not any conversion tooling for script in Flash/Animate now (AS -> JS), I wouldn’t expect them to add any. I’m actually surprised they’re keeping it around. The codebase is a bit of a mess. Well, it was. They did a lot of work during decarb (this is when they dropped AS2) cleaning it up which should have helped it out significantly. In fact I remember them working on that and some of the early, largely functioning builds would launch so fast you’d barely notice there was a splash screen at all. I found that pretty exciting.

1 Like

My preference is to have a clean break with the past. Converting from one language to another is always a pain, and if you do it automatically, you better get it right 100% of the time. If people feel that your auto-magic solution might not always work, they’ll just assume it never works and have more of a negative opinion of your product than if you never offered the automatic conversion in the first place.

The thing I’m most curious to know is how they plan on maintaining the developer and designer workflow. Is the expectation that Animate could be used in conjunction with a code editor to make round-tripping changes easy? Or is Animate designed to be more of a black-box where you only use it to make any changes to what gets created?

Thanks for the insight Senocular, it does not sound too hopeful that it will be a clean transition. But hey, without numerous bugs then it could not be apart of the CC release. :laughing:

Adobe’s roadmap:

I think some of your questions are answered in this MAX presentation aimed specifically at banner ad creators, because who else was still using Flash up until the Chrome pause of non essential Flash content beginning in September. I started playing with authoring an AS3 doc, breaking apart text, and then converting to Canvas, and applying all tweening in Canvas. I was surprised that even a motion preset worked, given that you are supposed to use classic not motion tweens.

I took screenshots and added my notes as I was watching it. I could of swore Cory Hudson said that clicking on say stop() would give you the correct syntax, this.stop(), but I could not get it to work. Maybe I misunderstood, or that will be a feature in the January 2016 release

My notes

Hellcat? IIRC that started up fast.

I believe that was the one.