One thing Flash had that nothing else has really seemed to replicate as well since, is an environment that both coders and artists could use. I'd collaborate with an artist, they'd make their animations within an FLA, send it to me, and then I'd copy+paste into the project file, and it'd just work. I could even tweak their animations if need be to remove a frame here or there to tighten the animations and make it feel more fluid, etc.
That being said, I'm not sure I could go back to it now. I've been working with Love2D lately, and I prefer that (especially for the version control). FLA version control was always me going 'GameName-1.fla', 'GameName-2.fla', or when I got a little smarter 'GameName-Date.fla'. Eventually they let you split out the actionscript files into its own files, and that was better for version control, but you still had the binary mess of the FLA file.
But all these sprite-based game editors just can't handle the crazy intricate animations that vector-based Flash games could handle. Porting one of my old games (Clock Legends) that had hundreds of frames of hand drawn animation for a boss that filled the screen would be ridiculously huge nowadays, but the FLA for that was like 23MB, I believe (I'll need to hunt it down, I have it somewhere), and several MB of that were for the songs in the game.
Excited for this project though. It deserves to come back in some form.
I remember trying to produce a Flash renderer in C# when we wrote DudeFactory to render out the characters after you used the Flash app to put all their clothes and accessories on. I think we cheated in the end and pre-rendered large PNGs of them all and used .NET to just layer them all with instructions sent from Flash.
Didn’t it? IIRC, Adobe had such a tool at some moment, and part of it seems to (somewhat) live on [1]. https://en.wikipedia.org/wiki/Apache_Flex:
“Apache Flex, formerly Adobe Flex, is a software development kit (SDK) for the development and deployment of cross-platform rich web applications based on the Adobe Flash platform. […] Adobe donated Flex to the Apache Software Foundation
[…]
In 2014, the Apache Software Foundation started a new project called FlexJS to cross-compile ActionScript 3 to JavaScript to enable it to run on browsers that do not support Adobe Flash Player and on devices that do not support the Adobe AIR runtime. In 2017, FlexJS was renamed to Apache Royale. The Apache Software Foundation describes the current iteration of Apache Royale as an open-source frontend technology that allows a developer to code in ActionScript 3 and MXML and target web, mobile devices and desktop devices on Apache Cordova all at once”
[1] I may be wrong though. It’s not easy figuring out what Flash code ended up in which of Adobe’s Flash-like products over time.
[0]: https://rive.app
probably not. The only difference is that it'd be build once display everywhere. Flash meant that everything looked the same regardless of browser or platform.
Its a lot better nowadays, but its not as easy as flash was.
The _key_ thing thats missing is the flash IDE/designer. There are no compelling editors/environments that allows both artists and coders to work in the same space.
Sure I can use Illustrator to make graphics, but there are no animation systems out there that allow me to animate well (I can render a unity app to HTML/JS but thats not quite the same)
I'd really like to find a replacement which clicks for me the way it did --- started out w/ its predecessor, Futurewave Smartsketch (used it on PenPoint, Mac and Windows, and for Windows, continued using through a succession of pen tablets, most notably my Fujitsu Stylistic ST-4110 which I despair of replacing --- transflective displays went out of vogue).
You can turn the curves into polygons, or render them to textures. Ruffle, I recall, makes everything polygons (so it's a little chunky if you zoom in?), and Super Meat Boy rendered everything to textures.
I'm not sure what the actual flash player did, which seems to have pretty decent performance relative to Ruffle in my testing.
Maybe they have some proprietary technique for rendering curves quickly on a GPU? (I read a paper on rendering curves, and there's OpenVG, which I think came later and nobody uses?)
Btw, there exists several implementations, with pure CPU rendering (like AmanithVG SRE) and others with GPU backends.
This has more or less been the line from the day Steve Jobs decided Flash would never be available on the iPhone. And it was readily apparent that no one who said that worked in the audio domain. Things are much, much better now, but I remember challenging myself by trying to build a drum machine in HTML, Javascript, and CSS (not wanting to muck about in Canvas at the time) and while I could make it look decent enough, there was no such thing as a solid, reliable clock in Javascript, for about a decade. Just the way you played audio files back varied from browser to browser on the same machine. It was absolute garbage.
In-browser capabilities have basically caught up or exceeded what Flash did - I don't keep up anymore - but to echo other replies, the authoring tools just aren't as accessible. Maybe vibe coding tools close that gap. But the forced sunsetting of Flash set online interactive multimedia back at least a decade. It was never my main career path, but I more or less abandoned that fun side quest, and as evidenced by my feeling the need to comment here, it still kind of bums me out.
This sounds like a "is there anything you can do in C++ or Javascript that you couldn't do in Brainfuck?".
Flash was a complete authoring environment. Yes, you can replicste the output in JS+CSS (or more likely JS+Canvas/WebGL/WebGPU), but at what cost and with how much effort?
Support and performance might have improved, but I think the style is still ugly and good authoring tools non existent.
For artists, SVG is probably the worst vector format imaginable. In fact, I'd say any project that uses SVG as backend is doomed to fail with artists. It's pretty much a red flag at this point that if "supports vector" means "support SVG" they're doing it wrong and just chose the easiest to implement vector graphics because you probably have a billion open source SVG libraries at this point instead of rolling their own proprietary vector rendering algorithm that actually improves the artists' workflow.
To answer your question, the important thing about Flash wasn't the vector rendering but the vector art authoring tools. You could make Inkscape work like Flash, but nobody has done that yet. All you need is a brush tool that automatically does union of shapes of same color and subtraction of shapes of different color so the whole layer is always "flattened" with no shapes overlapping. This is the sort of thing that made Flash exceedingly easy to use for artists. It was a vector art program that worked exactly the same way as a raster digital art program. It thought of vectors not as shapes that the program was going to render but as paint strokes on a canvas.
If you were building a vector art software today you probably would want all sorts of things that SVG doesn't provide, e.g. line art with varying thickness based on tablet pressure (although Flash didn't need this, since you could draw shapes instead of strokes). You might also want to take a look at OpenToonz' vector implementation, which has "fills" that automatically expand when you change the enclosing strokes and an indexed color palette system, and CSP's line art vectors that let you use textured raster brushes with settings like dab scattering in vector strokes.
By the way, I also believe the idea that HTML5 could replace Flash games was insanely stupid. Anyone could make a Flash game and deploy it to web browsers in one click. Do that in HTML? With Javascript? Which means you need to download all these images/audio from the Internet? You want to play it locally? CORS issues, baby! Now you need to turn this mess into an electron app or use the most disgusting build step imaginable to turn whole jpegs into a base64 strings so you can create a single HTML file that is several megabytes. How did the entire world convince themselves that this was an actual replacement of Flash's functionality is honestly beyond me. For Flash websites, sure, you have <video> now, but for everything else that Flash provided there has never been a proper replacement (at least until Godot/Unity started WASM'ing, but that was a long time after).
The ease at which Flash CSx would just let you draw a circle in a spot, then click on it to get its script file and immediately add a little bit of behavior is magic for prototyping
Edit: but of course, the standalone variant should work for non-game animations as well!
I was pretty proud of a solution where we could feed a web CMS that had a flash and a html version with the same editable text fields. IIRC you could grab the input of some fields from a text file and Flash didn't care where these came from, so on save the CMS just spit out a bunch of text files in a folder. That must have been around 2001.
Better to go the route of doing Spine2D animations then leverage a real game engine like Godot or Unity and load the animations there.
But then you're essentially back to "traditional game development" which is very different from what you could do with Macromedia's Flash back in the day.
I think this was also true of doing game development in Flash. Some people here might be looking back at Flash with rose-tinted nostalgia glasses.
Maybe Rive fits this well enough? (Not affiliated, just looked into it at a time from a render engine perspective)
We built a dedicated cluster in a colocation center in Bucharest to handle all of this. Had issues with max floor weights and what not. Then had to upgrade the RAM on on the cluster. No remote hands. Every operation was a trip to a really cold place.
Used a lot of early stage stuff like Nutch, Hadoop, HBase etc. Everything was then processed and dumped to an SQL database with a nice UI on top. It took a few weeks to set it up, then we passed it to a team of interns that built the SQL database and UI on top. They learned a ton of stuff. Some are now in the Bay Area.
The tool uncovered a ton of security issues.
It was fun building it. I wonder if Adobe kept the data. It could be useful and/or good donation for the Computer History Museum.
But everyone's in an AWS world right now.
This said, it was always cool when we could control the entire stack, but the reality was that once we scaled things up, we had to throw things over the fence to IT, DevOps, SRE and whatever name evolutions there were and the reality is AWS/GCE/Azure made things easier than dealing with these teams internally.
Anyone who was a dev during the "everyone is devops" fad for a while knows the pain of building something with these kinds of dependencies. Being able to claw back my time from operations on my company's dime is enticing.
But once I started processing the data, it became a thing and we made a small cross-team team to get this going. We eventually expanded the effort in a few different directions and wanted to do a Flash analytics, but ended up with the internal tool only due to privacy concerns.
I've said it a million times, but I stand by Flash being the most fun development environment ever made.
Being able to draw your cartoons, make them a movie clip, export to code, edit things around without having to re-count all the frames, built in hit-detection, etc. It's a blast to write software for Flash, and I am not sure I've ever had more fun than being a teenager developing Flash games in my bedroom with a pirated copy of Flash MX 2004 Pro (or was it Flash 8? I can't remember).
Now, I'll admit that part of that was because I was a teenager at the time, and programming was still a cool novel thing to me, but I do think that the platform was uniquely fun and interactive, and I have been chasing that high for awhile without being able to find something to fully replace it. Stuff like Construct and GameMaker and stuff are pretty cool and fun, but they still don't really hit the same for me that Flash did.
If we can have a new Flash, I will be very happy.
Since Flash was an animation-first piece of software that still had a fairly robust scripting system, it was able to create very unique and interesting pieces of media that can kind of only exist as they are.
People aren't making full on TV cartoons in Construct or GameMaker. This isn't a dig at those tools, they're good software, but the animation parts of them are targeted much more towards "animation for games".
If they had done that, then it could have been incorporated into the web standards (or at least something somewhat inspired by it). Instead it took like 10+ years for web standards to catch up, Flash Player got crappier and crappier and eventually murdered in 2020.
If they had FOSS'd it, Adobe could still be the de facto leader of web-authoring tech.
The iphone was underpowered, and apple decided that they could brazen their way out of not having flash support.
It turned into a movement, but that was never a given.
If this hypothetical universe happened, I think we'd have had something akin to WASM much earlier. Flash already had its own bytecode and VM, and even had something roughly like Emscripten [1] to compile existing C++ code to Flash.
If the many eyes that Macromedia and Adobe paid to work full time on Flash couldn't prevent the need to push out Flash security patches several times a week, the code is fundamentally flawed far beyond the point that the few much less qualified people who might actually take their unpaid spare time to look at it are able to finally find and fix all the bugs.
The major browser developers have enough on their hands designing new open standards and writing and debugging new code, without having to spend any of their time burning their eyes and brains looking at free abandoned obsolete toxic waste code dumps. And ESR certainly isn't going to chip in and help them.
https://news.ycombinator.com/item?id=43133598
>He made up the ridiculous "many eyes" quote himself, then misnamed it "Linus's Law" to avoid personal responsibility and shift the blame to innocent Linus Torvalds, who never said such a stupid thing, and which HeartBleed and many other eyeballable bugs proved terribly wrong and misguided.
>About which the salty security expert Theo de Raadt famously said "Oh right, let's hear some of that "many eyes" crap again. My favorite part of the "many eyes" argument is how few bugs were found by the two eyes of Eric (the originator of the statement). All the many eyes are apparently attached to a lot of hands that type lots of words about many eyes, and never actually audit code."
https://en.wikipedia.org/wiki/Linus%27s_law
>In Facts and Fallacies about Software Engineering, Robert Glass refers to the law as a "mantra" of the open source movement, but calls it a fallacy due to the lack of supporting evidence and because research has indicated that the rate at which additional bugs are uncovered does not scale linearly with the number of reviewers; rather, there is a small maximum number of useful reviewers, between two and four, and additional reviewers above this number uncover bugs at a much lower rate.[4] While closed-source practitioners also promote stringent, independent code analysis during a software project's development, they focus on in-depth review by a few and not primarily the number of "eyeballs".[5]
>The persistence of the Heartbleed security bug in a critical piece of code for two years has been considered a refutation of Raymond's dictum.[6][7][8][9] Larry Seltzer suspects that the availability of source code may cause some developers and researchers to perform less extensive tests than they would with closed source software, making it easier for bugs to remain.[9] In 2015, the Linux Foundation's executive director Jim Zemlin argued that the complexity of modern software has increased to such levels that specific resource allocation is desirable to improve its security. Regarding some of 2014's largest global open source software vulnerabilities, he says, "In these cases, the eyeballs weren't really looking".[8] Large scale experiments or peer-reviewed surveys to test how well the mantra holds in practice have not been performed.[10]
>Empirical support of the validity of Linus's law[11] was obtained by comparing popular and unpopular projects of the same organization. Popular projects are projects with the top 5% of GitHub stars (7,481 stars or more). Bug identification was measured using the corrective commit probability, the ratio of commits determined to be related to fixing bugs. The analysis showed that popular projects had a higher ratio of bug fixes (e.g., Google's popular projects had a 27% higher bug fix rate than Google's less popular projects). Since it is unlikely that Google lowered its code quality standards in more popular projects, this is an indication of increased bug detection efficiency in popular projects.
Writing forty paragraphs about your opinion of the “many eyes” thing is interesting enough, but I stand by what I said. If Flash player had been FOSS I think it could have been integrated into browser standards and you’d have browser makers able to fix things and integrate better sandboxing since it could be part of the standard.
I hated flash only for their video player being so widespread despite immediately redlining my Mac’s cpu and holding it there during the entire experience.
(Okay also security issues, but that was more like adding the ammunition to getting rid of the video player)
Early on, I saw my colleagues working in Flash but didn’t notice anything that interested me. I don’t quite remember the exact chain of events, but I think it all started when I saw a friend writing code called “ASfunction” inside Flash, “What? You can write code to make the drawings do stuff?”
So, that was the magic; I can code and see things happen in real-time (no compilation, no render). And that was the only thing I did for quite a while.
Unfortunately, the Flash IDE was a sloth. I spend most of my time writing ActionScript in TextPad and compiling it with a CLI called MTASC (from the same developer behind HAXE.org).[1] If memory serves me well, I used to maintain the ActionScript syntax for TextPad.[2]
1. https://brajeshwar.com/2005/haxe-programming-language/
2. https://brajeshwar.com/2002/textpad-syntax-file-for-asmx/
But in the process I learned about ActionScript and found I had a lot of fun coding things and playing with different programming constructs.
I keep meaning to try out haxe, it looks neat enough, but to me it's still kind of missing half of what I liked about Flash, which was the animation tooling.
Now I do agree that even something like Unity or PlayCanvas fail short of Flash's game development experience, because the browser debugging for 2D and 3D development sucks.
At least of the stuff I have used, Flash is the most fun. Admittedly I never really got into any other kind of graphics-first development like VisualBasic and the like. Flash just spoke to me for some reason.
This is an under-appreciated aspect of Flash's popularity, and probably a reason why Animate didn't have the same appeal. A kid could get a "free" cracked copy and make fun things.... and maybe not help Adobe/Macromedia's bottom-line, it DID help the general ecosystem.
Rive seems fine, but monthly subscriptions need to die in a fire. I'm not going to pay $10/month to allow me to build some stupid animation idea I have every few months. There are a few, like GameMaker, that do one-time pricing... but even that doesn't scratch the same itch Flash did for me.
The worst thing about tech is people who don't know any better get advertised tools that aren't sustainable and aren't suited to the job. If someone sees a flash game and says "WOW! that's so cool I wanna do that", then I don't have problem with it. But if people want to learn a language and are handed an SRS app, or want to make a unique game and are told to use an engine that's when it becomes harmful (and in many cases viral due to network effects)
I think Flash was fun to develop in. It was easy and fun to write a game in it and it was something a lot more approachable and easier to distribute than trying to cobble together something with OpenGL or DirectX.
Also, I think a lot of the games on Flash actually are fun. I played through Mystery of Time and Space a few months ago and it still holds up. The puzzles are clever, the jokes are funny, the art is likeable, it's a good game.
But what I liked about Flash was that, because it was so approachable, there was a lot of creativity to stuff. A lot of the games weren't good in any kind of "objective" sense, but there was at least a distinct lack of cynicism with a lot of them. The people who made the games weren't doing it for money, they were doing it because they thought it would be cool to make a game. Some games, like Pico's School for example, were unlike basically anything that had come before it. Is Pico's School a masterpiece of game design? Nah, but it's certainly unique, and it was something that could be played on pretty much anyone's computer.
[edit] well that wasn't hard to find: https://www.numuki.com/game/singing-horses/
Anyways yes the security was abysmal but I’m sure it enabled creativity that wouldn’t have surfaced otherwise.
The backwards compatibility here is pretty clutch. I agree -- if he can build something that is compatible with old files AND pushes things forward for new, then this could do some really awesome stuff.
(note: I'm one of Ruffle's maintainers)
It's been quite awhile since I've written ActionScript [1], but I remember when I wrote it I didn't write it significantly differently than C#. You still have similar Java-style OOP semantics with types that I think wouldn't be too hard to map into C#, especially if you're willing to be dirty and use reflection.
[1] Gah, has it really been almost fourteen years? Time is stupid.
One aspect that Flash got uniquely right was the ability to push and pull on vectors like clay. It's the only vector editing tool I've ever used that didn't concern you with bezier abstractions and just let you directly manipulate them.
I don't know what algorithms were that enabled that, but I hope that's part of this tool too!
Curious if C# is the right language for an ActionScript revival. Feels like a strange choice considering ActionScript was the TypeScript of its day, but perhaps the prevalence of Unity now and the ability to share tech with the tool's C# codebase makes it a reasonable decision.
A whole generation of people learned how to create art, games, music, animations, using flash, and the same kind of tool hasn't existed since then.
I think Minecraft and Roblox replaced flash for the new generations.
I think this is the biggest shift. Minecraft starting out as a .jar file allowed for reverse engineering and modding support became a huge part of its "culture". Coupled with artists focusing on spritesheets, you got to have that same Newgrounds online underground scene but for the next generation of kids.
Roblox is takes a similar place now that Minecraft is ~15 years old and all "grown up". Maybe once Roblox hits that similar fate this new Flash will be ready to fill its shoes.
I can still run Flash MX 2004 via Wine and play with that there, so it's not "lost media" or anything, but what I want is something as close to Flash as possible, that runs on Linux, and gets regular updates, and that doesn't require I subscribe to it for forever.
I have a perpetual license to ToonBoom (that I bought when they were still doing perpetual licenses), and ToonBoom is very cool software, but it's purely an animation software. I also have a license to Scirra Construct 2, and that's pretty neat as well, but in my mind that's basically a game engine. Flash was this cool, weird hybrid of both a game engine and artistic software that I haven't found a good replacement for.
With Flash, you could make a cartoon without touching ActionScript. It was designed around animation. If you wanted to extend the cartoon you could then add code, piecemeal, and if you wanted to make a full game then you could make a full game. It was great.
The main things that jump out are the inconsistency in writing style (sometimes doing all lowercase and no punctuation) but then the brief rundown is all perfect spelling and grammar with em-dashes.
The "Not just" parts stick out like "Not just play them back — edit them" as well as "This isn’t a proof of concept or a weekend project. It’s a real authoring environment."
Anyway, best of luck to the author with their project!
This is hilarious.
The big one it missed: the headers are mostly "The [Noun:0.9|Adjective:0.1] [Noun]". LLMs (maybe just Claude?) love these. Every heading sounds like it could be a Robert Ludlum novel (The Listicle Instinct, The Empathy Performance, The Prometheus Deception).
If you look at the icons of the tools in the image they appear to have been generated using a LLM. So yeah it's probably vibecoded a lot, it would be cool if the author reports how much and how it was used but I don't think newgrounds would like it much.
There were some really cool Flash tools in the works around then. Some internal developers had gotten some version of Flash Alchemy to run Doom in the browser. There was a lot of work going on to add proper GPU integration into the platform. I got to see some cool prototypes. Ultimately though, my timing was poor. This was right around when Steve Jobs decided that the iPhone shouldn't run Flash. The internal lore/rumor mill was that some PM had missed Steve Jobs reporting crashes in Safari enough times that Jobs was just DONE with Flash and had decided to kill it on his platform. I have no idea how true that was.
There was a mad scramble at Adobe to try to figure out how to keep Flash running on the iPhone. The AIR team was actively looking into reverse engineering solutions so they could essentially deploy Flash apps that didn't look like they were written in Flash. They tried to rally the community with a "We <3 Flash" campaign. It didn't matter. Flash was taken off the iPhone and Adobe made the call to give up. In 2009 after a few waves of 2008 recession cuts they slashed a huge part of the platform team and I knew it was over.
There were a lot of reasons that Flash probably needed to go, but I wonder about what the web would have been if it hadn't been killed around that time. Regardless I hope this project succeeds. <3 Flash.
Also shipped my only Android game as an AIR app.
I will forever be one of Flash's defenders. Was the best digital creative tool I ever encountered.
Here's 2?
https://cavalry.scenegroup.co/
I believe Unity doesn't do flash style vector animations. It will take in SVGs, turn them into meshes and apply skeletons. That said, it has replaced Flash in turns of the 1000s and 1000s of web games made with it.
https://itch.io/games/platform-web (majorty are Unity?)
Fun history: There was a flash like (vector animation program) for the Apple II called Fantavision.
https://youtu.be/8_Bm8bidrpE?t=40
It would export executables IIRC.
A bit mad because I spent more time playing with it than I would like to admit
So in some cases you need a native build to try to replicate browser issues, and then being able to plug into RenderDoc, Instruments, PIX,....
Flash had the tools.
We can't trust closed source software for content creation tools.
What happens when he gets bored?
However, I LOVE C# and would totally be down to contribute if it's open source.
as to when they share the source, idk!
I'd feel better if he had some other core contributors, but this is a great start.
Especially if the dev is working on a sound editor, something Flash doesn't actually need before even having an outputted example up and running or even a video of it working.
Source: I worked there at the time and knew the relevant PMs.
I wish they had been able to figure out how to do it, but licensing and patents and whatnot have held back lots of innovation.
A lot of people - including studios who use it for projects that can take years to complete - were very unhappy at the prospect of having the only tool that can read their mountains of FLA files (the file format the Flash/Animate editor uses, and used to compile into a SWF) stop working because Adobe turned off the auth servers. Adobe has pulled back to "okay we're, uh, putting it in maintenance mode, expect no new features, ever, just security patches".
> Adobe Animate is in maintenance mode for all customers...
> Maintenance mode means we will continue to support the application and provide ongoing security and bug fixes, but we are no longer adding new features.
Of course, in my experience, such a lifeline never lasts much longer than the furor that earned it...
I have some sympathy for them - I am sure they felt it was the only real choice at the time - but not a whole lot.
People started using Flash for professional work around 1995. "Open source" barely existed as a concept then, Wikipedia tells me the name "open source" was coined in 1998 and it took a while before anyone but programmers gave even half a damn about it.
The first open-source studio-quality 2D animation package I know of was OpenToonz from 2016, which was a relicensing of a commercial package that dates back to the late eighties or the early nineties - Wikipedia just mentions v3 from 1993.
But anyway now there is a dude working on an open-source Flash clone that can read the editor source files, so all these people you have next to no sympathy for have something to celebrate.
I was introduced to "free software" and the GPL in 1986, as a PhD student at the European Molecular Biology Lab (Heidelberg).
Your historical revisionism doesn't sit well. Yes, "open source" came later because some people didn't like the specifics of the GPL and wanted a term that could describe "source available" software under a variety of license. But by 1998, I'd already been contributing to GPL'ed projects for more than a decade.
I'm well aware of the lack of free/libre alternatives to Flash. But that wasn't my point at all. I'm not saying that people failed by choosing Flash over some (mythical) free/libre alternative. I'm saying they failed by choosing Flash, period.
Before proprietary software, there were almost no creative tools that were proprietary. Nobody bought proprietary paint, or proprietary paint brushes, or proprietary table saws, or propriety anything. The software showed up, and everyone was so gaga about what you could do with it that they just forget about the fact that XYZ Corp. controlled the tools 100%, and dived in. There were people warning them, but those people were ignored.
I could remake several of my flash games quickly into web.
I switched to EaselJS, as this was supposedly the official supported libary of Adobe Animate, but then later settled with pixijs.
The vector icons in the side bar have the distinct cruft of LLM-generated SVGs, so just ideally hoping it isn't a quickly-made UI shell. The big claims about .fla import make me a bit skeptical. Though even so, we're not owed anything and I think it's a cool idea to share!
Back then, once Flash projects start to scale up to get more commercial/competitive, the flash editor is no longer as useful for development and transforms to an assets creation platform that outputs loadable SWF files.
The code moves to use Air/Flex SDKs which were more or less equivalent to the tooling we nowadays get with Go/dotnet etc.
So while Flash was an amazing expression tool for learners/hobbyists and is amazing for gamejams since assets creation is part of the workflow, it did hold devs back at higher levels of production.
Many Flash devs moved to Haxe to continue creating on that platform and it managed to survive and thrive.
Competition can clone the project in another language and lipstick it to look different.
The real moat is not the source itself but the reputation. Setting the right price point is the actual challenge. You have to find that sweet spot where the price is high enough to fund development but low enough that the friction of paying is less than the friction of cloning the repo and building it yourself. If you price it like a corporate seat then people will fork it out of spite. The goal is to make the official binary the path of least resistance.
I used to teach high school computer science classes and we built web pages with this new thing called "CSS" (no more tables!) and games in Flash. Cutting edge work we did. Those were good times.
For being open-sourced, it was a pretty hot topic, especially at an interesting gathering inside Macromedia in the summer of 2005. Little did we know (or kinda) that it was going to take a different path with Adobe that Christmas.
Honestly, I think, Flash kinda died way before the iPhone was released.
Part of the beauty of working with Flash, at least as a newcomer or someone who leaned more towards graphics/animation than code, came down to a couple of main points:
- Code was *inside* MovieClips (in Flash [almost] everything was a MovieClip, basically a timeline of frames). Code was attached to frames. When the playhead entered the frame, the script would run. Some of us who started as designers later leaned heavily into the code, but even those who were more comfortable sticking to the visual side of things would end up with a little grab bag full of scripts/snippets that they could just copy/paste into a frame and tweak without getting too bogged down with code. Even at a very simple level (if somethingsomething jump to frame 20, else loop back to frame one) this added a dimension of control and interactivity. Crucially, it was implemented well and very simple to understand.
- Everything was nested. MovieClips within MovieClips. Timelines within timelines. Simple behaviours could be stacked up and lead to natural-feeling complexity just due to this nesting.
Of course these things can be implemented today too, and other tools have and do implement versions of them. But there are often just 1 or 2 levels of abstraction too much, enough to put off some kinds of minds, or people at certain levels of experience. The thing about the Flash experience was that it all felt so fluid and intuitive. Direct. Learning it was fun.
Animate (as far as I remember) did keep those paradigms I mentioned. The timelines were still there, the drawing/animation tools too. But something somehow goes wrong in the translation to modern web tech. If it didn't, people would have just carried on using Flash, outputting JS/HTML instead of SWFs and nobody would have noticed.
A lot of the above is testament to Macromedia and linked to their other software, Director (similar to Flash but aimed more at desktop and 'interactive CDs'). They made software that was a joy to use. To give them their dues, Adobe pushed it further. Also their market dominance meant if you wanted to get into this web stuff and make cool things, Flash was *the* (only, really) way to do it. Which makes me think it may have been a time and place thing, which we won't get back. The modern web and range of options maybe makes it too diffuse, harder for something new to catch on. I hope I'm wrong.
As others have said here though, maybe stuff like MineCraft and Roblox are filling a similar conceptual gap for different generations and I'm just old and nostalgic.
You would start out drawing, get tired of the repetitive parts, and learn to automate them. Eventually, you end up with an FLA file that's just an asset library and a reference to a script.
Plus, it had the most intuitive vector editor I've ever used.
It will be interesting to see if this project ends up working more like AS2 or AS3. AS2 gamedev was a real mess, but it sure was great for the simplest things.
True, it can, BUT what's lacking in the total arena is actual authoring and development toolchains, which is what Flash packaged all in one single bundle.
I'm not trying to install 4 or 5 different things, along with all of their dependencies, just to make some 200MB thing that could have been done in 20MB and one program with Flash.
https://en.wikipedia.org/wiki/List_of_Flash_animated_televis...
I don't know Animate - is it basically Flash Updated (I've read here that Adobe kept some elements of Flash in Animate, but it is unclear what).
Also, there are non-Flash players for .fla files (not editors, however).
The only difference between Animate and Flash is that SWF export got dropped eventually. And a haphazard smattering of new features got added.
You don’t play FLAs. You load them into the editor and output SWFs. Or various video formats. There are reverse engineered SWF players, most prominently Ruffle, but this is the first I’ve heard of anyone parsing FLA files.
FLA is the source format, it is to a SWF (or other video file exported from the editor) as a PSD is to a JPEG, or a .c file to an executable program compiled with all debug info off.
so the story is that Flash basically disappeared from the web, but evolved into a tool to do more general/extensive animation (Animate) that continues to be used today even though the output is (essentially) never .swf files? is that more or less correct?
Flash started life as a general animation tool with a highly-compressible vector output format and a browser plugin to play them. And maybe some basic interactivity, I never touched it until version 4, when it definitely had pretty rich interactive capabilities even though you had to program it all via repeatedly hitting a dropdown menu with all the commands in it. 5 was a big improvement on that front with freeform textboxes instead.
Flash kept being used for animation while also being used for an increasingly large amount of interactive stuff on the web and desktop. Adobe bought Macromedia pretty much entirely to get it and started trying to build a write-once, run-anywhere programming environment out of it. Like Electron, with all its faults of being a resource hog with the added bonus of regular security holes that only Adobe could fix at a snail's pace.
Apple decided not to let the SWF player onto the iPhone's app store, officially citing the resource hog and security hole problems. People stopped using Flash to make interactive experiences. YouTube stopped delivering video as a Flash player streaming Flash's streaming video format. People kept on using it to animate.
Some time after this Adobe renamed Flash to Animate. People kept on using it to animate. I didn't, I'd quit animating by then.
Some time after that Adobe removed the ability to export SWF files. People kept on using it to animate.
And some time after that Adobe said "fuck it we're done with this thing, we've barely been adding any new features for a while, we're gonna stop supporting it and turn off the auth servers". People who were still using it to animate screamed. Loudly. And Adobe turned around within a day and said "uh okay well I guess we'll, uh, keep the auth servers running and, uh, maintain a skeleton team to fix bugs for a while".
One month after that, some dude made a post on Newgrounds - one of the major online centers for Flash stuff, both during the 2000's boom and the modern day - about his clone of the Flash editor, that he claims is capable of reading Flash source files. And here we are.
tl;dr: pretty much yes except it was always an animation tool from the very first days
One may say "but but but HTML5!" - but many games or applications that used to exist, are mostly gone (not all but many). Flash was creative. Joecartoon was fun back in those days; the HTML version is kind of ... lifeless compared to it. Granted, a lot of the "old" internet was also different so it is hard to compare.
Threejs is a 3D graphic libary, something different. And godot web I never used but know of as a game engine, not a scriptable animation tool.
Is it targeting the web? If not then it's not going to be useful for the same things as Flash was.
> HTML5/Canvas export — Export to self-contained HTML5 with JavaScript Canvas 2D playback.
the IDE, not really. IF it were that easy, someone would have done it, because the flash IDE was a bit like vim, but for a wierd mix of visual and coding.
Like action script was object object oriented, but also kinda graph based, with time.
(Note: Quick shoutout to Dreamweaver 6.0 which was a power, WYSIWYG editor. Today, things like Pinegrow might fill the niche.)
It's death as a hugely-popular tool was largely due to Apple and Adobe. SaaS model isn't helping it far as wide adoption goes. It also got popular through piracy which hints the replacement should be profitable and widely deployed like open source.
I think this might be a good opportunity for a license like PolyForm Non-Commercial. Free users either can't commercialize their content or, like CompCert Compiler, must make the outputs GPL'd (or AGPL'd). The Flash replacement would have a fair, one-time price for unrestricted use with source or you share like they shared with you. What do you all think?
Honestly I can't understand the mental calculus that went on in the heads of Adobe execs at the time. Yes, cleaning up the ball of mud that the Flash codebase had become and making it not so battery hungry wouldn't have been an easy task, but it would've futureproofed it significantly. Instead they decided to keep tacking on new features which ended up being entirely the wrong decision.
EDIT: The constant stream of zero-days certainly didn't help things either. A rewrite would've been worthwhile if only to get a handle on that.
The bugs were definitely Adobe's fault: as with most tech companies, they were far more interested in expanding the feature set than they were on fixing the bugs and stabilizing the platform.
The first iPhone had 128Mb of RAM and a 400Mhz processor and could barely run Safari. If you scrolled to fast you would get a checkerbox while Safari was trying to catch up.
https://discussions.apple.com/thread/1732478
If it couldn’t run Safari with decent performance, how was it going to run Safari + Flash?
In fact when Flash finally did come to Android in 2010, it required a 1Ghz processor and 1GB of RAM and it barely ran then and killed the battery. An iPhone with those specs didn’t come out until 2011.
Another anecdote is that the Motorola Xoom was supposed to to be the “iPad killer” because it could show you the “real web” with Flash.
But it came out without Flash because Adobe was late. You couldn’t even see the Xoom home page on the Xoom when it was first introduced because it required Flash.
The reason it burned CPU cycles is that non-coders could make programs with it and they would produce the world's worst code doing so that "worked". The runtime itself was fine (efficiency wise, not all the other things).
Flash itself was acquired via Macromedia as well.
Adobe's business is keeping technologies billing, and while Flash had it's flaws, the world was not ready for it to depart as soon as it did, because there was not a capable replacement available.
I haven't looked in a while, but I believe there's music and audio production tools with similar approaches.
Nobody would author a kid's TV show in Flutter.
I know it doesn't export stuff or have interactive SWF things, but its whole 2D backbone is absolutely fantastic.
It's essentially just a BASIC program rotated 90 degrees on its side, full of GOTOs.
https://news.ycombinator.com/item?id=35652164
DonHopkins on April 21, 2023 | parent | context | favorite | on: Show HN: Thoughts on Flash in 2023, in Flash, in 2...
I love all the amazing inspirational open source examples of generative procedural art and artificial life that Jared Tarbell published on his web site https://web.archive.org/web/20070202025610/http://levitated.... .
It opened my eyes to using Flash for procedural graphics and simulations, instead of just using timelines like a glorified graphical player piano, or like a BASIC program full of GOTO spaghetti rotated 90 degrees counter clockwise (which is how Macromedia founder Marc Canter described Director's Lingo, which also used frame numbers like BASIC line numbers).
Jared went on to do a lot more amazing stuff in Processing, co-founded Etsy, and built a toy factory!
https://www.artnome.com/news/2020/8/24/interview-with-genera...
https://www.artnome.com/news/2018/8/8/why-love-generative-ar...
https://beyondtellerrand.com/events/dusseldorf-2018/speakers...
No, not “etc”. What else looks LLM-formatted about them? Because em-dashes are not enough to claim LLM.
Look, I get that you don’t care about proper typographic characters. You don’t have to, that’s fine. But many of us humans do.
https://www.gally.net/miscellaneous/hn-em-dash-user-leaderbo...
And going from “LLM-formatted lists” (without any certainty) to vibe-coded project is a huge leap.
A more robust and perhaps more vivid indicator are sentences like this: "This isn’t a proof of concept or a weekend project. It’s a real authoring environment."
"It's not X, it's Y" is an LLM tell. "It's a real Z" is another. Together? I'm going to conclude it's LLM generated to like a 90% certainty.
And as the sibling notes, the icons look like LLM SVG output. They're more mangled than even a rushed human would do.
Again, it's fine. If I had more time I'd love to try to vibecode a Flash clone.
Look, I’m not saying this wasn’t written with an LLM. What I’m saying is that you don’t know that judging by the em-dashes alone.
Just read the first two paragraphs and there's a full stylistic whiplash. I'd bet $100 that the first paragraph was human-written and the rest were almost fully Claude.
It's kind of creepy, like a human rolling their eyes back partway through a paragraph and suddenly speaking like Microsoft Bob.
They just look like bad rushed placeholder icons. And why does that immediately scream vibe-coded?
Sure, there are occasions to write markup from scratch, but vanishingly few in my experience.
Developing the skill to recognise when you’re being one is paramount to having fruitful conversations.
Unless, of course, one just cares about sounding right, not actually understanding the conversation and reaching a truthful conclusion.