> For those users, a lot of major sites still "don't work properly" today because of Apple's arrogance.
As Apple explained countless times, it is not because of "arrogance" that they did not support Flash. Adobe weren't able to supply them with a working mobile Flash runtime, and Flash's resource use was a big problem (memory, CPU, battery life), so it couldn't run on mobile devices. Recall that the first iPhones had severely limited RAM (128MB!) and CPUs, and even when, years later, Android devices with Flash bundled were released, they couldn't run it terribly well. Flash was also a massive security and stability headache: as Apple loved to point out, it was the single largest source of application crashes on OS X.
Even though Apple was right in the end, I think calling Apple "arrogant" is quite on the mark. It is they who denied opening up MobileSafari for 3rd party plugins (yet it supports 1st party plugins; in earlier versions you could even iterate the navigator.plugins property and see quicktime there). I remember seeing Adobe hinting heavily that they even had a working flash plugin (for jailbroken phones?) going internally. In fact, I think early Adobe Air applications targeting iOS shipped with an embedded flash player engine, until Apple started rejecting all applications "not compiled with apple-gcc from objective-c" and banning "interpreted code", so Adobe even went as far as writing an AS3 LLVM compiler, so that newer Adobe Air applications were compiled down to native arm assembly with no flash runtime present.
I bet the real reason for blocking flash player in Mobile Safari was to block all the flash based ad banners of the day. It would have degraded battery life and the user experience quite a lot.
> It is they who denied opening up MobileSafari for 3rd party plugins
...how is that arrogant? They wanted to only allow standard technologies? What is wrong with that?
> yet it supports 1st party plugins; in earlier versions you could even iterate the navigator.plugins property and see quicktime there
It had "quicktime" as a "plugin" but I believe that just launched the video player. Similarly, Apple replaced YouTube video embeds (Flash) with the video player. No plugins there.
> I remember seeing Adobe hinting heavily that they even had a working flash plugin (for jailbroken phones?) going internally.
Yes, Adobe did. It didn't work very well.
> I bet the real reason for blocking flash player in Mobile Safari was to block all the flash based ad banners of the day. It would have degraded battery life and the user experience quite a lot.
Flash period would ruin battery life. Similar to why iOS has no multitasking.
The flash thing that existed for symbian was not "Flash", it was "FlashLite", a very different plugin that supported exactly 0 of all the .swf files I tried to throw at it, including even super simple animations.
> Flash existed for Symbian OS (think Nokia smartphones) way before there was iPhones, and those devices naturally had even lower hardware specs.
I'm well aware! I had an HP iPaQ "Pocket PC" for a long time, and you could run a stripped-down version of Flash on it. But it ran slowly, and it only really worked for simple animations. You couldn't use something like YouTube on it, and it's things like YouTube that were the killer app for Flash.
Flash was also proprietary. It's closed-source, patent-encumbered, and has a single implementation. It's completely under the control of Adobe.
Perhaps, but I'm not sure how any of this is different to the various media extension proposals/standards we're starting to see more recently.
And at least before, if you wanted to serve video from your web site, all you had to do was get one of the numerous Flash video players and prepare one version of your videos that would work in that player on almost any device.
As Apple explained countless times, it is not because of "arrogance" that they did not support Flash.
Please forgive me if I don't take their word for it. The thing is, Flash has run -- and reasonably well -- on numerous other mobile devices, even some from quite a few years ago, so I don't really buy the performance arguments. Even if they had been true for early generations of smartphones and tablets, the performance of these types of device was always expected to increase significantly over time, as indeed it has.
If the performance would still be a problem on today's iOS devices then presumably Apple's users would opt for other implementations instead, but as far as I'm aware, Apple still have an effective monopoly on distribution of software that runs on iOS devices, and they can and do block anything they don't like for sometimes not entirely clear (or, some might argue, entirely fair) reasons. So no-one was ever allowed to decide whether Flash running on a modern iPhone or iPad would have been OK, because that option was removed from the table, and we were left with devices that have bugs and/or non-standard behaviours in basic functionality.
Flash was also a massive security and stability headache: as Apple loved to point out, it was the single largest source of application crashes on OS X.
Leaving aside the disturbing implications of Apple actually having a reliable data set on which to base such a claim, browsers are a constant security and stability headache. Take a look at the release notes for Chrome or Firefox, and see how often that little update every few weeks includes at least one critical security update, and how often they have glitches so bad they have to push an out-of-band update instead of waiting just a few weeks. As I said before, there seems little reason to expect better results just because someone shifts things like video rendering and DRM technologies to a slightly different bit of low-level, native, closed source, patent-encumbered, even-the-browser-devs-don't-see-it code written in an error-prone language by the same kinds of development team that wrote the plug-ins.
> Perhaps, but I'm not sure how any of this is different to the various media extension proposals/standards we're starting to see more recently.
Encrypted Media Extensions is an open standard. The small DRM plugins that use it aren't open, but the core standard is. You've moved from a closed, proprietary system for the entire application, to a closed system for just the DRM and nothing else. That's huge progress.
> Please forgive me if I don't take their word for it. The thing is, Flash has run -- and reasonably well -- on numerous other mobile devices, even some from quite a few years ago
No it hasn't. "Flash Lite" worked, but slowly, and it couldn't do anything useful. The killer app for Flash was largely video and games, both of which don't work well in Flash on phones.
> Even if they had been true for early generations of smartphones and tablets, the performance of these types of device was always expected to increase significantly over time, as indeed it has.
By the time Flash could run well on the iPhone, the web had largely gotten rid of Flash and it was fast becoming a legacy technology, so there was no point in supporting it.
> If the performance would still be a problem on today's iOS devices then presumably Apple's users would opt for other implementations instead
The performance is now irrelevant because the web has moved on from Flash.
> browsers are a constant security and stability headache.
Yes, they are! But adding an extra attack surface for those two fronts is never a good idea if you can avoid it.
If you can avoid adding a binary blob to your browser that has frequent security issues, why wouldn't you do so?
> As I said before, there seems little reason to expect better results just because someone shifts things like video rendering and DRM technologies to a slightly different bit of low-level, native, closed source, patent-encumbered, even-the-browser-devs-don't-see-it code written in an error-prone language by the same kinds of development team that wrote the plug-ins.
No video rendering is done by EME, and EME doesn't and probably never will run on the iPhone.
You've moved from a closed, proprietary system for the entire application, to a closed system for just the DRM and nothing else. That's huge progress.
Is it, really? You're still supporting DRM, because that's the basic requirement here. You're still therefore running unknown, closed source code that is prima facie working against your interests as a user. You still have an extra potential attack vector for malware. Sure, the scale may (or may not) be smaller, but qualitatively it seems the key facts are still the same.
The killer app for Flash was largely video and games, both of which don't work well in Flash on phones.
Flash on phones only really lasted for about two years, and given that the earliest phones somewhere around 2010 were running something like 1GHz low-power processors, it's not entirely surprising that the initial performance wasn't great.
The game was basically over by mid-2012 and Jelly Bean, but by that time, there had been quite a few reasonable investigations into how many of the reputed performance problems were real, and how many were either out-of-date or just plain false. Various video hosting sites that had been reported to perform badly in earlier criticism were debunked, with evidence that the other junk on the sites was causing more of a problem than the Flash video itself and that similar Flash videos could play just fine on devices of the 2011-2012 era. Likewise claims that Flash seriously reduced battery life didn't stand up to careful scrutiny over several days of investigation in some cases; battery life was generally found to be reduced, by sometimes by no more than a few minutes.
And that was with mobile technology from 3-5 years ago, which of course had quite a bit less processing power and lower battery life than the modern equivalents.
By the time Flash could run well on the iPhone, the web had largely gotten rid of Flash and it was fast becoming a legacy technology
When did Flash ever run on the iPhone?
The performance is now irrelevant because the web has moved on from Flash.
Given the number of sites I run into that still don't work properly on an iPad, I have to disagree. Maybe the sites you visit regularly have moved on, but there are a lot more sites using Flash than YouTube and other similarly large video sites with similarly large budgets to update their sites and convert their content to the brave new world of HTML5 video.
If you can avoid adding a binary blob to your browser that has frequent security issues, why wouldn't you do so?
Because I have concerns beyond just security. I don't run a browser so I can be secure. I run a browser so I can browse. When you take security so far that you break the basic functionality of your system, you aren't so much securing it as... breaking the basic functionality of your system.
In any case, with the new model using media extensions, we still will be adding binary blobs to the browser, and as I've said before, I see no reason to expect that these ones will somehow not turn into security vulnerabilities sooner or later the same way just about every other web technology in history has.
> Is it, really? You're still supporting DRM, because that's the basic requirement here. You're still therefore running unknown, closed source code that is prima facie working against your interests as a user.
On far, far less websites, however. One or two video streaming services have DRM. Banner ads in most pages will not be using EME.
> You still have an extra potential attack vector for malware.
This is true, but one with a smaller surface area. One that might not even be installed, in many cases.
> Flash on phones only really lasted for about two years, and given that the earliest phones somewhere around 2010 were running something like 1GHz low-power processors, it's not entirely surprising that the initial performance wasn't great.
1GHz is slow, now? Wow, Flash must have sucked even more than I thought.
> Various video hosting sites that had been reported to perform badly in earlier criticism were debunked, with evidence that the other junk on the sites was causing more of a problem than the Flash video itself and that similar Flash videos could play just fine on devices of the 2011-2012 era. Likewise claims that Flash seriously reduced battery life didn't stand up to careful scrutiny over several days of investigation in some cases; battery life was generally found to be reduced, by sometimes by no more than a few minutes.
Links? I'd be highly sceptical of this claim: software video decoding is not good for battery life, for example. Of course if it's H.264 I'm sure Flash would use the hardware support, but why would you use Flash in that case?
> When did Flash ever run on the iPhone?
Never, but I mean by the time that the iPhone was powerful enough that getting Flash to run on it might be reasonable.
> Given the number of sites I run into that still don't work properly on an iPad, I have to disagree.
Most of the web has moved on. There are still plenty of sites that don't work with mobile devices and require plugin downloads to be used modern browsers, it's true, but it's a number that is continually decreasing.
> Because I have concerns beyond just security. I don't run a browser so I can be secure. I run a browser so I can browse. When you take security so far that you break the basic functionality of your system, you aren't so much securing it as... breaking the basic functionality of your system.
Flash support isn't "basic functionality". It's a bonus. Mobile devices can't and shouldn't support browsing every website made for a PC in existence, they just need to support most reasonably well, and that they do. After all, PCs still exist.
Mobile devices also don't support simulating right-clicks, Java applets, the Unity web player, ActiveX controls, and so on.
> In any case, with the new model using media extensions, we still will be adding binary blobs to the browser,
Smaller ones with much more limited scope, used in far less places, and which you can blacklist without breaking a lot of websites.
Flash was also proprietary. It's closed-source, patent-encumbered, and has a single implementation. It's completely under the control of Adobe.
https://en.wikipedia.org/wiki/Open_standard
> For those users, a lot of major sites still "don't work properly" today because of Apple's arrogance.
As Apple explained countless times, it is not because of "arrogance" that they did not support Flash. Adobe weren't able to supply them with a working mobile Flash runtime, and Flash's resource use was a big problem (memory, CPU, battery life), so it couldn't run on mobile devices. Recall that the first iPhones had severely limited RAM (128MB!) and CPUs, and even when, years later, Android devices with Flash bundled were released, they couldn't run it terribly well. Flash was also a massive security and stability headache: as Apple loved to point out, it was the single largest source of application crashes on OS X.