3 ms·
I worked at Adobe at the time, adjacent to Flash, and as far as I know nothing you've written here is true. To answer only technical points, Flash for iPhone (w
by fenomas 5y ago
I worked at Adobe at the time, adjacent to Flash, and as far as I know nothing you've written here is true. To answer only technical points, Flash for iPhone (which existed, and worked) was built off FlashLite, which supported touch events and had hardware video (naturally, it's not like software decoding was an option). OTOH StageVideo and Stage3D play no role in this, as they came along ~5 years after FlashLite or potential iphone support was a thing.
- kmeisthax 5y agoI'm paraphrasing a ton here - remember, Adobe was pushing for mobile Flash for almost a decade[0]. The problem was ultimately that the user experience didn't meet Apple's high standards, not that Apple wanted to neuter the iPhone web browser. Remember: apps were never part of the plan until a year after launch, and Apple didn't have the market power to slow-roll the web[1] until way later. When Adobe partnered with Google and shipped Flash on Android, the experience was predictably terrible and support was pulled in a year or two. I mention Stage3D because it was emblematic of Adobe's approach to handling Flash Player performance issues: hand the developer the tools to make new content performant, and rely upon them to make their movies run fast. The most egregious example of this, to me, is Starling Framework; a complete and total drop-in replacement for the Flash display tree in AS3 that redirected everything to the GPU. Apple took the opposite approach: performance was built in to the most basic display primitives of the browser. Critically, this meant that even crusty old legacy content would run well in Mobile Safari. Instead of requiring, say, every website ship a virtual DOM just to get decent mobile performance, they implemented hardware layer compositing so that websites would work unchanged. The Flash equivalent to this would have been integrating hardware acceleration into the native display tree so that everything - even crufty old AS1 movies - would play efficiently. I don't have access to Flash Player internals, so obviously I don't know for certain if this was eventually done. However, the impression I got was that if you wanted GPU compositing, you had to use Stage3D; Flash Player didn't just give it to you. As for the non-technical points, my citation is this Twitter thread by a (former?) Apple engineer who was involved with much of the engineering on the original iPhone: https://twitter.com/bob_burrough/status/806098650094940160 https://twitter.com/bob_burrough/status/806098650094940160 "Adobe is a shitty partner" corroborates well with their later behavior with regards to Flash developers, such as... 1. Attempting to charge a 10% revshare for using Stage3D from cross-compiled code 2. Removing the ability to install old versions of Flash/Animate from Creative Cloud, to try and dodge legal liability from the Adobe/Dolby lawsuit 3. Providing a substandard Flash Player exit strategy for developers that wanted to embrace HTML5 4. General lack of polish and maintenance in subsequent versions of Adobe Animate All of the technical points I mentioned (which, again, are paraphrasing almost a decade's worth of history) are downstream of this. Adobe makes strategic blunders in the name of cost control. [0] If you count early versions of Flash Lite that only ran on Japanese smartphones next to a bunch of really solid console game spinoffs that westerners never got [1] From personal experience working on Ruffle, the limiting factor with turning on new features is almost invariably MobileSafari. Also, web push notifications have been a thing for years by now, but Apple still does not support them on iOS.