Live data from Hacker News

Without Flash the current web tech stack might look different

trzeci.eu

191–200 of 201 posts

Re: Without Flash the current web tech stack might look different

#191
post #187
post #162

Earlier quoted context omitted.

Alchemy also required a per-domain license key to be purchased to unlock various API combinations at runtime. For me this was the biggest shock and definitively a hint that not all was well in flash land. Runtime player licenses were unheard of until then - only the authoring tools cost money. Having to pay up for every swf on every domain certainly put a chilling effect on experimentation around the new APIs.

Adobe removed the need to have license afterwards

As far as I can remember, that reversal came much much later, when flash was already "dead in the water", unfortunately. By that time WebGL and asm.js/WebAssembly was already coming on to the scene. And it really set the stage for questioning adobe's stewardship of the runtime for developers. Fool me once, ...

Re: Without Flash the current web tech stack might look different

#192

Earlier quoted context omitted.

This is just silly, jobs allowed and even pushed web apps. You can just as easily circumvent the app store with web apps.

They forbid language runtimes. Sure, web apps are allowed, but nothing else is if it's freely programmable, including other browser engines.

That was once true but no longer. Apps in the store can now run interpreted code from anywhere, downloaded, typed in, or bundled with the app. However, they can't implement their own app store outside of Apple's.

I'm only going to discuss interpreted code. The operating system prevents the execution of any object code that isn't signed by the App Store. The only exceptions are system processes, like JavaScript just-in-time compilation performed by WebKit.

Let me go through the changes in section 3.3.2 of the Apple Developer Program License Agreement. I'm going to skip over some things, because I can't find copies of the very earliest agreements, and I haven't read every single one since.

iPhone SDK Agreement, revised 2008-10-20:

    3.3.2 An Application may not itself install or launch other executable code
    by any means, including without limitation through the use of a plug-in
    architecture, calling other frameworks, other APIs or otherwise.
    No interpreted code may be downloaded and used in an Application except for
    code that is interpreted and run by Apple's Published APIs and built-in
    interpreter(s).
This bans web browsers with custom engines that run JavaScript, Flash, or Java applets, and it also keeps out alternative app stores. You can display web pages that contain JavaScript, but they have to run inside of the WebKit framework. It seems to allow bundled scripts running on a custom interpreter.

In 2009-03-17, it was changed to this:

    3.3.2 An Application may not itself install or launch other executable code
    by any means, including without limitation through the use of a plug-in
    architecture, calling other frameworks, other APIs or otherwise.
    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).
Now it says “downloaded OR used”, not AND. So this is even stronger, and prevents an app from containing any amount of interpreted code. It seems to ban lots of games that run an embedded scripting engine.

The iPhone Developer Program License Agreement, revised in 2010-06-07, says:

    3.3.2 An Application may not itself install or launch other executable code
    by any means, including without limitation through the use of a plug-in
    architecture, calling other frameworks, other APIs or otherwise.
    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.
Okay, so game scripts are now legal again, with permission.

A year later, iOS Developer Program License Agreement (2011-06-06):

    3.3.2 An Application may not download or install executable code.
    Interpreted code may only be used in an Application if all scripts, code
    and interpreters are packaged in the Application and not downloaded. The
    only exception to the foregoing is scripts and code downloaded and run by
    Apple's built-in WebKit framework.
So now you don't have to ask permission to use bundled scripts. Also, they mention the WebKit framework specifically. Sometime later, iOS exposed JavaScriptCore and made it possible to run downloaded scripts that aren't embedded in a web page.

On June 5th of this year, the Apple Developer Program License Agreement (which applies to both the iOS and Mac App Stores) was revised to:

    3.3.2 Except as set forth in the next paragraph, an Application may not
    download or install executable code. Interpreted code may be downloaded to
    an Application but only so long as such code: (a) does not change the
    primary purpose of the Application by providing features or functionality
    that are inconsistent with the intended and advertised purpose of the
    Application as submitted to the App Store, (b) does not create a store or
    storefront for other code or applications, and (c) does not bypass signing,
    sandbox, or other security features of the OS.
    An Application that is a programming environment intended for use in
    learning how to program may download and run executable code so long as the
    following requirements are met: (i) no more than 80 percent of the
    Application’s viewing area or screen may be taken over with executable code,
    except as otherwise permitted in the Documentation, (ii) the Application
    must present a reasonably conspicuous indicator to the user within the
    Application to indicate that the user is in a programming environment, (iii)
    the Application must not create a store or storefront for other code or
    applications, and (iv) the source code provided by the Application must be
    completely viewable and editable by the user (e.g., no pre-compiled
    libraries or frameworks may be included with the code downloaded).
So now downloaded scripts don't have to be JavaScript and don't have to run inside of Apple's interpreter. (The second paragraph doesn't even apply to iOS, because it's not even possible to execute unsigned code.) So now Google and Mozilla can rewrite their iOS web browsers to use their own Blink and Gecko engines, instead of merely wrapping WebKit, though the system will still prevent them from doing JIT compilation. Hell, they could even support Flash if they wanted to.

It's funny, but no one has seemed to notice this except for The Register.

https://www.theregister.co.uk/2017/06/07/apple_relaxes_devel...

Re: Without Flash the current web tech stack might look different

#193
post #34
post #19

Earlier quoted context omitted.

I think security was not fixable, at-least not to the user's and browsers liking. You had to disable flash for safety and stopping the most annoying ads. The other issues could be left to consenting adults. But browsers and IT departments turned against plugins in general. Now even Java is almost gone (from browsers) for the same reason.

I have a feeling that if Adobe would publish detailed Flash file format specs when Flash started to decline, there would have been separate player implementations and Flash might still be alive today. Of course, this also means alternative editor implementations, and this decreases business value. This is also a lot of work. And at some point, it became too late -- if format would be published today, very few people…

As state by other commentators it was an open standard. However the main issues other vendors faced were Adobe's control of the standard (no TC39) and the use of patents in the technology (compression etc).

Re: Without Flash the current web tech stack might look different

#194

I think what Flash (the program) really excelled at was giving creators the ability to draw, animate and program interactive objects, all wrapped in a single neat package . I would contest that no other software, even today, has come close to being able to do these three so seamlessly at once (Really, I encourage you to try to name one!) Sure, when it came down to it you can say it had poor performance, security, fil…

Was anything "amazing" every created in Flash? It's obviously subjective, but things that would merit the "amazing" tag for me would be things like, Wikipedia, Google (the Search Engine), Facebook (love it or hate it, it's an awesome success), Google Maps, stuff like that. All I remember from the Flash days, and I was a flash developer bear in mind, was clunky, contentless, CPU hammering folly. None of which I think…

A whole host of Single Dealer Trading platforms from major banks delivered on the web via flash (and Flex).

Quite an ambitious achievement for a simple animation tool.

Re: Without Flash the current web tech stack might look different

#195

Flash, specifically Flex, won the battle and then promptly lost the war as other companies remade the internet in Flex's image. Adobe's sudden and not at all inevitable betrayal of Flex devs was a huge shock and absolutely killed Adobe in the field of Rich Internet Apps which at that point they were dominating. If they'd pivoted Flex to compile to Javascript then the world as we know it would be a very different plac…

At the key time JS couldn't achieve everything in the Flex scope, even now some of the less open features (DRM) are still missing.

Having said that 80% of my time is still spend writing AS3 in Flex ;)

Re: Without Flash the current web tech stack might look different

#196
post #97

Earlier quoted context omitted.

Beyond the security issues, Adobe was just terrible as a platform maintained. Flash was the largest source of crashes in every browser until they moved it to a separate process, there were endemic performance issues even in core features (e.g. video playback was significantly more CPU intensive, and general code was well behind native speed), and most of the toolchain was in a state of obvious neglect, from the libra…

At the point that Jobs wrote his lie filled "Thoughts on Flash" Flash Player was vastly more performant at HTML5y things like animations, video and music playing than doing it in the browser. I'm not going to defend the quality of the flashplayer architecture and implementation (due to it's crapness) but it was perfectly fine performance wise - it was a 'resource hog' because of the terrible, terrible code that peopl…

I saw it as two main issues:

1. Apple couldn't improve the Flash player like they could with WebKit and Nitro to make Flash content run well on their phones.

2. Most of the complex content on the web was in Flash, by not supporting it the web was fast and light weight for a very low powered mobile device.

If you try and load a JS heavy website on an original iPhone now days it will likely crash.

Re: Without Flash the current web tech stack might look different

#197
post #28

Earlier quoted context omitted.

Flash is a security nightmare. It's a 3rd party application that opens up the device up directly into the OS if compromised. Jobs blocked it because it would make iPhone vulnerable to attacks they couldn't control. I don't blame him for blocking it honestly, even though it meant we had totally change tech stacks.

Also, Jobs probably realized flash apps could circumvent his app store model.

This was such a poor go to argument from Flash developers (I was/am one of them). However in reality this wasn't just about revenue as many assumed (it's a tiny tiny tiny percentage of Apples turn over). The better argument was that Flash, even wrapped in a native container (cordova etc) was insecure, slower and out of their control. Forcing developers to use native toolkits and frameworks produced far better applications as a result.

Even today the best apps are still native.

Re: Without Flash the current web tech stack might look different

#198
post #194

Earlier quoted context omitted.

Was anything "amazing" every created in Flash? It's obviously subjective, but things that would merit the "amazing" tag for me would be things like, Wikipedia, Google (the Search Engine), Facebook (love it or hate it, it's an awesome success), Google Maps, stuff like that. All I remember from the Flash days, and I was a flash developer bear in mind, was clunky, contentless, CPU hammering folly. None of which I think…

A whole host of Single Dealer Trading platforms from major banks delivered on the web via flash (and Flex). Quite an ambitious achievement for a simple animation tool.

The past four years of my career have been spent replacing all that stuff. It was never good. It was just the best Flash could do.

Re: Without Flash the current web tech stack might look different

#199

Earlier quoted context omitted.

Correct, nobody made the design decision to disable the back button - they did it in complete, oblivious disregard. I'm well aware of what you state and the entire point of my statements is that those decisions were wrong. The solution I would have preferred to those issues you describe is actually not that at all. It's to make simple, usable sites like the one we are currently on. As far as what you're saying about…

> The solution I would have preferred .. to make simple, usable sites like the one we are currently on Neat, but many companies in 2004 wanted sites that couldn't be made out of styled text - minigames, product configurators, branded media experiences or whatever - and they wanted interactivity more than they wanted the back button to work. If you think they were wrong to do so that's fine, but it hasn't got much to…

Sure, lots of customers thought they wanted websites full of unrealistic, bad ideas, and Flash made that possible for them. I'm glad that's over with.

Re: Without Flash the current web tech stack might look different

#200
post #194

Earlier quoted context omitted.

A whole host of Single Dealer Trading platforms from major banks delivered on the web via flash (and Flex). Quite an ambitious achievement for a simple animation tool.

The past four years of my career have been spent replacing all that stuff. It was never good. It was just the best Flash could do.

Perhaps in your retrospective opinion, but it was good enough for every major investment bank to invest millions in, and even enough for a company like Microsoft to try and copy...
Post reply on HN