6 ms·
> Sidenote: Flash's scripting language, ActionScript is also directly responsible for the generational design of Java-ahem-ECMAScript later on, also TypeScript
by chime 8mo ago
> Sidenote: Flash's scripting language, ActionScript is also directly responsible for the generational design of Java-ahem-ECMAScript later on, also TypeScript too.
I feel like I am the only one who absolutely loved ActionScript, especially AS3. I wrote a video aggregator (chime.tv[1]) back in the day using AS3 and it was such a fun experience.
1. https://techcrunch.com/2007/06/12/chimetv-a-prettier-way-to-watch-youtube/ https://techcrunch.com/2007/06/12/chimetv-a-prettier-way-to-...
- Semaphor 8mo ago> I feel like I am the only one who absolutely loved ActionScript, I never really worked with it, but it seems whenever it comes up here or on Reddit, people who did, miss it. I think the authoring side of Flash is remembered very positively.
- lukan 8mo agoHow did you got that impression? There is the universal hate for flash because it was used for ads and had shitty security, but anyone I know who actually used AS3 loved it. At its peak, with flex builder, we also had a full blown UI Editor, where you could just add your own custom elements designed directly with flash ... and then it was all killed because Apple did not dare to open source it, or put serious efforts on their own into improving the technical base of the flash player (that had aquired lots of technical dept).
- mejutoco 8mo agoIt was also leaking memory, which made it very unsuitable for anything long running (like long-running screen displays, ask me how I know).
- noduerme 8mo agoThis is a misconception. AS3 actually had great garbage collection, and solidly written AS3 code did not leak.
- mejutoco 8mo agoFlex player leaked memory like a sieve. After one day or so it would hang the computer. Maybe it was wrongly written, but leak it did. I have experienced it first hand. Maybe it was the standalone flex player instead of the web Flash player?
- lukan 8mo agoMy memory is a bit fuzzy, do not remember flex player, did you mean AIR? (Flash for desktop, with file access)
- mejutoco 8mo agoThat was what I meant indeed.
- noduerme 8mo agoI don't know about a standalone Flex player, I don't think such a thing existed. Maybe you mean standalone Flash player. I didn't use Flex components. I coded in pure AS3. I had critical business code that ran nonstop for years on end in AIR on dozens of deployments without memory leaks. Again, I think that badly written AS3 code (or bad components) could definitely take down a player fairly quickly. Garbage collection required you to track and clean up weak references, but it's the same thing in Javascript. You had to know the lifecycle of your components and what you were doing.
- mejutoco 8mo agoIt is possible I was holding it wrong. I do not doubt your experience, but it was very easy to write things that leaked memory in Flash, and it was impossible to remove those leaks sometimes. I was part of a project where a lot of effort went into removing references etc and it was still not working. We had to have 2 instances restarting each other. It was a mess. Maybe we can agree those were "bad components". I blame the runtime. The quality of the code was good. It was not normal. A few sources of people complaining about the same, some from hn with the same solution I had to adopt, some from CVE, some from users: - https://community.adobe.com/questions-638/flash-player-23-24-memory-leaks-712700 https://community.adobe.com/questions-638/flash-player-23-24... - https://advisories.checkpoint.com/defense/advisories/public/2015/cpai-2015-0664.html/ https://advisories.checkpoint.com/defense/advisories/public/... - https://news.ycombinator.com/item?id=45813026 https://news.ycombinator.com/item?id=45813026 > The memory leaks were so bad that Adobe advised us to just restart the app periodically - https://blog.gskinner.com/archives/2005/10/major_flash_pla.html https://blog.gskinner.com/archives/2005/10/major_flash_pla.h... - https://support.mozilla.org/bm/questions/931671 https://support.mozilla.org/bm/questions/931671
- as1mov 8mo ago> There is the universal hate for flash because it was used for ads and had shitty security That's only one side of it. Flash was the precursor to the indie/mobile gamedev industry we have today (Newgrounds, Miniclip, Armor Games), before smartphones become ubiquitous. Not to mention some rather creative websites, albeit at the cost of accessibility . Flash's only fault was it's creators were gobbled up by Adobe, who left it in the shitter and ignored the complaints people had about it's security issues.
- tptacek 8mo agoIt was by design very difficult to secure.
- lukan 8mo agoYou mean intentionally? I think they just had the focus on features and speed and fps. Not security nor efficency (battery life).
- tptacek 8mo agoNot intentionally, but it's one of a couple 90s designs (PDF is another one) that turned out to be goliath security problems just architecturally.
- mike_hearn 8mo agoArguably, so is the web. A long series of extremely complicated and constantly changing data formats that are nightmarishly difficult to parse, which has to be done in C++ for speed reasons, combined with a full scripting language, which has to be JIT compiled for speed reasons, combined with 30 years of legacy and a security model that was completely ad hoc and more discovered than designed (e.g. the different variants of the same origin policy). Take that and add on top a browser community that doesn't philosophically recognize any limits on what the web is meant to do, so it just keeps getting more and more APIs until one day both Mozilla and the Chrome team decided to just stop pretending and build full blown operating systems on top of them. I don't think Flash was harder to secure than HTML itself. People just gave up trying because browser vendors used security to purge the web of anything they didn't control.
- simonh 8mo agoAdobe, not Apple.
- Someone 8mo ago> and then it was all killed because Apple did not dare to open source it Did you or, more likely, your phone mistype Adobe? I don’t think Apple ever had the rights to the source or even the source, did they?
- lukan 8mo agoYes, Adobe of course.
- noduerme 8mo agoI'm in a terrible situation right now where I promised a client a fairly simple web-based game, to be delivered in pixijs. Pixi is great for what it does, and as an old time Flash game coder, I find it mostly does enough for procedural stuff, although it's got its share of quirks, gotchas, bugs and memory leaks. What I didn't think about was how to get prefab vector animations into this game - not sprite sheets, but cut scenes that I wanted to be essentially animated SVGs. So I started to go the Adobe Animate route and found to my horror that it's basically Flash stripped of all its useful tools and riddled with bugs; there's no good way to import those animations as vectors or even as bitmaps into Pixi. Animate's exporter still runs on EaselJS code from 2015 and just spits out badly formed json files that misrepresent the tweens. Worse still, it can't even pack textures correctly or consistently. It appears to size them at random based on what size they are in some random frame. And it crashes anytime it tries to pack a texture large enough to be useful. It's not an understatement to say that Flash 7 or 8, in the early 2000s, was far more advanced and powerful. So what would have taken a day or two back when Flash was available is now taking a week of hand-writing tweens and animations in raw Typescript, one layer at a time. Since I happened to write the first canvas-based interactive screen graph code that Grant Skinner partially ripped off to create EaselJS, and since I'm sure he's making a fine living from Adobe licensing it, it's especially galling that I'm still paying for a CC license and this is what I get when I want to use a GUI to make some animations to drop into a game. It's the first time I've done a 2D game since 2017, and I had over a decade of experience building games in Flash/AIR before that. It's just mind-blowing how stupid and regressed Adobe's tooling has become in the past few years, and how much harder it is to do simple things that we took for granted in the heyday of Flash authoring. There really is still no equivalent workflow or even anything close. I guess that post-Flash, there aren't enough people making this kind of web game content for there to be a solid route without using Unity or something.
- lukan 8mo agoYes, I know what you mean. I gave up on Adobe Animate. Pixi is great for anything that is a texture, then it is really fast. Otherwise it is not a flash replacement. I do not use it for vector animations, but spritesheets or a webm video overlay is what I would use in your case.
- ayewo 8mo ago> ... and then it was all killed because Apple did not dare to open source it, or put serious efforts on their own into improving the technical base of the flash player (that had aquired lots of technical dept). IIRC, they couldn't open source Flash due to its use of a number of 3rd party C/C++ libraries that were proprietary. Adobe's license with these 3rd parties permitted binary-only distribution so it would have meant renegotiating a fresh license (and paying out $$$) for an EOL codebase that had enormous technical debt, as you also acknowledge in your last sentence.
- arthens 8mo agoMy experience with AS3 is limited to a single project ~18 years ago, but I still remember it with fondness. No other language ever got close to how much I liked AS3.
- nitwit-se 8mo agoNot the only one. I have great memories from many years spent building real products in AS3 - some of them even had users! For a while RIM/Blackberry was using Adobe Air - on the Playbook and also the built-in app suite in the lead up to the launch of BB10. The latter never saw the light of day though, a late decision was made to replace all of the built-in apps with Qt/Cascades equivalents (if I remember right this was due largely to memory requirements of the Air apps).