Hacker News new | past | comments | ask | show | jobs | submit login

Sorry, that is precisely what happened.

In the Linux / programming world Flash was a pariah that didn't conform to their standards. But it was booming for creatives and end-users. In 2010, almost all websites used Flash video and Flash gaming was exploding on Facebook. (Apple had to fake their Keynote to demonstrate the iPhone could view the "entire internet.")

Security complaints are a weak argument: both Apple and Google have had security issues on their proprietary platforms. (I'll concede Adobe was a very poor steward.)

Jobs' hit job was a calculated sucker punch, leveraging an exciting new platform to lock out competition. The iPhone wasn't powerful enough to play Flash and made Apple look weak. The iPhone business model depends on consumer lock-down, so making Flash compatible was counter-productive.




> Security complaints are a weak argument

Performance, performance, performance. Battery life matters. Smooth animations matter.

People seem awfully sure Apple's anti-Flash move was 100% motivated by platform-building and 0% by perf. I'm not so sure it was 100%/0%, because I actually saw how shockingly bad Flash perf was, and I saw how big Apple's perf push was at the time.

One time (2010-ish?) I accidentally left SpinControl.app open after a dev session for ~1 week. SpinControl was an app that would automatically dump a stack trace whenever any application failed to drain its event queue for more than a few seconds and beachballed. Super handy. In any case, when I came back to development and noticed SpinControl, I was surprised to find that 100% of the hundreds of stack traces collected after my development session involved flash. Not 99%, not N-1, literally 100%. WebKit was finding its way into different applications so the symptoms weren't limited to Safari, but I still suspected that I had a filter enabled or something. Surely Flash couldn't have accounted for 100% of my beachballs? I triggered a Mail.app reindex, and sure enough, a stack trace popped up in SpinControl, this time in sqlite, as expected. It wasn't an instrumentation problem. Flash had literally been 100% responsible for all of my beachballs over the past week. Crazy.

This was around the time that Apple started to push developers away from APIs that made it impossible for Apple to aggregate background thread wakeup events to save battery life. In other words: they were willing to sacrifice goodwill to obtain perf.

I'll grant you that platform considerations likely played a big role in Apple's decision, but also remember that Flash was literally the single largest performance-limiting factor when it came to desktop freezes and battery life at the time, and that probably played a role too.


It is worth recalling that in the early fumblings of the phone market someone tried to get Flash running on Android. It didn't work out particularly well, and all the high value customers kept buying iPhones and browsing webpages.

There is a pretty good argument that it was 0%/100%. It isn't like there is anything threatening to Apple that Flash could do that isn't theoretically mimic-able on iOS using Safari.


Adobe got Flash running on Android.

It was literally the official solution for DRM video on the platform.

It didn't have amazing performance, but it did just about play DRM video and Google didn't really get native Widevine support working for several years.

It's certainly a valid reading that Apple knew video providers couldn't stop using DRM (they were contractually required to), and therefore would have to distribute using the App Store rather than the browser to get a DRM solution that worked in the absence of Flash, and therefore Apple could attempt to extract 30% of their revenue.


> The iPhone wasn't powerful enough to play Flash and made Apple look weak

No. Flash was too resource intensive to work on any mobile devices. Flash on Android was an utter disaster. It ate through your battery life, was unusably slow and couldn't even properly format Flash content for mobile, touch-based devices. As the world moved to a primarily mobile-based computing environment, Flash's death was all but inevitable unless Adobe could do something to rectify these issues.


"No. Flash was too resource intensive to work on any mobile devices"

No, flash in itself was quite efficient. But many flash games were just badly programmed. (as the IDE made game making easy, even for very beginner programmers)


AS2 was quite bad, things improved a lot in AS3 though


I heard so, too, thats why I directly started with AS3 back then ..


> The iPhone wasn't powerful enough to play Flash…

No, Flash Lite ran on significantly-less-powerful feature phones. (Remember, in the early days of the iPhone, Flash was desktop-only.[1])

> Jobs' hit job was a calculated sucker punch, leveraging an exciting new platform to lock out competition.

You speak as if Jobs instigated this when in reality, this was a response to Adobe holding Jobs' platforms hostage for a long time, and in many ways. Flash's ongoing instability and inefficiency on MacOS was just the straw that broke the camel's back.

[1] https://www.wired.com/2010/04/adobe-flash-jobs/: "Flash was designed for the desktop world, for web and large screens, not the user experiences you want to create in these new devices with touch, accelerometers and GPS," Luh said. "It wasn't designed with that in mind at all."


I spent a year of my life trying to get Flash Lite working well as a browser plugin on an unreleased Palm phone around 2007-2008. Flash Lite wasn't anywhere ready for handling the Internet Flash content of the day; it performed terribly on the chips that mobile phones had then and wasn't a well behaved plugin. This was when the Intel XScale and early TI OMAP SOCs were the primary choice for mobile phones.


I'd love to have someone with firsthand knowledge fill me in here, but:

I've seen Flash-based feature phones do all kinds of things that desktop Flash struggled to do on (then-contemporary) desktop PCs. I can only conclude that Flash Lite had a significantly different codebase than desktop Flash, with very different performance characteristics.

Just because "Flash could do it on a feature phone" doesn't mean that a smartphone could keep up with the full Flash plugin. Look at the performance disaster that Flash on Android was.


Roughly nothing used Flash Lite, outside of a few weird embedded use cases like the Chumby. Web content was almost exclusively full-on Flash.


> Roughly nothing used Flash Lite, outside of a few weird embedded use cases like the Chumby.

I recall it a bit differently. By December 2006, Adobe claimed that Flash Lite had shipped on 220 million devices[1].

That was probably the apex, though — by 2010, it was all over.

> Web content was almost exclusively full-on Flash.

Yes, always IIRC. Flash Lite content wasn't delivered via the web.

[1] https://en.wikipedia.org/wiki/Adobe_Flash_Lite


I remember installing Opera and Flash Lite in my Windows Mobile smartphone and it being able to run Flash content. Was it a sluggish hand warmer? Sure, but then it was a 300 MHz TI OMAP (overclocked, of course!) and at most 128 MB of RAM, probably even less.


Interesting! I stand corrected about it not working in mobile browsers, thank you.


Flash Lite was commonly used in Japenese domestic web for feature phone until around ~2012. Most phones had supported Flash Lite.


Hrm... According to Wired, Jobs did instigate:

"With the launch of the first iPhone in 2007, Apple declared war against mobile Flash. Apple is supporting HTML5 and its efforts have influenced the online video landscape significantly. Many major websites are starting to use HTML5, and video players such as Brightcove are serving up HTML5 videos for devices not compliant with Flash. Separately, Apple has worked with companies like YouTube to produce iPhone-compatible versions of their sites."

- https://www.wired.com/2010/06/adobe-releases-flash-player-10...


> According to Wired, Jobs did instigate:

"Instigate" would mean that Jobs started this fight, but this action was one of Jobs' last salvos in a rivalry that started long before iPhone.

To over-simplify, Jobs never forgot Adobe's threats to abandon the Mac when times were tough and Apple needed them most. IMO, it was that relationship which taught Apple that it must control as much of their technology stack as possible. In that context, finally being able to kick Flash off of their platforms must've been both a great joy, and a great relief.


That's merely editorial flavor, nothing in the article presents facts different from those already brought into this thread.


It was a calculated sucker punch at a piece of software which was not designed with mobile or touch experiences in mind and was so tremendously buggy and unstable that it caused all sorts of issues on normal desktop browsers. A lot of people used Flash at the time, but a lot of people were also extremely frustrated with Adobe's apparent disinterest in making it a truly great piece of software. Steve Jobs wanted that mess kept as far away from Apple's shiny new platform as possible -- a completely justifiable stance.


Yep. I remember jailbreaking the original iPhone (or maybe the 3G) and installing some version of Flash on it for games. My friends all had Sony-Ericssons with some type of mobile Flash player. On the iPhone, Flash content sucked the battery to 0% in about 30 minutes, the phone would get super hot.

Edit: I guess the project to run Flash Lite on Sony-Ericsson was called Project Capuchin? https://www.youtube.com/watch?v=kn5He1Wxl-Q


I was a Flash developer at the time and this is exactly what happened. Flash development went from being highly in demand and the highest paying to basically dead with this announcement. I felt that if the rug could be pulled out that quickly, I'd just focus on design and that's where I've been ever since.


Sounds just like all the current front-end stack stuff, just faster that time. If you focus on the new shiny (even if you don't recognize it as the new shiny) you're susceptible to a newer shinier obsoleting some of your skill set.

In that case, it makes sense to move either farther up the stack to design (or even out of the "stack", to more pure design) or down the stack to where it's more stable, at the systems level.


Flash was a resource hog in any platform. And worse: It made resource intensive something that should have been very efficient from the start.

How is that I could play videos smoothly in Windows 95 but ten years later the same video at a lower resolution made a newer computer crawl? The answer is Flash.

I don't care if other people wanted Flash games. I hated Flash video and celebrated every little bit of its demise.


Primarily because it was DRMed video and because hardware level DRM hadn't been developed yet.


Its a lot easier for Apple to fix security issues within the Apple ecosystem than it is for Apple to pressure Adobe to fix the problem, port it over to the suite iOS/iPadOS/macOS, and distribute the fix to whoever needs it, as well as communicating the gravity of the issue, post mortem, adjacent attack vectors and surface area, etc.

I'm not saying you are entirely wrong about consumer lock down, but for various reasons, consumer lock down can be objectively better for the developer and user experience, and it is easier to move fast when you have fewer dependencies at play.


I hadn't used flash on linux, my primary environment at work and home, for years at that point. Flash was already hated and widely criticized in developer circles. It was already on the way out. Apple jumped on the trend early, but they didn't start it.


I didn't think the developers' community had the power to get rid of flash at the time. Too many people wanted it. When Apple made that announcement I wasn't even sure it would work out for them.


Performance was the big issue. Not just on Apple devices but on all devices. Same laptop running Windows, same video from Youtube if you play and pause on both (SWF and HTML). The Flash video will keep the fans running at high speed. Remember the first few phones with Flash could play through a 2 hour movie without a charger. To optimize Flash, Adobe needed to cut off compatibility and they knew if they do that then why would anyone continue with Flash when HTML/JS was getting feature parity.


Did Flash video ever get to hardware accelerated video? Because what eventually made these videos power efficient is that we now have dedicated hardware for it. It's not perfect though. Even today one of the most common browser issues you can run into is hardware acceleration.


No, because the primary use case was where the video was encrypted and you would have to unencrypt it to pass to the hardware acceleration.

This broadly went away when graphics cards started integrating PlayReady in the chipset, though we did eventually power through it for software encrypted video like EME protected videos in Chrome for Windows.


“Almost all websites used flash video” que? Most websites don’t use video at all, neither then or now.


Flash wasn't just for video, it was for animated ads, or whole sites because it made cool transitions easy. I remember dumping flash sites others had made in the bin because they were not seo friendly (completely rendered as images, no actual text). And it was everywhere.


Think this is pretty pedantic. A valid reading of the sentence implies that of the sites that used video, almost all used Flash video.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: