Hacker News new | ask | show | jobs
by experimenting 1073 days ago
I thought Flash died, because Apple did not want Flash to eat into their app store profits. So yes, Jobs shot it down several times, because Flash would have allowed games and apps outside the direct control of Apple.

Flash could run great games and apps on Internet Explorer 6. If it was then impossible to get a non-garbage version on iOS, then maybe iOS was garbage.

It was also hard to get a non-app store version of pure HTML/JavaScript on the iPad. With severe restrictions to localstorage.

5 comments

> because Apple did not want Flash to eat into their app store profits

Here's a fun fact nobody remembers anymore. Way back when (2010?) Adobe built a Flash feature that let you publish iOS apps. The feature went through an open beta and lots of flash devs made iOS apps, they worked fine, Apple accepted them into the app store, fun times.

Then riiight as the tech left beta, Apple changed the iOS terms to nonsensically restrict what language apps are "originally written" in - the source language had to be one Xcode supported, and apps converted from other languages were disallowed. Apple then removed the flash-based apps from their store, Adobe had to discontinue the feature, and a bit later Apple quietly removed the restriction.

(Working from memory here, details are approximate.)

To fill in some details (but IANAiOSdev): Apple first disallowed interpreted code [1]. (Wow, I had forgotten how much I loathed Apple for that.) Later in 2010 Apple loosened it to allow interpreted languages as long as you didn't download new code from the internet [1]. The exception was that you could use WebKit to run JS in a webpage in your app. I guess their excuse was security, so they could ensure the app they approved was the one you ran. In 2017 [2] they loosened it further to allowing downloading or importing code in some circumstances. The most important limitation now is that you can't generate executable code on iOS, which disallows JITs and makes everything other than WebKit a second-class citizen.

[1] https://playcontrol.net/ewing/jibberjabber/apple-ios-license...

The old terms: > Unless otherwise approved by Apple in writing, no interpreted code may be downloaded or used in an Application except for code that is interpreted and run by Apple's Documented APIs and built-in interpreter(s). Notwithstanding the foregoing, with Apple’s prior written consent, an Application may use embedded interpreted code in a limited way if such use is solely for providing minor features or functionality that are consistent with the intended and advertised purpose of the Application.

[2] https://www.theregister.com/2017/06/07/apple_relaxes_develop...

That's a separate unrelated issue. The terms I'm taking about dictated what language the app could be "originally written" in, regardless of what happened at runtime. Technically, if you prototyped an app in some other tech and then manually ported it to objective-C it wasn't even clear if that would satisfy the terms as written.

(In practice of course it didn't matter what the terms precisely meant, because Apple never enforced them apart from removing flash-based apps.)

They did this just after I had started learning C# with Xamarin for iOS dev, it's why I got out of mobile development and am now a python/Django developer.

Edit: I forgot, at the time I was between jobs (2008) and had used a chunk of my money to buy an iPhone to learn iOS Dev on, they wasted a load of my time, and money.

I think Steve Jobs realized he could blame Adobe endlessly and people would believe it because … Adobe … and he could kill an App Store competitor.
> Flash could run great games and apps on Internet Explorer 6. If it was then impossible to get a non-garbage version on iOS, then maybe iOS was garbage.

The problem was pretty clearly on Adobe's end. They released a Flash runtime for Android in 2010; it was nearly unusable, and was quietly discontinued a year or two later.

> If it was then impossible to get a non-garbage version on iOS, then maybe iOS was garbage.

Flash sucked ass on every single platform aside from Windows. Android, MacOS, Linux. Adobe sucked at porting.

No, because web apps had the same abilities and those were allowed. The reason Flash was blocked was because it was always going to be a poor experience and Apple sells great experiences.
The app store didn't exist when the iPhone launched.

Neither did third party developed apps, only what apple put on the smart phone like a featurephone.

Yeah the original plan for iPhone apps was they were all supposed to be web-apps saved to the home screen. No App Store. IIRC they even had a basic web SDK to make some standard-looking iOS views? Developers jailbroke the iPhone and reversed the APIs and made some really compelling demo apps and Apple had to rush to make an official SDK.