Mariano Guerra
“Being a creator of and steward for Flash as a platform was a privilege. I felt that we were building a pencil and it was the community of creators that was responsible for the creation of Flash as a creative form. Our job as stewards was to anticipate needs, listen and make sure it worked. The core idea of having an accessible system for creating interactive media content that works across a range of devices is still a powerful one. Just like pencil and paper is a powerful tool. I hope it will happen again. Many years ago, I had the idea of Flash Forever. How can we treat what is created in Flash as valuable information like a book? Sadly, the need to drive business growth by adding features and capabilities, trumped the need for permanence. It’s great that Flash still lives in the skills and experiences of the community of people who learned and grew with it.”-- Jonathan Gay, Creator of Flash
gman
07/22/2020, 7:03 PMS.M Mukarram Nainar
07/22/2020, 7:13 PMIvan Reese
Ryan King
07/22/2020, 8:23 PMRay Imber
07/22/2020, 9:09 PM1) there is no way to distribute the creations as a single file like you could with flash and a swf file. It would be a minimum of 3 files, one HTML, one player file (probably too big), one data files. Where as with flash you generally had the player installed.Isn't this what electron apps do? It's the same problem as Unity. You get a single distribution format, but it bundles an entire damn web browser...
Ivan Reese
Ray Imber
07/22/2020, 9:33 PMRay Imber
07/22/2020, 9:33 PMI think there is a market for that. It'd just cost a lot to build a modern equivalent of Flash (the authoring tool) that publishes efficiently to the web. Not amenable to a startup, and I don't think most existing companies have the culture for it.I feel like this discussion needs some clarification. We are talking about "Flash" as this monolithic thing, but it was made up of a few parts that made it successful. • A well designed vector animation tool that was intuitive for artists (relatively speaking) • An integrated scripting language • A compact and widely accessible distribution format @gman in particular made this implication that distribution is intimately tied to the editor. Those are weird things to conflate together imo... Adobe Animate CC, the modern Flash ancestor in fact has an export to JS/HTML5 option IIRC... I'm not sure how good it is though.
Ryan King
07/22/2020, 9:43 PMIvan Reese
Adobe Animate CC, the modern Flash ancestor in fact has an export to JS/HTML5 option IIRC... I'm not sure how good it is though.It's bad, or at least it was when I evaluated it. The output is bloated and doesn't offer much in the way of interoperability — less than even SWF content (which had an API you could tap into, and had good semantics around responsiveness, etc)
Ray Imber
07/22/2020, 9:49 PMIvan Reese
Ivan Reese
@gman in particular made this implication that distribution is intimately tied to the editor. Those are weird things to conflate together imo...I mean, they're conflated together by history — Flash was both of those things. A modern successor to Flash might also conflate those things. It's not necessary, but it might be beneficial. Look at Unreal — the engine and distribution platform (Epic Games Store) are technically separate, but they're designed to be mutually beneficial. It's also sort of unavoidable to consider the output format when creating an authoring tool. And if your authoring tool is creating content for the web, you want the output format to be optimized for portability — a single file, or at least something that's easy to link to or easy to embed in a blog post. And something that anyone can view without a plugin. If you aren't thinking about that when designing an authoring tool, you're going to end up in a sad place.
Ryan King
07/22/2020, 9:56 PMRay Imber
07/22/2020, 9:56 PMI mean, they're conflated together by history
It's not necessary, but it might be beneficial.I think this is the more important point... Was Flash successful because these things were tied together, or is that just historical accident? It's hard to compare with the Epic Games Store imo. It's too new. If you look at Steam as a counter point, it's very successful as a distribution platform, and is very isolated from the content creation itself.
Ryan King
07/22/2020, 9:59 PMIvan Reese
Ray Imber
07/22/2020, 10:12 PMSo the distribution is "tied" to the editor only insofar as the editor needs to do just that — spit out files that people can actually use@Ivan Reese I agree. Exactly. I basically agree with everything you said. I think my problem with @gman's original argument was that he was looking at it backwards from my view point. The problem has nothing to do with the distribution format as a technology... It's not a technology problem, it's a social / market problem. It's not that there is no market, it's like you said, there is a market on the consumer side. The problem is that there is no incentive on the business side to build it. In that way, Flash was a product of it's time. Unfortunately the world is a different place now. Maybe the modern web will produce a modern successor. All the parts are there... 😄
Ivan Reese
Ray Imber
07/22/2020, 10:52 PMgman
07/23/2020, 2:46 AMgman
07/23/2020, 2:51 AMJack Rusher
07/23/2020, 8:52 AMRay Imber
07/23/2020, 7:03 PMI want to say all the parts are not there.Remember, this is "Future of Code", not "Today of Code". You are giving more examples of finished products that are not all there. These are good examples of what is not working right now, but none of these examples show any fundamental missing pieces for why a new flash like platform can't work. From a distribution perspective, I think all the technological pieces are there. Even before web assembly, I think the parts where there. The death of flash is one of the big reasons web browsers started to grow the necessary features to replace flash(for better or worse). Web assembly might be the final piece, because it allows a single binary blob to be easily embedded and run. We just need to get better at compression (which is actively being worked on.) @gman My question for you is, if you think all the pieces are not there. What pieces do you think are missing? Not which product is missing, we wouldn't be having this discussion if a finished product already existed, but which technological or social pieces are missing?
Ray Imber
07/23/2020, 7:08 PMgman
07/24/2020, 5:08 AMogadaki
07/24/2020, 8:25 AMWASM doesn't work with one file. In fact typically it's min 3 files not including assets. One HTML file, one script with all the JS<->WASM glue. One wasm file.Technically, if needed one can bundle all this in one HTML file, with a script tag for the JavaScript / WASM glue, and with the WebAssembly binary content encoded in base64 somewhere in the script or in a custom HTML tag.
Ray Imber
07/24/2020, 6:21 PMbut it's a way higher barrier to entry than flash ever was. There's no doing anything in Pico-8 without code but there was plenty of flash with no or minimal code.Good point. I can see that much of your argument is about barrier to entry and ease of use. 👍 Now about your 4 things. I'm going to disagree with you on a few points:
1. being able to distribute as a single file. not entirely sure this is important but feel it's possible it is importantI would like to point out that Flash was not that different. In theory you could just "play a swf" file directly, but nobody did that. You still had to host a website with an HTML file (and probably a CSS file), and embed the swf file. And the user had to download or update their flash player on a regular basis. In fact, nobody did that either! They uploaded their swf to Newgrounds, who did all the hosting work for them. The key here is the marketplace (Newgrounds). That's not much different than the JS/WASM, HTML, CSS combo we have today. It's not really just "one file"... An important part of the equation was that Newgrounds did a lot of that hosting work for you as a content creator. There is no reason the same kind of thing couldn't be done for WASM or modern JS. In fact, that's what itch.io and Pico-8 are doing! I would also like to point out that you can embedd assets in the WASM binary! Modern assets like 3D models and bitmap textures are also very different from Vector based assets (I will talk more about this below). The key is that there was a convenient way to get from the content creation tool to the hosting site easily. That's a really good point! I just want to point out that there is nothing technologically preventing us from building something just as convenient today, it just hasn't been built yet...
being able to stream the assets from that single file vs having to wait for the entire file to download. If 1 is important than so is this.I am actually not sure what you mean by stream assets. It's been a long time since I programmed with flash (I did back in the day, but it was a looong time ago), but I'm pretty sure it didn't "stream" anything, at least not in the modern sense of sending bytes over a network a little bit at a time. Youtube didn't even exist until 2005, and when Youtube started, streaming technology was still pretty bad... If I'm wrong, please give me a source and correct me. I think what you mean is compression. Flash was good at compression. It also had good "time to first interaction" latency. I totally agree that "time to first interaction" is super important and extremely under appreciated with modern computers. It's a big pet peeve of mine (and anyone who follows Jon Blow, Casey Muratori, and the handmade philosophy)., I would like to point out the Flash assets were almost entirely vector based. Vectors compress extremely well! They are just control points for a Bezier curve equation. The internet also had much less bandwidth during the height of Flash, so in general the assets were smaller. I remember Flash animations that had a lot of bitmap assets instead of vectors. You got loading screens just as bad as today (worse in some cases). The situation is actually better today for the end user from the tech standpoint. The internet has orders of magnitude more bandwidth, and the browser apis let us do actual proper streaming of data (through js download requests or websockets).
working well on mobile in the browser (this is only semi-possible because Apple has so far refused to implement the needed APIs. In particular the fullscreen API so a webpage can go fullscreen (or close to it ) like a native app can and the orientation API so a webpage can force landscape view. Android Chrome/Firefox has had both of these for 6+ years and it hasn't ruined the browsing experience there.Yeah. Modern Apple sucks. I agree. lol
A well designed non-programmer friendly app for making things
It wasn't just that the tech existed. It's that there was an app that let people easily use tech to make stuff.I think you make a really good point here. I would add that it's not just about the content creation app, but also the hosting and distribution sites like Newgrounds. Newgrounds was a "proto-app-store" in many ways.
It could also be though the flash was just something that happened and it's time has passed.You might be right here. It seems like the big game engines like Unity, and the proprietary app stores, both on mobile and desktop, have taken over the hole left by Flash.
Ray Imber
07/24/2020, 6:40 PMRyan King
07/24/2020, 8:32 PMRay Imber
07/24/2020, 8:54 PMPerhaps animation is a nice gateway into programming. Tweening is a nice simple point-click exercise but the more complex behaviour you need, the deeper into programming you go.☝️ This right here is a key insight I think! From a "FOC" point of view. Flash served as a "gentle intro to programming" gateway drug for a generation of programmers. Flash was the 2000's equivalent of Basic for many people. What made Flash a good intro to programming tool? I think you just answered that question 😄
Ryan King
07/24/2020, 9:03 PMgman
07/28/2020, 5:20 AMgman
07/28/2020, 5:46 AMIt is designed to meet the following goals:
* Network delivery—The format can travel over a network with limited and unpredictable bandwidth. The files are compressed to be small and support incremental rendering through streaming....Streamed audio packets interleaved with the frames are covered around page 181 https://www.adobe.com/content/dam/acom/en/devnet/pdf/swf-file-format-spec.pdf How much of this stuff is important in 2020 I have no idea. Flash started in the 90s when having a modem was still the most common way to connect. But still, it definitely streamed and designed around getting something to the user as fast as possible.
Ray Imber
07/28/2020, 5:28 PMThe important part is the user not having to wait to start interacting.I used the phrase, "time to first interaction". But I think we agree here. amiga tick
In other words it would be a fairly advanced HTML/JS library whereas in Flash it was built in.I agree, that kind of streaming would be fairly complex to emulate, but It is technically possible to with today's technology (at least for desktop). The implementation would probably be a nightmare, but it's technically doable...
How much of this stuff is important in 2020 I have no idea.The billion dollar question is, is it worth emulating? To clarify, the reason I'm digging into this so hard is because I'm trying to see what if any useful bits of wisdom are worth taking from Flash as a technology that may have been passed over in modern tech. @gman You have been a really good sport about the whole thing! I appreciate your time and responses.