Comment by cosmic_cheese
8 hours ago
Of the two, I think Adobe is most responsible for the decline of Flash. Even if smartphones had never entered the picture, laptops (where efficiency is important) were quickly becoming the most common form of PC, which would've eventually made Flash as it existed under Adobe untenable as well. The timeline was just accelerated by smartphones.
Honestly I can't understand the mental calculus that went on in the heads of Adobe execs at the time. Yes, cleaning up the ball of mud that the Flash codebase had become and making it not so battery hungry wouldn't have been an easy task, but it would've futureproofed it significantly. Instead they decided to keep tacking on new features which ended up being entirely the wrong decision.
EDIT: The constant stream of zero-days certainly didn't help things either. A rewrite would've been worthwhile if only to get a handle on that.
I think Apple is more responsible. One of Flash's chief benefits to the customers who paid the big bucks was that it 'just worked' everywhere. Once Apple stopped supporting Flash on the iPhone, that story was a lot less attractive.
The bugs were definitely Adobe's fault: as with most tech companies, they were far more interested in expanding the feature set than they were on fixing the bugs and stabilizing the platform.
This is a myth that needs to die.
The first iPhone had 128Mb of RAM and a 400Mhz processor and could barely run Safari. If you scrolled to fast you would get a checkerbox while Safari was trying to catch up.
https://discussions.apple.com/thread/1732478
If it couldn’t run Safari with decent performance, how was it going to run Safari + Flash?
In fact when Flash finally did come to Android in 2010, it required a 1Ghz processor and 1GB of RAM and it barely ran then and killed the battery. An iPhone with those specs didn’t come out until 2011.
Another anecdote is that the Motorola Xoom was supposed to to be the “iPad killer” because it could show you the “real web” with Flash.
But it came out without Flash because Adobe was late. You couldn’t even see the Xoom home page on the Xoom when it was first introduced because it required Flash.
Flash was not particularly battery hungry (My go to example when HTML 5 demos started coming out was rebuilding a HTML 5 demo that was using 100% of 1 core into a flash app that used 5%).
The reason it burned CPU cycles is that non-coders could make programs with it and they would produce the world's worst code doing so that "worked". The runtime itself was fine (efficiency wise, not all the other things).