You can set up a video chat lecture with text chat and pretty good video with the free red5 java server and something like Avchat.com . That's 20 year old tech and works today, but will be removed from the net in a year. There is no HTML5 alternative. Why?
I think Tech took a weird turn somewhere around 2010. Things became more homogeneous, designes became bland without rough edges, literally with rounded corners. Options were removed, defaults became simpler and dumber. Dev tools are more about saving programmers from themselves rather than pushing things to the limit. Flash is probably an example of it
Unity WebGL is definitely close to where Flash was. If anything WASM adoption is growing, it’s a respected standard. Once there is multi threading, heap expansion and streaming instanciation in iOS ... I’m going to guess 15, or 4 years from now, it’ll be the true spirit of Flash.
I’m not sure about a “dumber” design discipline though. Really it’s Windows developers being left behind, for a while now.
What we had 20 years ago was an insecurable proprietary plugin for web browsers. It wasn't standard, nobody could audit it, it was just a corporate product.
And where we are at now, where Macromedia got bought and Adobe slowly drained its lifeblood and killed its products, is what happens when you try to build systems on top of holistically proprietary foundations. Nobody owes you their enduring survival and you are totally dependent on whoever owns the platform to give you their blessing.
Its a lesson Apple developers often love waxing poetic all over the front page of HN about on the regular.
I'm not familiar with red5 but it seems that webRTC does a decent job on video and text chat with the browser doing the heavy lifting in terms of encryption and permissions. Am I missing something?
You can set up red5 in a few minutes, at most hours. Replicating a similar setup with something like Janus is a lot more complicated, and there is no HTML5 equivalent
Plus webrtc is proving to be a resource hog every time, and a lot more complicated to set up in an app (separate media / data stream etc). flash/red5 works literally out of the package.
that misses the point. If its slow and laggy, user is not going to use it and laptops are going to become portable heaters. This is exactly what webRTC does
> obviously it's going to improve over time
When? webrtc is like 10 years old. How long we have to wait to go back to 1999?
Well, 8 from initial release. 18 months from first stable release.
Far as I understand it, lag and overheating are hardware/network problems. Considering the amount of development going into both of them, that situation is only going to improve but of course I don't have a roadmap.
FWIW I haven't noticed problems with either and I don't have a mind blowing setup.
I look at what browsers are doing now compared to 1999, there's no way I'd want to go back
I threw up a livestreaming setup + chat with nginx-rtmp-module, Prosody, Converse.JS and a few lines of javascript in a weekend. I'm not really sure what you're talking about tbh.
i tried converse.js but it hard to integrate in existing userbase, and being xmpp it is introducing unnecessary complication (don't need the pesky @ adresses, groups were impossible to integrate). have not used nginx-rmpt so i dont know how it scales with connections. converse seems to be set up for specific use cases and not very flexible.
> 2010. ... homogeneous ... bland without rough edges, literally with rounded corners. Options were removed, defaults became simpler and dumber.
This is the result of web devs targeting smart phones. They've made the web suck bending over backwards for the limited abilities of phones to act as computers in both the UI and network sense.
Removing Flash from the web was done with good intentions. It was a propitiatory system plagued with security holes. Instead of replacing it with similarly capable open standards, we've got a propitiatory Encrypted Media Extensions (EME), flaky HTML5 calls that differ between browsers, and webassembly.
It's a shame that HTML5 never really reached the ability of flash. And it's also a shame that Adobe didn't simply release the swf spec.
IMO, nothing. What HTML 5 (and more specifically, canvas+js) are lacking is a complete timeframe-based IDE.
I personally find that mode of development distasteful, and I don’t share the author’s affection for this particular breed of "creativity," but anyway it was there and some folks liked it and there’s a real opportunity for someone who wants to reimagine it.
I do not have experience with pure Flash but with Flex4 that is a powerful GUI for applications. I can share here what I miss from those days:
- you had types, performance was important so you had generic types like Vector , the code was compiled and it was really fast
- there were built-in efficient GUI widgets, you could have a list or table connected to a data provider with tousends of items but the components were smart and only created enough UI widgets as needed to render, where in HTML you either have to create a LI element for all your 10000 elements, create pagination(is not built in), create infinite scrolling(not built-in)
- it was super easy to customize or extend the provided things if you needed , as an example in HTML look at the <select> it is not customizable, everyone has to implement it's own using divs, css and js , but everyone gets it wrong in the corner case(you have issues where the dropdown pops outside the screen, missing events, hell even youtube search box sometimes breaks and the dropdown popup remains stuck open, so even Google engineerscan't create a working dropdown component
- performance, remember when a blinking cursor was causing an electron editor to use a lot of resources , the issue with web is that was designed in rush for showing documents.
- layouting components was super easy , theming was easy - with css in large old projects there are so many issues( I know people use less but this is not standard )
I have some solutions too, browsers need to provide more powerful components, if we want to do RIAs or desktop apps then we need the same components that desktop toolkits offer with the same customization. Other issue I seen was in a project where the devs ahd to import a third party library because the scrollbars can't be themed in all browsers , I am not refering to the right side of the browser ones(I know sme people hate if you change those) but scrollbars on a list or dropdown component. So you have projects where you import 1 lib for scrollbars, 1 lib for modals, 1 for fancy buttons and inputs, 1 for drag and drop, 1 for calendar widgets, 1 for dropdown that allows you to have icon + text, and of course a framework like angular or react . Browsers should check what developers need the most and add that as standard( ex better dropdowns) you would still have the ability to make your own shit and use your preferred framework
Low barrier to entry, cross browser compatible, multimedia websites.
Someone with artistic talent could quickly learn flash and get something bizarre working very quickly. Drop the minimally skilled into a modern development environment and novelty is much harder. 95% of the time that’s probably a good thing, but it sucked a lot of the fun out of the internet.
When flash was dominant there was an abundance of vector animations. There isn’t a technical reason this couldn’t still be the case, however we’re in the graphics dark ages right now. Everything is a raster. Everything that isn’t is static or on a very light fixed loop that takes an absurd amount of resources to animate.
Tooling. I don't think anything fully replaced it. OTOH, while not web things per se, I think Twine, Unity and RPG Maker scratch similar itches for many (but definitely not all) people potentially interested.
Nothing, of course. Anything that could be done with Flash in its heyday can be done better (in several senses) with modern tools.
But that’s not what we’re talking about, is it? We can ask what’s actually being done in web design these days… and who’s doing it. If you’re old enough to remember the period from the late ’90s to the mid aughts, think about your friends who were putting all kinds of wacky, creative pages on the web. Picture that personality type. What place does it have in the universe of websites that we visit today?
The answer, as far as I’ve seen: user. We spend time on a smaller number of sites/platforms. The design of those sites tends to be (at its best) streamlined and optimized. And people who want to share their creativity are given little frames within that structure.
Even personal websites are usually built through WordPress, Squarespace, or similar. Something has been lost. I’m not going to say things are worse nowadays. That would be too sweeping a judgment, even if I substantially agreed with it, and I think I don’t. But I get this weird feeling when I spend time online, like it’s a tree that died some time ago, but it’s being reinforced, made to stand straighter than ever, given artificial leaves that never turn, etc.
> can be done better (in several senses) with modern tools.
contestable. html5 games can be choppy in ways flash was not. even streaming video was pretty fast, comparing it to something like webrtc multi-party video. Hell even basic text-based chat like slack is a resource hog in html.
Talking about this to certain devs is like talking to them about sports. They just don't get the learning curve was the most accessable for the average user, not just those who know how to program.
We know there are better technologies security wise and performance wise. It's not always about what is 'technically' better rather than something that people enjoyed using and opened the door to creative personalities for the web. There is a time and a place for both and I think there has been neglect for the other side of the brain.
The important bits of Flash were not so much the capabilities of the player but the tooling to be creative. Flash found so many niches from animation, games, applications, being embedded for UI rendering and on because it provided an agnostic tool to make all these things in, really easily.
In terms of capabilities though there was much less worry about compatibility.
animated vector graphics? Browsers only have data-intensive pixel graphics codecs. Also, the vector graphics support that they do have is pretty limited and slow. Anyways, I'm glad that flash is dead, because it was proprietary software and constant source for security bugs.
ensuring that the user sees the exact same thing on any browser / operating system combination ?
Just the font rendering differences between windows / mac make it impossible to create text that is supposed to fit perfectly in a given box because hinting differences may mean that you are a few pixels longer which can change the layout of a paragraph, etc...
with flash, there is only one single way things look across all platforms.
A consistent display was a nice thing to count on when making little games, applets and ads. However for general web layout it made accessibility features difficult to impossible to implement.
I'd also add that behaviour wasn't always consistent. There would still be OS/environment specific bugs that would crop up from time to time. (Though granted, these would rarely be related to rendering or layout)
Flash made a lot of things related to vector graphics more accessible. The vector engine was quite powerful, although lacking proper hardware support, it was quite CPU hungry.
Still, I don't think we have an adequate replacement, even it would be technically possible, I don't know about similar tools for vector animations..
I feel like you can do pretty much everything with HTML5 and JavaScript that you could with Flash and ActionScript. The IDE for Flash had some nice UI abstractions but there's no reason that couldn't happen in a web IDE in 2019.
Distributing your website like a flash file/app as a binary is one missing feature I suppose?
As consumers, most people probably only care about what modern browsers can do. As a developer, the mechanisms become front and center. Modern web development is a Rube Goldberg kluge of things glued together with duct tape. Flash was much more coherent and imposed less cognitive burden of tying it altogether.
Not just NPM - the "web" is a diverse set of APIs with various peculiarities. It's not inviting to an artist with little to no programming experience (and even with the potential to learn). That was the advantage/disadvantage of flash - closed system, one (major) IDE, one language/standard library.
I'd need to see some performance metrics to come to that conclusion. "Bloated Flash site loading with a progress indicator for a few seconds" was pretty common and a huge complaint about Flash and its use on the web.
I wasn’t a big Flash user back in the day but I think our product Construct 3 (https://www.construct.net) can do just about everything Flash did, especially with the addition of the Timeline editor and scripting we’ve just added. I’m a little hesitant to overtly market Construct as the “next flash” as that I think would receive a mixed reception depending on your experiences with it!
Tom Fulp from Newgrounds has nice things to say about Construct, and we’re getting very positive numbers from other portals and platforms (some very big) that a lot of volume of games and good quality ones at that are being published with them using Construct 3.
I’d like to hear from more experienced Flash users if there’s anything Construct 3 can’t do that Flash could as it would likely be an important feature we’d be keen to add!
With the timelines editor theoretically yes, although there's no good easy way to export in a single shareable file (some technical hurdles). Definitely something it's lacking right now.
It needs to be able to name a platform, media type, IDE, all at once. E.g., "I'm going to use Flash", "It's a Flash game", "Hold on, let me animate it in Flash". The name should be able to go in domain names; e.g., "superfunflashgames.com".
Basically, it has to have a name amiable to becoming an umbrella term. That gave Flash such a "universal" connotation.
I hope this makes sense - trying to convey the _peculiarities_ of "Flash" which made it (as I see it) successfull and distinct in character.
Flash was fundamentally just a file format. You made the format using the program in the same way you make a Photoshop file in Photoshop. It was a noun and a verb because you make thing and both the part that makes and the part made are called the same.
Due to the nature of present browser APIs you cannot name your editor WebGL or something that produces WebGL. But if you made an editor called Sparkle or something that produced .sparkle files that had native browser support you would have the same nomenclature going on. But native browser integration and containerized file formats with external editors aren't a well made match.
A game development camp I used to teach at here in Austin, Game World's, uses Construct and it is a fantastic tool that's readily accessible, even to children. Once you get them going with game design concepts, they can really knock out a solid game within a week. I think it's a fantastic platform and seems comparable to flash in ease of use.
Note they are nitpicking spelling (propitiatory vs proprietary) not discussing the topic. It took me a second to realize as well but to be fair you should have noticed if you read their link before responding.
Is there really a way to do DRM that doesn't involve proprietary pieces somewhere along the way?
I think the modern browser is technologically superior to what and how Flash did things (with the exception of native sockets, which is probably for the better). It's really everyone using Adobe's content creation tools (which were well integrated/designed) that made things so low friction.
It took a long time for the browser technologies to catch up but I wonder if in the end it integrates as one system better than bolting on an open flash spec would have been.
>It's really everyone using Adobe's content creation tools (which were well integrated/designed) that made things so low friction.
I really feel like flash's heyday was before adobe bought it up. Most of the best flash sites, newgrounds and stuff were more active and had tons of content while Macromedia still owned flash.
Do you think we really need DRM, though? I've been using the web without it for a while, and I just boycott sites or services that require it.
More to the point, I think that the current DRM scheme is inherently and completely broken. I could use it and let websites pretend it's useful, but it's not worth the increased quantity of proprietary code to me.
I don't like DRM myself but there are a very large number of users that like to use services which wouldn't stream content otherwise. Just like any protection mechanism it doesn't have to be perfectly impossible to break to provide value to someone.
The nice thing about the way EME was implemented is if you aren't one of those users you can simply disable Widevine or (if you prefer to not even have proprietary code on your computer) use a build that doesn't include it.
DRM does exactly what it was meant to do: remove rights from the folks who play by the rules.
The public premise that DRM is about stopping "piracy" was always a lie. Obviously, it can't do that. In fact, DRM encourages piracy by reducing the value of non-pirated versions of things.
DRM exists to control and manipulate regular, honest customers, such as making them watch ads or to pay over and over for different copies of the same thing even when they actually have the legal right to make copies for their own use.
Yes, because enough content hosts absolutely refuse to make their content available without DRM, and enough users are willing to switch browsers to one that will show that content, that even Mozilla finally gave in after years of fighting against it. In the end they were afraid that they'd lose enough users that they wouldn't be able to continue the project any more. https://hacks.mozilla.org/2014/05/reconciling-mozillas-missi...
>I think the modern browser is technologically superior to what and how Flash did things
Depends on what you mean by superior. There are still things Flash could do and modern “open web” can’t, determining keyboard state (caps lock state and current input language) is one example.
This comment is pretty misleading. The parts you complain about have little to do with what made Flash a creative sandbox. The parts that do matter have long been replaced with Canvas/WebGL. But the web as a whole has changed. Just like we don't have as many fun quirky geocities-like websites. The issue isn't the lack of Flash, it's that the web as a whole has grown up and changed.
Canvas/WebGL may replace Flash to end users. I'm not aware of creator tools that allow people to put things together as easily as they could using Flash.
Literally everything about animate.
It is hugely bloated and awful to use and crash prone. It takes upwards of 30 seconds to save a file. It has two different kinds of tween to support backwards compatibility. And the "HTML" export is a garbage fire.
Flash used a form of vector graphics that were incompatible with svgs.
Adobe has been trying to maintain backwards compatibility with flash (because most studios were still using the last version macromedia put out over 10 years ago) So adobe animate was always doomed to try and please everyone and end up pissing everyone off.
It's also nowhere near as easy to distribute these games compared to Flash. All you needed with Flash was the swf and as long as you had a flash player then it would work.
What? Everyone these days has a browser. How is it more difficult to share a web game than sharing a flash game? IF anything, back then you often had to install macromedia and other plugins since they didn't always come by default on every computer.
Discovery. Discovery. Discovery.
Sure you can host it on your personal site but who is gonna find it? It has to be on a 3rd party website and that 3rd party website wants some way to monetize it (by showing ads). It's harder to manage many files than one file that a VM can run as is.
Also Flash had something like 98-99% installation base during like 2000-2010 so it was very much not a problem. Flash had a much larger market share than any one browser.
The reason discovery is down isn't because they're hard to find, it's because there's much more interesting "entertainment" on the web these days, such as Youtube, Netflix, Reddit, and other time sinks. Back in the days, Flash games and geocities were the only forms of entertainment, which is why they were so big. Nowadays, we've got amazing free content and games everywhere, which is why this kind of entertainment isn't as sought after anymore. It's not lack of discovery, it's lack of demand.
>Just like we don't have as many fun quirky geocities-like websites. The issue isn't the lack of Flash, it's that the web as a whole has grown up and changed.
We have tons of memes uploaded each day, with crude animations, that could have been 10x easier with flash...
eh, no it hasnt, and even if it did it would have nothing to do with flash. Flash was a great domain-specific tool for somthing that is significantly more cumbersome to write (and difficult to debug, and less wysiwyg) in canvas. Plus technology is supposed to move forward and 20 years is a geologic timespan in internet years. We expected to have much, much better tools by now, not a barely equivalent
Again, the issue isn't the lack of tools. It's the lack of interest. Making games is easier than ever with Unity, yet people don't spend all day playing random small Unity games. We have limited time, and as the types of entertainment increase, we have less and less to spend on small silly things like Flash games.
Back then, a Flash game was the epitome of web entertainment. Now, we have thousands of amazing Youtube videos, Netflix originals, memes, and so on. If you were to give people the same flash games now, they'd find them ridiculously lame.
Farmville and Candy Crush were literally flash games. Also many genres like physics games were born from flash.
On Unity I agree. It's never going to have 50kb games that download and start instantly. It's also not particularly easy or good for working with 2D games. I've used both professionally.
But it gets really pedantic arguing the semantics of web flash - fundamentally it was only showing on a web page because you installed the browser plugin or it. Today browsers might have stopped supporting arbitrary library plugins like that but now you can write them in webassembly for the same ends. Its just that nobody has actually gone and done it yet.
Except no one plays Farmville anymore, and as Candycrush implied, most flash games were replaced by mobile games. My point was that people are finding their entertainment elsewhere (mobile, youtube, reddit), which is the real cause of Flash's demise (and similar content).
Unity impose hardware constraints that are difficult to overcome in poorer places too. I have an old Dell at home and I won't even try to install Unity on it because it struggles to Windows 10. It's a perfect fine machine for coding with a simple Linux distro.
Flash died because of Apple, and before Adboe bought Macromedia, it was an incredibly small runtime; way better than Java at very specific forms of 3D rendering. Old Flash can be upscaled to 4k. A youtube video is pre-rendered and stuck at that resolution forever.
"Flash died with good intentions" is false. Flash died because it was the perfect tool for making mobile content, if not for the fact that it was sluggish on early iphone hardware. If Apple worked with Adobe to optimize flash for mobile, it would still be alive and well today. Instead Jobs decided business wise he could lock devs into developing native apps in the iOS ecosystem, scapegoat performance and security for the ban, and gain a competitive advantage at the same time.
Flash performance was always terrible on all platforms. It span up the CPU on my windows computer from the beginning and never stopped until its eventual demise.
That's from bad programming practices. It was very easy to write a terrible inefficient program with it since it was so accessible. There was nothing inherent in Flash that used a lot of CPU. The VM was pretty light weight. It also had only a software renderer for most of its lifetime which would naturally struggle with lots of crazy overlapping effects.
HTML5 video had significantly better performance in terms of CPU from the beginning, and I'm fairly certain the Flash video players weren't written by amateur programmers with bad programming practices.
> If Apple worked with Adobe to optimize flash for mobile, it would still be alive and well today.
Why is it on Apple to save Adobe’a software? Why not Microsoft, BlackBerry, Google ... or Adobe?
> Instead Jobs decided business wise he could lock devs into developing native apps in the iOS ecosystem
iPhoneOS lacked support for Flash long before it had a native SDK. Jobs decided the answer was HTML, which is exactly the opposite of a locked-in ecosystem.
Why are you rewriting history? Apple didn't just decide not to embrace Flash, they actively decided to kill it. Apple banned flash based apps in their review guidelines and Adobe didn't see a way forward since Job's had decided everything but native apps were to be purged from the app store. Html 5 isn't a replacement for what flash offered, it wasn't then and it isn't now.
Here is the Jobs quote from when this happened: "He takes a while to get there, but eventually he puts the notion into a nutshell. "Flash is a cross platform development tool," he says. "It is not Adobe’s goal to help developers write the best iPhone, iPod and iPad apps. It is their goal to help developers write cross platform apps.""
""Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs"
You seem to be doing a little re-writing of history yourself right here:
> Instead Jobs decided business wise he could lock devs into developing native apps in the iOS ecosystem, scapegoat performance and security for the ban, and gain a competitive advantage at the same time
Steve Jobs never even envisioned the App Store model when he decided against supporting Flash in Safari.
>... prior to its unveiling in 2007, Apple's then-CEO Steve Jobs did not intend to let third-party developers build native apps for iOS, instead directing them to make web applications for the Safari web browser. However, backlash from developers prompted the company to reconsider, with Jobs announcing in October 2007 that Apple would have a software development kit available for developers by February 2008
Interesting tidbit: Apple was actually trying to work with Adobe to iron out Flash's security problems but was rebuffed.
Anyways, the fact is, the App Store was actually an afterthought.... An accident of history that even Steve didn't see coming. The decision to forego Flash came way before that.
I'm referring to were jobs went on a 1600 word rant about flash while not once mentioning the shortcomings of his own objective-c authoring environments and the many good things about flash that lead to the enormous community it had.
https://www.apple.com/hotnews/thoughts-on-flash/
This combined with updated app review guidelines banning flash on iOS accelerated the adoption of html5.
Afterthought or not, apps quickly became the biggest selling point of smartphones from the second gen onward and many technical architecture decisions had the intended effect of locking developers in. Ports to android were often delayed by months and years if they happened at all.
You accused someone of "trying to rewrite history", when what they said was factually correct.
It's also been established that Apple tried to work with Adobe on addressing the issues it saw with Flash but was rebuffed.
The issue of Apple forbidding non-native code is one I disagreed with but has many layers and complexities. It's not nearly as simple as your implication that Jobs seemingly woke up one day and decided to kill Flash for no good reason.
> rant about flash while not once mentioning the shortcomings of his own objective-c authoring environments and the many good things about flash that lead to the enormous community it had
I'm just going to re-phrase what the poster above said - Why is it on Apple to evangelize Adobe's software (and criticize it's own)? That just doesn't make any sense.
In case you missed it, he was discussing Flash in the context of a mobile device. There is simply nothing positive to say about it. Nothing.
Everything he did mention, from power consumption to terrible security and poor usability has since been proven true. I don't know of a single reputable technologist, or tech journalist, who would dispute that. Do you?
Here's a write up of why Flash failed on Android. Notice any familiar themes?
I can tell you've never used the flash authoring tool or you wouldn't be making snarky remarks about this. Nobody is disputing that the runtime had problems and it was never good enough for prime-time on mobile on older devices. But a blanket ban on Flash was anti-competitive behavior that means Adobe never got the chance to prove it could work.
>Adobe never got the chance to prove it could work
Wait, what? They had years to demonstrate it working well on Android. They failed. Spectacularly. Why are you ignoring widely accepted fact of tech history? Are you implying that is also Apple's fault?
Look, if you want to discuss Apple being anti-competitive I'm all ears. I more or less agree. But using Flash as an example does nothing to help your argument. That's because everything Apple claimed about why Flash wouldn't work on mobile was later proven to be true. Everything.
Flash on Android was a disaster. Ignoring that fact to claim it could have worked on iOS (because... magic?) is nothing but revisionist anti-Apple zealotry.
Never let facts get in the way of a good Apple-bashing I guess.
>... prior to its unveiling in 2007, Apple's then-CEO Steve Jobs did not intend to let third-party developers build native apps for iOS, instead directing them to make web applications for the Safari web browser. However, backlash from developers prompted the company to reconsider, with Jobs announcing in October 2007 that Apple would have a software development kit available for developers by February 2008
Let me translate that:
Steve Jobs did not intend to let anyone else profit from iOS, instead directing them to make web applications for the Safari web browser that would provide subpar experience.
They released a publicly accessible SDK in less than 4 months? And you believe it wasn't in their plan at all to allow anyone else to develop on it? They clearly planned to have a way to sideload app on it. Itunes already existed since 2001, it wasn't anything new for them. The only things they decided to change was to allow everyone to access it.
Flash would have been a way to allow everyone to access much more powerful feature. This is why they avoided it. The app store was an alternative that allowed them to keep control of it.
I hear this a lot, but where was the Android or BlackBerry or Windows phone that ran Flash acceptably fast, and without weekly security holes?
Mobile killed Flash. It was a poorly implemented technology which was acceptable only during the era where electric power was unlimited, and people were in the habit of frequent reboots to update their OS anyway.
It's worth noting that the Flash platform originated on mobile devices, and pivoted to a Netscape Plugin when the mobile market proved to be premature (early nineties).
For those of you half-considering building a Flash player replacement, I suspect the majority of Flash content (especially pre-AS3) can run performantly on modern mobile browsers with a canvas Context2D shim. Maybe even on 2010-era mobile devices.
Windows CE and Ipaq. I created mobile tour apps for museums like the Louvre, LA County Museum, SFMOMA and the Whitney that successfully served tens of thousands of people daily in the mid/late 2000s.
Except that it can. Youtube lets producers (channels) post polls, let's consumers (viewers) post comments, and if channels want to, they can do something interactive- over a video series & etc.
Youtube has no interactivity within videos. There used to be a little bit of it with annotations, but those were killed off ages ago.
Compare that to Flash video series like Homestar Runner, every episode had little Easter eggs where you could click on background characters to unlock a bonus scene about them. It really helped you feel engaged with the medium in a way unmatched by anything but full-length video games.
Hehe. Not really. Jobs may have put one nail in the coffin, but Adobe killed flash. And flash was already dying because of abusive ads and HTML5 before Apple said anything. Here’s one of the Flash developers backing that up: https://m.slashdot.org/story/324267
Can confirm. I was doing flash game development when flash "died." One of the guys I worked with created the Flex compiler. He told me Adobe had a seriously bad combination of brain drain and code ossification. The motto on the flash team was "don't break the internet."
For years, they were terrified of making any changes, especially ones that might break backward compatibility. This lack of ability to change anything meant their brightest never stuck around very long. This only made those who were left even more terrified to make any changes because the institutional knowledge was gone. It's a vicious cycle.
By the time they realized they had to make serious changes and started work on stage3d, they didn't have the expertise necessary to pull it off.
> For years, they were terrified of making any changes, especially ones that might break backward compatibility. This lack of ability to change anything meant their brightest never stuck around very long. This only made those who were left even more terrified to make any changes because the institutional knowledge was gone. It's a vicious cycle.
That's an interesting comment. I actually wonder whether this eventually happens for any successful product. At the end this gives competitors a chance to surpass the product. So it's definitely a cycle.
It happens to a lot of successful products over time, but it's not inevitable by any means. It's possible to make software that is viable long term. But, there are many ugly realities regarding the current state of Corporate America that encourages this cycle.
For example, the fact that most engineers need to job hop in order to get promotions and raises. That makes it nearly impossible to build up long term institutional knowledge at any one company.
Another example: everyone in a publicly held company, from the rank and file programmers to the CEO, are rewarded for short term sales at the expense of long term stability. We had a thread here not too long ago[0] about how being a "maintenance engineer" was career suicide.
Sure it didn't make much sense in the HTML5 world, but if Adobe hadn't killed the upcoming new version of the language and engine (I think it was called Flash Next) it would have been an amazing tool for making apps and games.
There were a number of tools that compiled to swf.
It sucks that Adobe never opened the Flash Player. That was it’s death nail. They had little to gain from it. It was free. The money maker was Flash Studio and other Macromedia tools.
If Adobe had opened Flash and had a sane security Sandbox it would have survived iOS. Adobe was like the old Microsoft though. They just didn’t get the power of Open Source.
I was never a Flash developer, but I certainly admired it in its prime. The early versions could be installed simply by putting a 47kb DLL in the plugins directory, and in a time well before the HTML canvas or JavaScript with good performance, this brought dead web pages to life in a way that was very portable across browsers and operating systems. It was much better (lighter, simpler, quicker to load) than Java applets from the mid 90s.
It's easy to imagine the various security vulnerabilities could have been fixed by a more responsible/responsive company, and the abuse by advertisement companies should've been solvable with an ad blocker.
JavaScript, CSS, and HTML have come a long way in capability, but the mashup is much more distasteful to me. Flash was elegant despite its frequent misuse.
Something that's not easy to appreciate about Flash if you weren't there is that it is the first tool that really put multimedia interactivity within reach of non-devs -- and, almost gratuitously, made it dirt simple to distribute your creation at the same time.
A tech-savvy artist, who would previously have needed a handful of devs and a publishing company to get a fun toy to a few hundred users, could suddenly build and send something around the world in a week. No wonder it uncovered so many creative projects waiting to happen!!
As someone who wrote a complete 3d modeller for a game, including animation, even before 3dsmax was a thing, I was surprised when a few years later (10+) I saw how easy the Flash UI was to understand, especially the way keyfames were added. The UX was rather extraordinary. Unfortunately even at that time (early iPhone) because Flash was so synonymous with security flaws, I would regularly uninstall it. Since then, I've yet to see a solution that's as easy to use and doesn't have some kind of vendor lock in (like Flash did). Maybe I haven't looked hard enough tho.
As much as I personally disliked the artistic Flash- only sites at the time, hindsight shows that they were rather invaluable. We lost a lot of diversity when Apple killed it off.
I had a formative experience with Flash as a middle schooler. I loved Albino Blacksheep, Newgrounds, etc. I thought the videos were hilarious and the stick-figure-style animation was approachable. So I acquired Flash, and I was blown away by how easy it was to create these silly animations. Automatic tweening was a miracle to me.
Since then I've done a lot of video editing with different tools, but I still think back to Macromedia Flash and how I, a child with no ability to code and no knowledge of HTML or Web tech, was able to make my imagination come to life on the screen.
I believe it's that powerful experience for novices that we're missing. I'm not sure how we should get it back.
I know a lot of early Adult Swing shows were made with Flash (I think Aqua Teen?). What are studios using today? Is there anything equivalent today that matches the power of Flash for young animators?
Isn't Flash still viable for animation studios? I thought Flash Player is what's going away, effectively killing Flash playback on the Web, but Flash itself as an animation platform continues to be a supported, actively-developed and commercially available tool.
Yes it’s still very commonly used by animators. They actually changed the name of the application to Animate but not too much has changed over the last 10 years. We still use it heavily at our studio for 2D game animation and short form animation for TV/web.
Adobe Animate is the successor to Flash's animation toolset. Animators use a number of different tools today, many that implement tweening, depending on studio needs.
Also, low or no-cost applications that are accessible to newcomers include Blender and the upcoming Procreate 5.
Lots of animators are still making indy animation, it's
just been drowned out on the major platforms due to how time consuming it is to create and it's basically not possible to monetize well outside of Anim8 now (YouTube algorithm favors frequent uploads and high video duration - not compatible with animation).
I think you have deftly described a bigger problem, as the whole industry gets more and more sophisticated and complex. The barrier for entry is so high now that I think it stifles young people's interest too quickly.
The great thing about Flash was the developer tool. Part animation studio, part simple programming IDE. It was a great balance.
Maybe there is a place in the market for framework to implement a flash-a-like in a HTML5 Canvas?
It's called OpenFL[1] and it is exactly that! Supports canvas and WebGL, as well as a whole bunch of native targets too. This is a reimplementation of the Flash API in the Haxe programming language.
And ruffle-rs[2] is a reimplemenation of the flash player itself in Rust. (So you'd still be using ActionScript for authoring)
The first beginner tutorial is about displaying a bitmap and starts with a terminal [1]. This is not as discoverable as Flash’s tools, which felt more like MS Paint when first opened.
...yeah there's no way the creatives we're talking about are gonna use that. There must _not_ be any command line or scripting involved for most of the population to be able to use it.
But why reinvent the wheel? I think that the key to Flash's success is in its roots as an excellent, intuitive vector graphics editor called SmartSketch. (Way easier to use than Inkscape, IMO) They added animation to compete with Macromedia Shockwave in 1995, and the rest is the well known history of corporate greed and a victim of its own success.
The Flash IDE is still around, however (https://www.adobe.com/products/animate.html), but Adobe's giving it up at the end of 2020 :( I can only hope that they open source it.
Anyway, Flash 5 Player .swf files can be exported as standalone .exe "Projectors". For example, the IDE tutorial one (https://www.sharhon.com/files/flash5test.exe) stands at 405 KB and still runs on Windows 10 as well. Surely it would be possible to wrap _real_ Flash projectors in a WebAssembly Windows NT emulator using a drag-and-drop webpage...and let the games begin.
Adobe Flash Player, the web browser plugin, will no longer be updated in 2020.
The Flash IDE, now called Animate, continues to be developed by Adobe. They have not announced an end of life for this tool. It will still be updated after 2020. In fact, it can now export a variety of new formats other than SWF files for Flash Player, and they've been expanding the animation features quite a bit in recent years.
It's unfortunate that many people are confused about what exactly Adobe has discontinued. So many people in this thread are lamenting that this user friendly animation tool no longer exists as a starting point for new users, when in fact, it does and will still be in active development beyond 2020.
It’s worth noting that it’s no longer a user-friendly tool for making interactive experiences, though. The current version of Actionscript is working hard to be a Real Programming Language, with a lot more code to write to make anything happen. It feels like Java to AS2’s Basic, and you just can’t write stuff in AS2 any more.
(AS1 is gone too, it was something you had to write by selecting verbs in a massive dropdown, and good riddance to that.)
> So many people in this thread are lamenting that this user friendly animation tool no longer exists as a starting point for new users, when in fact, it does and will still be in active development beyond 2020.
Animate really isn't as simple to use as Flash is, and bluntly in the modern Era the CC suite is too expensive to get those young users.
I wonder if Affinity will have a go at this in the long run.
It looks kinda interesting but the apparent mobile-oriented interface makes it highly unusable (and wastes a ton of screen space). The "legacy" version that used a more compact UI, menu bar and right click menus is much easier and faster to use (it took me a lot of time to figure out how to add a keyframe with the mobile-oriented interface which basically was moving my mouse over everything i thought was an interactive element to see a tooltip about what it does -- ironically this most likely wont be possible on a mobile device).
Not just young people. As in other creative arts, if the tooling is over-complex or high-friction it can simply kill the creative flow. We should aim to make things pleasant to use for experts as well as beginners. There is a great deal of philosophical resistance to this idea hiding just under the surface, driven perhaps by a sense that difficult interfaces are a test of worthiness. Consider the barrier to entry to create a 'hello world' mobile app - it seems awesomely, perversely difficult compared to the intrinsic simplicity of the task. I would argue that this is deliberate gatekeeping - if ordinary people could create content, this would threaten an awful lot of business models, including and especially the business models of people who run app stores and take a cut of the profits. Can't have the techno-serfs programming, can we?
ah yes, the famous "intrinsic simplicity" of writing, compiling, and deploying an app to an embedded device...
...perhaps you mean the countless drag-and-drop code-free frameworks that enable people to create apps without writing code? Or that a basic Swift tutorial to do just that takes about 15 minutes, including downloading Xcode? I just can't understand this confused nostalgia.
> the famous "intrinsic simplicity" of writing, compiling, and deploying an app to an embedded device.
90% of apps can be replicated as web pages, which are far, far easier to program and deploy. Frameworks do add a lot needless of complexity for little benefit. The reason is not a "test of worthiness" though - the purpose is developer lock-in and make it as much difficult as possible to switch to the competing platform. The only way to win this game is not to play
My company has been using expo for mobile development because you can build a React app and expo does all the work to make it work on Android and iOS. It's not perfect but since we're doing React for the web app, it's allowed web devs to become mobile devs with almost no additional training.
Why designing most mobile apps should be harder than slamming together VB6 form applications is something that is not entirely clear to me.
Although when people start arguing that programming a web page is easy, it really brings home how awful modern programming is, and how long it has been since there was widespread usage of really decent and simple RAD tooling.
Ironically, actual embedded devices are far easier to program, with Arduino. You type your code in a window (with all boilerplate and build system abstracted away) and click a button, and boom it's compiled and uploaded and running. This is because it was designed to be easy to use - ostensibly to teach young people, but in practice it means lots of hackers use it too.
It's not the default, but you can have that kind of experience with various toolkits for mobile devices too. I've seen workshops which kids left after an afternoon with their own simple "game" deployed to their phones.
In my experience Flutter does make getting a simple mobile app running quickly easy. It's not a drag and drop experience but the programming model is such that it doesn't take much code to get something interesting.
As an older programmer, Flutter is the closest thing I’ve felt to programming as a kid. It’s given me some hope that the JavaScript era will fade as a dark night of the programming soul. Kudos to the development team that put Flutter together.
Of all of the areas where there is legitimate gatekeeping, like with the AMA and residency limits, software is one of the worst examples you could have picked.
Software is one of those spaces where there is an incredible amount of capital invested in making things easy for the lowest common denominator.
There are so many resources for people of any age and background to learn practical skills in this field. There are summer camps where 7 year old kids learn to program.
Not exactly. Such camps certainly exist, but they're not for everyone. I was tinkering with Linux at 7, but only because I had a technical parent who put it on the family computer. I'd say the important part here was that I wasn't given a coding bootcamp course to go through, I just got to play. Eventually, I figured out how to use single-user to re-set the root password and play as much supertux as I wanted. This probably shaped my passion for technology and "solving puzzles" of a technical nature more than anything else.
I'd say if you really want youth interested in technology, you basically need a "montessori model" for computers. I don't believe that's likely to happen in school; you need funding, which requires measurable results. There's also too much bad stuff on the internet for schools to run that risk at that scale.
There are two rough classes into which I would break "tech guys". The first is the sort who enjoys it for what it is. Shaves yaks configuring his system, tries out new languages for the heck of it, that sort. The second has a perfectly respectable career in software, and enjoys other things when he comes home at five p.m. I'm not saying one is better or worse, but at seven years of age, you'll only have the few of the first type _really_ interested. Type two will often switch to a different toy once frustrated (i.e. upon a serious bug). You can't expect everyone to derive the same level of marginal benefit from just playing with tech.
Type twos necessarily better or worse, but we don't put kids into "plumbing boot-camp" at seven expecting them to develop life-long passions. Maybe a few will, but not many. To put it another way, you'll get a lot more kids into architecture letting them play with legos free-form than handing them a kit and saying, "Build this model by following the instructions."
I had similar experiences to you and definitely fit into the yak-shaving variety (or at least I did before work destroyed my soul).
There's no question to me that early exposure and encouragement makes all the difference in educating kids. I can't understand why we're not engineering experiences in all these different fields for kids to build real stuff that can eventually turn into a trade. If you're a kid, even today, and you want to learn an adult trade young, your options are still pretty much just artist or programmer.
If there was a way to start doctors or lawyers young, maybe it'd make a difference. As a kid, I knew one girl that was a hospital volunteer, and she ended up going to Africa as an adult to try and make the world a better place by helping others. People don't realize how activities in formative years really stick with kids.
Instead of giving kids meaningful work, we're raising a generation that's going to be great at self-promotion and fortnite.
There is a way to start children young to become lawyers and doctors. Lawyers need perfect English. Doctors need perfect English and biology.
Our entire school system is wrong. :)
I am working on it. We force parents to go to school and that is wrong.
The key to rapid education is teaching the correct subjects. All science is functionally math. Physics is math and chemistry is math. Music is math. All written homework is functionally English. Art is functionally understanding of light and shadows, which is best taught through photography. Photography decouples ability to render (drawing) from ability to compose. Until the child is fluent at algebra and written English, teaching other subjects except for athletics relies on the child's innate talent or, more likely, their parents.
There's _at least_ one more critical component you're missing, logic and analysis. It will also be harder to keep a pupil's attention on two subjects for half a day than on a multitude of subjects for forty-five minutes apiece. After three hours being lectured on the same subject, I would get tired even in college; how do you plan to force eight-year-olds to pay attention in such a manner?
In other words, you cannot swap all time for study of english and mathematics and expect to simply achieve twice as much in english and mathematics.
> The first is the sort who enjoys it for what it is. Shaves yaks configuring his system, tries out new languages for the heck of it, that sort. The second has a perfectly respectable career in software, and enjoys other things when he comes home at five p.m.
I have found out that these are not in opposition at all. In fact, workplace that holds you in 80 hours a week largely prevents trying out new tech. People dont stay long because trying out new toys. If they do, then they are being dishonest with employer, honestly. They stay long because of stress, pressure, disorganization, etc.
The conflation of the two really not logical, it does not even makes sense. Why cant you go home at 5 and "try out new languages for the heck of it" wherever you feel like? Should you even try out that new language production project? (you should not)
You're misinterpreting the OP, he's saying that some people do non computer things after 5, not that they work 80 hour weeks. And it's not really the time spent, it's the intellectual approach to computing, where tinkering is an end in itself, vs a more transactional approach.
>Software is one of those spaces where there is an incredible amount of capital invested in making things easy for the lowest common denominator.
This is true for _education_, however the design of the tooling itself, as well as the purely code-based interface with which we like to rely on (no WYSIWYG or visual creative tools) is what makes it creatively difficult
Compare the experience of making some HTML5 canvas game to making a song in modern day DAWs. In the latter there has been so much investment into improving the workflow and the quality of the software to make the creative experience smoother. In programming, almost no effort is put into the creative experience, outside of niche fantasy terminals (e.g. PICO-8)
I don't think it's gatekeeping. I think it's because experts need different tools to beginners, and have louder voices when a tool doesn't meet their needs.
Consider Ruby on Rails. It was the most beginner-friendly way to create a web app when it was popular, but the very things that made it that way - opinionated design, sacrificing speed/correctness/scale by using Ruby, "batteries included", and a cultish fanbase that drew new users to it - made it the target of justified criticism from experts who wanted flexibility, type safety, speed, lightweight design, fewer CVEs, and fewer annoying fanboys. Flash came under fire for similar things: performance issues, poor UX when used in the wrong place, constant security vulnerabilities, being a proprietary standard.
These are actually good criticisms! There's no shadowy cabal who arranged feigned outrage over flash vulnerabilities, people were genuinely upset that a proprietary piece of software was turning their browser security into a sieve and stopping screenreaders from working. The criticisms just failed to ask why it was so popular with beginners anyway.
I agree with much of what you say, but I disagree that RoR was "beginner friendly". It had/has a steep learning curve.
From personal experience, and from the (continuing) weekly HN "Hiring" posts that are looking for Rails devs, Rails is popular because it allows you to build an MVP for an entire product or company over a week. It gets rid of all the distractions when it comes to assembling the perfect stack and just works. It's not perfect by far, but, like Flash, it allows you to shortcut the technical work and get right to the creative work.
Actually, if you use Processing with Android mode, it's pretty easy to create a simple app. I made something with circles falling down the screen that you have to tap and they explode in a nice satisfying particle explosion (it was mainly to test and demonstrate the surprising addictiveness of even such a simple game feature). This took about an hour, starting from a clean Processing install, including having to select and install (checkbox + button) the Android mode and writing about 50 lines of code. In all fairness, I'm already quite familiar with graphics programming with Processing, but even that is super easy, I teach it to kids starting from age 10-11 (if they're clever and curious enough).
But these kids, the clever and curious ones, they'll find this on their own too, and truly many more cool and free things to create stuff with online. A few years back, they were all over these free github student developer packs, especially the credits for a Digital Ocean droplet server, which they used to host sites, minecraft servers (IIRC) or Discord bots.
I would love to see something with a Flash-like UI. I'm not sure if there is a place for it in the middle-school market anymore, though. I'll explain why:
I think an interesting part of my experience was that it started with watching. I just loved the videos and thought they were hilarious. I admired the people who made those videos and I wanted to join that circle of creators. And Flash didn't prevent me from doing that. Not only that, but it was a specific low-effort style of animation. The path from consumer -> producer was short.
So really, I think you have to look at what people are consuming, and then try and make it easy for them to "participate." I'm not sure if people are consuming Flash-style animations anymore. (Maybe they are, and I just aged out of the demographic.)
It seems like a lot of that creative energy has moved to sandbox games like Minecraft for now, where that community of creators and would-be creators still exists, and away from animation and Web design.
That's an interesting way to look at it. I know the Minecraft era definitely had its equivalent code-related fanbase who'd make plugins and mods in Java. The age of Minecraft has also faded away though (besides the most recent Pewdiepie revival) and I'm not sure Fortnite or the other shooter games of today have a programmatic side.
Fortnite defintely doesn't AFAIK, and their nature as a multiplayer game invites competition, and therefore, cheating making it important for the developer to actually de incentivize modding. I am very disappointed that modding of famous games is going down honestly.
With Minecraft, even just watching a Youtube video and copying their build-style to make something cool is enough for a kid to learn that they can be a creator.
They realize that there's no magic; all it takes to make something nice is a little knowledge, and a lot of work.
From what I've seen of Fortnite, it promotes a different kind of creativity, which is more like creative problem solving (boxing people in, riding rockets, etc.) But it does have a sandbox mode that I've seen some interesting creations from.
I think the place of animations might also been taken by video now. Back then, there were no ubiquitous video cameras and apps around them. Now, everyone can start making and sharing video clips with overlays/music/...
Totally agree. The creativity is still there, it just shifted to the latest medium that's easily available. Nobody could make cheap quick videos back before iphones and certainly couldn't view them easily on the web until YouTube came along.
And on that point it seems that Flash helped to kill itself by accelerating ubiquitous web video.
I would love to see something with a Flash-like UI.
The 2D GUIs of many 3D games were written in Flash. There are non-Adobe Flash players which can be embedded. The advantage was the authoring tools - the GUIs could be elaborate and graphical without much effort.
It's funny, I worked so intimately with Flash in my day job that I clocked this before I even knew the tech (Scaleform?) existed because badly made Flash content has a certain jankiness to it that I recognized instantly. The Borderlands 2 menu system comes to mind in particular.
The opposite is the case, actually. It's far easier than ever to make animations and write software.
I would contend Flash was a miserable developer tool, a near feature-free IDE, and rather than "balance", it took a kitchen sink approach to letting you put any kind of code anywhere...in an object, on the document, in a UI event of a button, on a frame.
Meanwhile, there are quite a few flash-likes for HTML5, and many of them are smart enough not to use Canvas (much)!
That part is (hopefully) obvious to the typical HN reader, but the fact that some things that make maintenance harder also make it easier for non-developers is sometimes missed.
Maintenance doesn't really matter when you're trying to just get into something as a novice and voraciously create.
A larval developer's gateway project is all but guaranteed to end up as an incomprehensible mess of spaghetti that'll fall to pieces at the lightest touch after a summer of plugging away at it, but that's not what's important. What's important is that they could make something -- something real. By the time it's left as a shambling pile of kluges and bad practices that'll never see the light of day again, it's still gotten far enough to inspire something, and serves as a great point to move on to greater ambitions -- or even start from scratch with one's lessons learned and make it better, perhaps with a more advanced toolset that now seems infinitely more approachable than it did at the beginning.
This isn't a discussion about tools to create software that'll be refined, depended on, and passed on to new developers over the span of years. It's about bridging the gap between restrictive toys and actual non-trivial projects for novices to tinker with.
What you describe as miserable was my introduction to software development. I never had any technically minded friends or family, and growing up I looked at programming the same way I looked at professional sports; out of my reach and not worth attempting. I started my career as a graphic designer and flash became popular a few years after I started working. The ability to "put code anywhere" allowed me to experiment without having to learn an entire language or ecosystem just to get started. The fact that the IDE was all you need to design, script, and publish content made "hello world" as easy as installing a single app. When I consider the landscape of programming tools in 2019 I can't imagine that kid from a poor family with no training or support being able to make the transition from novice to professional. It's true that browser dev tools and online tutorials have drastically lowered to barrier of entry for application development, but the leap from browser dev tools to being able to actually author and deploy a fully functioning app is enormous. In the flash days there was no difference between the hello world and the professional development environment. It's sad, because becoming a software developer completely transformed my life and provided me with an income over 4x greater than my parents' combined salaries when I was a teenager. When I read comments deriding the old flash IDE for its simplicity it makes me sad for today's generation of underprivileged kids. I hope there is still a path for them to lift themselves out of a life of few opportunities through the joy of programming.
Yes! My entry point as well, back in the Macromedia days, making interactive animations with gotoAndStop. When AS3 appeared many years later weaned myself into the concepts of OOP, partly out of need, partly out of curiousity ... but mainly to understand other's work. Looking up to guys like mr doob. Frontend tooling today is insane. The flash ide and actionscript felt like a standard at the time, with a huge amount of power abstracted away. I feel like it's only in the past 5 years that the real standards have caught up with the (admiteddly inaccessible) possibilities of pre-2008.
Except, except ... having watched my teenage daughter play some games recently, there seems to be a trend for pixel art going on, half the things she is playing have the graphical sophistication of the stuff I was playing on my ZX Spectrum (only a modicum of exaggeration).
>> Maybe there is a place in the market for framework to implement a flash-a-like in a HTML5 Canvas?
If by "framework" you mean "easy to use tool" then I agree.
Programmers are often the last people who should design tools - they dont bat an eye at having to edit a config file, tweak settings, install plugins, manage dependencies, run a compiler or other batch processing tool.
On the contrary, I loved VB and Delphi, and it is the reason why I mostly focused on Java and .NET as my daily tools.
Developers are users as well, and I think too many fail to understand this.
Whatever tooling makes it easier to develop for, means that I can focus on other parts of the problem.
I don't miss working like I did during the late 80, early 90s. Our computers are so much better for them to be reduced to a green phosphor VT-100 terminal.
> Our computers are so much better for them to be reduced to a green phosphor VT-100 terminal.
So much this. Every time someone harps about this or that great terminal application that looks worse than even MS-DOS applications from the late-80s (when most users had moved on from MDA cards) i die a little inside.
You and I agree, but look at the market for end user programming, it is vastly under developed. You are a single data point, not the whole population.
End users are way smarter and more capable than programmers give them credit. Applications should be empowering users not capturing them in a walled garden fed by their masters.
The barrier to entry kinda needs to be high. The attention economy combined hordes of capable creative content producers means there is just not room for people who are not willing to
work really hard at something.
If you go back and watch some of the old flash stuff or play old flash games they are not good, they would be completely unnoticed today.
There are options, at least if you want something to begin coding with; they're just a bit hard to find for the layperson that isn't following developer news.
For example, apps that run directly on mobile platforms (specifically, ones that don't need to connect to the 'cloud' to do their compiling):
- For iOS: Codea [1] (Lua), Continuous [2] (.NET), Swift Playgrounds [3] (Swift), Play.js [4] (Node.js + React Native) plus probably more (on that note, I really hope Continuous isn't abandoned, but it doesn't seem to have been updated in awhile).
- For Android: AIDE [5], TIC-80 [6], probably others (I'm not as familiar)
Moving up from mobile, you have FUZE4 Nintendo Switch [7] for the Nintendo Switch (excellent, but needs a bugfix update as there's lots of little annoyances). Probably the most kid-friendly thing there is right now IMHO, if you take into account the platform.
On the PC, there's just a huge amount of stuff. Minecraft [8], GameMaker [9], GDevelop [10], Godot Engine [11]. These are at least suitable for early teens.
Also Unity's HTML export, and most notably Adobe Flash (which is "Flash but on a canvas" in the most literal way, even though the main demographic are now animators)
Game Maker is hugely underrated and often dismissed because of its name.
It’s an incredibly powerful and easy to use game/interactive-app maker that can export packaged programs to Windows, OSX, Linux, and HTML5, then with additional licensing/fees to game consoles.
It has a drag-and-drop mode for absolute beginners that can let someone with zero experience be creating simple games in their first weekend playing with it.
Then it has GML mode which is their programming language with excellent documentation and a decent community cranking out tutorials and guides, which has put out some seriously legit indie games such as Red Strings Club, Hyperlight Drifter, and Hotline Miami.
It’s also not just for games. It’s great for making interactive stories (I’ve made interactive kids books with it), HTML5 demos and interfaces, 2D physics demos, and even does basic 3D stuff.
(Not affiliated just a big fan and use it extensively).
Game Maker was my first approach at "serious" programming after messing around with javascript in the browser (not that I ever finished anything, mind you.)
But I would suggest Godot as an alternative for beginners now. Even though I don't like the proprietary scripting languages either uses by default, between GML and GDScript, the latter seems more powerful, and thus more educational. You can do "drag and drop and make a game for some defnition of a 'game'" in any of the modern game frameworks. But really, that only teaches you how to use the GUI, not how programming works.
Also Godot has a version that uses C#, and there are bindings for other languages out there (I don't know how complete or useful they are, though) whereas unless I'm wrong, with Game Maker you're stuck with GML.
No sorry, I mostly make small games/interactive-stories/educational-things for my own kids. None of them have really been publish worthy yet.
I do hope to start publishing some children's games and educational interactive stories one day though, I just need to find an artist (or practice more myself).
There is http://www.stencyl.com/ also. Used it many years ago, so not sure how it stands now. But back then, it was a very cool product. Used at a couple of game jams.
I was introduced to programming in middle school with Batch. A friend of mine was making a script to chat between computers and being able to make something interactive on a computer was so cool to me that I had him explain it. I learned Batch, then I learned Lua, Python, Java, and kept going. Minecraft which was really big at the time, drew me into making servers for my friends, which introduced me to plugins and programming them.
I think there will always be easy ways to break into tech, they just might change from year to year.
As a kid, I could kinda understand how to go from programming in Basic to Pong or Space Invaders.
A kid these days has _so_ many more expectations if they're wondering how Fortnite works...
I had enough hubris as a 12/13 year old to write Space Invaders in ascii in Basic on an Osbourne2, and later to get a quite creditable imitation using sprites on an AppleII.
I wonder if kids these days look at computers and think "I could do that" about anything they care about?
These days though- kids have access to much higher level languages and libraries and frameworks that can make some of these processes much easier. While it is much harder to understand the tech stack from the ground up- you can do a whole lot with the high level tools closer to the surface.
Kids may not no how to go from BASIC to a video-game- but they don't have to write their games in BASIC. There are point and click game studios, there are really great physics engines available, there are libraries that attempt to make it simple.
I remember learning how to build mods in minecraft ~10 years ago- there were tools out there that allowed you to make creatures or blocks that inherited behaviors programmed in other parts of the game- and you could do a lot with that!
Do you have any pointers to, or keywords I can google, for some of those point and click game studios?
I've not tried to do anything like a game for decades, I'm kinda curious about that readily available tools kids could get their hands on these days... Closest I think I've come is launching Scratch from a RasPi's stock linux install...
Scratch 3.0 (released Jan) is great, if you want the shallowest learning curve. I was astounded-- played with it for 2-3 hours to know what my kid was learning and in that time wrote three simple games.
I've heard great things about 001 Game Creator (free for 7 days, then $60) for more substantial use.
It's been many years since I've looked into it- but I remember using a program called GameSalad back in the day. I used another couple of similar apps in middle school but I don't remember the names
The barrier to entry is higher because people's expectations for what a website is is higher.
You can still make crappy HTML pages with very basic inline JS, but if you're a kid starting out, that's not enough. You should probably learn a JS framework and some graphic design if you don't want it to be laughed at.
Our field is just becoming more mature and advanced. Cars used to be easier to work on, too.
Everything young people do now outside of schooling and dedicated hobbies seems to be mobile-based, so Tiktok is probably the equivalent to Newgrounds these days.
This "novices" thing seems to me to be overblown though; Alan Kay has been beating the "programming for novices" drum for decades with Smalltalk and basically nothing happened. I would rather have professional-quality tools with decent Youtube tutorials, like Blender, Unity, Python, etc. have been developing.
This reminds me of my discovery and learning Hypercard probably 15 years before you learned Flash. To me it was the same kind of creative spark. I was encouraged by Cosmic Osmo, and later Myst and the like. I never did learn to program with it.
I don't know where the modern equivalent is. Maybe they only pop up every couple of decades...
I think the essential thing about this era is a gradual cultural rediscovery of ownership. We've just been through a very lengthy race to the bottom for all sorts of information - pretty much anything ephemeral and disposable is free or extremely cheap, and then heavily locked down to protect property rights. And it's built a kind of event horizon to culture where all the things pressed up closest to the digital universe just disappear into a little footnote on a wiki page saying "yes, this happened". Memes, blog posts, videos, games, etc.
There is a game product called "Fortnite", and it's just had a huge in-game event, so it's clearly here, alive and well, but you'll never again be able to experience Fortnite as it was 24 hours ago - ever.
And yet future culture is, as Alan Kay puts it, "the past and the present". It's our reaction to that hole, where nothing really builds on anything else, that, in turn, is motivating interest in products with longer time horizons, longer stories and histories to them.
An obvious metaphor for this is video games vs pinball:
* Fundamentally digital vs fundamentally analog
* Mostly design & marketing vs mostly manufacturing
* Trivially cloned vs scarce, unique
* Black-box artifact vs maintainable assembly
* Perpetually caught in the breathless hype cycle of tech, vs increasingly existing outside of that cycle
Pinball's days as part of the traditional amusement business ended with the 1990's, but it's found a resurgence of interest in the home market as a kind of collectable furniture - something to put in a rec room or a basement arcade, that retains decent trade value if maintained. A whole array of small manufacturers have appeared this decade to serve that market. It's much easier to understand a collector's market for it being sustained 30 years out, versus video game collecting, in which any product with a modicum of popularity will have had its primary content either already preserved through piracy(if emulated), or else impossible to reproduce(if a service). It's a much stronger version of interest in vinyl records or dead-tree books taking precedent over streaming music and e-books.
Because digital media has so little physical value, it is beholden to be entirely marketing driven, front-to-back, and to treat you as either a product marketer or as the product, and sometimes both. The true form of the medium remains always hidden behind the UI. Even your personal work, done on systems you wholly control, just disappears into a collection of files, where it is easily forgotten.
And in that sense I think we are not really asking, "Where is Flash? Where is Hypercard? Where is BASIC?" - because in different eras each of those tools did the kinds of things we wanted and expected from a beginner's tool - so much as we are asking, "Where is the actual medium? Where can I do work and preserve the original source material? Where can I send a kid to learn to play with software and not have it all break six months later, rendering the learning useless? How can I curate software when nobody can make any promises?" Tech continues its warfare for a platform monopoly, and so on this front we keep starting from zero, over and over. It's not hugely different from the space we've arrived at in professional software development, where dependency hell and code rot is an ever-increasing concern for all codebases.
> Where can I send a kid to learn to play with software and not have it all break six months later, rendering the learning useless?
If you had a Pentium 1 PC, would you not still be able to run DOS and BASIC on it? Software "breaking" only happens if you let it - you can still use Windows 95, or XP, and run all those old programs that no longer work. If you have a copy of Flash 4 you can still run that on supported hardware, make media using it, and probably still have people with modern Flash installations be able to play it back?
The difference between the pinball machine and video game is not so wide a chasm. The vogue of pinball came and went, and now it is a small community hobby. Hobbies come and go - just look at the resurgence in Dungeons and Dragons the last 10 years adjacent to a huge decline in "AAA" PC game RPGs.
In the same light, while the Fortnite gamer might never be able to re-experience the event that just passed, there are thousands playing Doom maps written in the mid 90s today on engines refined through decades of hobbyist volunteer work to provide features not even often seen in modern titles. And simultaneously there are new Doom maps being made all the time, entire games (look up the Adventures of Square) made with its engine, etc. That technology is now over 25 years "obsolete" but lives on through its community.
You touch on it - but it really does matter if you own it. All these transient experiences being offered as a moment of engagement by corporations all of which are held under lock and key and never see a bidirectional creative process between maker and consumer are all vapid and empty. The digital experiences that endure are those that go both ways, and that everyone involved can lay claim to and participate in.
Modern video games are themeparks, but the tooling available through projects like GZDoom, OpenMW, Godot, etc are sandboxes for creativity that no corporation can take away. This is why the free software movement even began, and why it has only gained relevance as technology has permeated society and culture.
But that concept extends beyond just video games - Blender makes its open movies, there are repositories and communities around free music, art, etc. Communities built around shared worlds all licensed permissively to encourage participation and collaboration in opposition to the common proprietary reality of creative products being weaponized against their own fans through copyright to reject participation. You just have to look for them - they don't have the billions in advertising to permeate your every waking second of consumptive behavior.
You brought up Doom, I'm still mapping for Quake. Quake and Doom are awesome because they are indeed sandboxes with open source code that you can play with at will. Also, these older games are quite a bit less complicated to make content for than some of the newer engines like UE4.
I don't think this is realistically true in the age of cloud services and forced, automatic updates.
Maybe it is if you painstakingly stick to decades-old software or FOSS - but this will mean you're missing out on a lot of progress made in modern software.
(edit:)
> ...and probably still have people with modern Flash installations be able to play it back?
Even if you got Flash running on your old PC, this is where things would break. Browsers deliberately increase the friction and technical expertise needed to enable Flash content, with the openly stated goal to drop Flash support completely in the mid-to-near future.
Learning Flash might still be a fun experience if you can keep it on the PC it's produced - but if you want your kid to pass their movies on to anyone else, Flash is nowadays a dead-end.
I agree though with the Doom thing. My suspicion is that in 20 years, many of today's games will be forgotten but people will likely still play FFIV on emulator - not because some artistic quality were better but simply because you can.
> My suspicion is that in 20 years, many of today's games will be forgotten but people will likely still play FFIV on emulator - not because some artistic quality were better but simply because you can.
Inn 20 years, emulators will probably progress enough that the (non-server-based) games people still care about will be playable -- anything where there's no server, or the server is just a DRM check and all the gameplay happens clientside. Some of the servers will probably be replicable locally for single-player or small-group play, too; I think there's already reverse-engineered server emulation for some online-multiplayer DS games, some of it even having been made before the official servers went offline.
Godot, Doom, and Blender are all great but none have the level of approachability that Hypercard and Flash had for the amateur. They allow determined creators to soar, but they aren't enabling people who would not otherwise be creative to make interactive media in the same way. The 2d/3d gulf is a huge one to cross, and that may be the main issue. There was also something very wyswyg about both flash and hypercard-though Godot definitely approaches that. It's just hitting it's stride popularity-wise, so I guess where people take it remains to be seen.
> you'll never again be able to experience Fortnite as it was 24 hours ago - ever.
Isn't that true of all one-time events, not just digital ones? I'll never be able to attend a Beatles concert or see "The Empire Strikes Back" on opening night or be celebrating on the streets of New York City on V-E Day.
I fully agree with you, but anyway an online game cannot be repeated once the community has moved on. For example my son says that fifa, a soccer game that gets a new version every year is not the same after one year: the whole community has moved on the next version and thus you'll be playing alone to the preceding version.
It’s more that only a few years ago, the same experience could have been revisited - the technology and the means exist - but business reasons say otherwise.
In this case, it’s the Fortnite world.
If Fortnite were a game in the 1990s-2000s, the data (map, world, characters) would be on a CD or DVD and the multiplayer server would also be included on the CD: the community runs its own servers. If the developers release a huge new update - including over digital distribution - users still have the original discs and server software, thus if they want to relive “Fortnite 1997, v1.0’ they can - just reinstall it from the original media.
With the iOS App Store we used to be able to make versioned backups of the IPA files and restore them using desktop iTunes so if an over-the-air update for... say, Angry Birds, added an obnoxious amount of pay-to-win functionality then we had the choice to downgrade before things went to shit.
Now, we can’t do that. This is why I don’t buy mobile games anymore: I have no guarantees about my ability to keep what I paid for.
Angry birds was such a disappointment... I bought it, thought it was a neat game, and well worth the $2.
A few years later I wanted to show it to my kids, and the game I bought had turned into an abomination of ads, in-app-purchases, and dark patterns, and there was no way to get back the charming little game that I originally bought...
Wow, yeah so many dark patterns in kids games, lots of games that look cool and then you install them and have to watch a half minute ad for another video game every time you die. I remember renting NES games over the weekends and so I had to choose between a limited number of choices. The seemingly infinite number of games that exist now via the android play store is crazy but most of them are completely bad and would never get approved from any curatorial perspective yet they make money for the platform and the developer (evidently).
The same could have been said about World of Warcraft, but here we are with WoW Classic.
Digital experiences can be recreated, especially if motivated by profit. What won't be created are some of those moments that were unforeseen consequences (e.g. the Seed of Corruption exploit in WoW)
Um, it's possible to play simulated pinball games that work just like the real ones except the "table" is a huge-ass monitor. Recreations of classic tables, like Addams Family are available as well as entirely new tables like Portal that do things no physical pinball table can do.
Sure, it's not like playing the real thing. Neither, in most cases, are emulated video games.
What a lovely, lyrical comment that inspires engagement. Let me start with a question, what do you mean by "things pressed up closest":
>culture where all the things pressed up closest to the digital universe just disappear into a little footnote on a wiki page saying "yes, this happened". Memes, blog posts, videos, games, etc.
Is this just a fancy way of saying "digital things that are very cheap/free to distribute"? If that's true, then I'd argue that digital things have an outsized impact in people's lives, even more than physical things sometimes. After all, whats more important to you, Indiana Jones and the Temple of Doom or the car you're currently driving?
And since that's the case, what's wrong with charging money for data that was expensive to make, even if it's super cheap to distribute? I feel like that's far more honest than giving away free entertainment data that's been marred by an ad stream.
I think the thing that's pressed up closest is a briefly filled container of code (the browser), that briefly redirects a server thread in front of your eyes. You have a chance to affect it's future course. But there is no ownership at all, not even of the blob that corresponds to the runtime image.
I think its funny that open-source software has created a world where software is even more proprietary than ever - not even the binaries every reach your machine! In that world, distributing binaries only doesn't really seam so bad!
> I believe it's that powerful experience for novices that we're missing
I think we have more "powerful experiences" for novices than ever before, which is part of the whole attention problem. In the early 2000, we didn't have YouTube, Netflix, WhatsApp, TikTok, etc. where tons of teens spend many, many, many hours in nowadays. Those who got access to Flash found a sink for their free time and after just a few hours will have figured out the basic elements. Try to get kids to focus for just these initial few hours on their own, without them getting distracted on some other platform or immediately trying to find a YouTube tutorial, instead of just trying things and actually learning the tool, rather than copying whatever someone else is doing in a video.
I was going to add how I'm surprised that no one is trying to emulate it in js or wasm but I appear to be wrong. someone on Newgrounds is doing just that:
Flash sites were creative, in that they were occasionally built by people with amazing talent and great skill.
Most of the time, though, Flash was the multimedia CD-ROM of the web. Flash was an extension shoehorned in, didn't feel like the rest of the web, and didn't deeply integrate with the browsing experience.
Flash content was an alien rectangle, a wormhole into a strange dimension, where a mouse click would often not behave anything like a mouse click usually would.
Flash pretended to be on the web, but Flash was not of the web. That's why it's now gone.
Heh, this is really a matter of perspective. If you think the rest of the web was wonderful, then Flash was a turd floating in a swimming pool. If you think the web is a poorly designed shoddy mess, then you might think Flash was a raft keeping you afloat in the sewer.
HTML and JavaScript are so sloppy and incrementally improved by accretion rather than taste, I lean towards the sewer point of view.
Or Flash’s heyday coincided with the explosion of the web from tech-circles to widespread public use, and critically, before the big walled gardens (FB etc), became the hub for most publication on the internet.
When I was a teenager I wrote a couple flash games with actionscript. I think the biggest thing about flash, asides from running consistently on all platforms, was how simple it was to build functional stuff on it. Adobe's Flash Professional had a nice monolithic IDE that worked out of the box and included visual design aids.
Go to the old homestarrunner site, grab a flash file and play it (in the browser if you still have support, or using a rendering library) on a UHD screen. Yes, you can render that ancient 2000s era video .. in 4k. Flash is dead as a door nail though, and Homestar will now only be at the resolution of when they rendered it for YouTube.
I'm part of that forgotten industry, since Flash 3. I can tell you that Steve Job letter hurt a lot the industry but I don't believe destroyed the creativity. We're more focused on clicks than interactions in the industry today.
I think Flash has been unfairly maligned. I agree that its era is over. But the functionality it provided, at the time it was available, paved the way for a lot of good features on the Web, including YouTube and many interactive websites that work more like applications--now of course implemented in HTML and JavaScript/WebAssembly.
Yeah, while the Flash era was definitely great for animation, that was really more because animation was the only real option for video. Streaming video has largely replaced that, and cheap cameras mean animation is way costlier to do now.
It is a shame that the tooling for animation online doesn't appear to be good. I guess the reality is probably that it's just cheaper and easier to render your animation to video, or release as a game. Game engines are working harder to target browsers as a platform, so the latter option will probably come full circle.
I really think from a business perspective Adobe bungled just about everything with Flash.
When the tide was turning against them with the rise of iOS, they should have full open sourced Flash player and made the authoring tools free to use, and encourage competing authoring tools.
Flash would likely have then been on a track towards full standardization and native support in browsers. Adobe's authoring tools would likely be best-of-breed and indispensable for high end web dev. All the security and performance and interoperability problems could have been solved over time. Flash is not all that different from an SVG to be honest.
One counterpoint to make: Flash sites were to my knowledge static layouts, the very opposite of responsive design. That is a big industry shift that Flash never made.
Instead Adobe threw in the towel and encouraged breaking a large portion of the old internet by deprecating it.
I think moves like these amount to hundred billion dollar drags on the economy. In a sense we're all a little bit poorer as a result. It's like digging a hole and filling it back up again. It's economic activity that benefits no-one.
I read somewhere that Adobe could not opensource Flash Player due to some library codecs licensing issues. It was unfortunate however, that Adobe bought Macromedia. Macromedia Flash would not have caused wrath from Steve Jobs and Macromedia would have been nimble and motivated to work something out with Apple
Adobe claimed that Apple was stopping them from supporting Flash on the original iPhone. When Adobe did finally get Flash (barely) running on Android. It required 1GB of RAM and 1Ghz CPU. The original iPhone had a 400Mhz CPU and 128Mb of RAM.
Adobe was late shipping Flash for the Motorola Xoom. Motorola touted being able to use Flash as a feature over the iPad. Leaving it in the unfortunate situation that you couldn’t even visit the Xoom marketing page running Flash from a Xoom for the first six months.
Adobe could never get Flash working on mobile well.
EDIT: It wasn’t until the iPhone 5 introduced 5 years later in 2012 that there was an iPhone that could have met Adobe’s specs for Flash.
Yeah, it wasn’t Apple that killed Flash, it was Adobe. It died the moment Adobe bought Macromedia.
Just think, if Adobe hadn’t bungled Flash or prematurely killed off Fireworks, they could be owning the modern digital design space right now, rather than desperately trying to catch up to Figma and Sketch with XD.
And slowing down the entire design space because of closed PSD format driving out competitions and Photoshop is so slow compared to apps like Affinity Photo as its legacy code must be in the way to employ any radical improvements.
In addition to the above, iirc, there was a variant of Flash called Flash lite that ran the UI of many feature phones for quite a while. It wasn't full flash, though.
What Adobe destroyed is the community existing around Macromedia products. It was just unprecedented to my knowledge. Most Macromedia solutions were extremely easy to use AND improve via plugins. You could use Javascript to easily create add-ons for Flash, or Fireworks, or Dreamweaver and there was that "community" aspect that did not exist with Adobe product.
And then Macromedia got "Eloped"...
It's crazy how Adobe never leveraged that community and just pissed everybody off then it died out...
There was also that kind of "friendly" competition where teams add to come up with the most bad ass interactive experience and brands had huge budgets to promote this or that product. It was an healthy relationship between marketing and creativity. Everybody even now, remember at least some Flash websites. "2advanced" anybody? Who remembers the design of the web sites they visit today? It's all the same.
Obviously at some point, Flash ads became a nuisance, and mobile kind of killed it in the browser...
> Flash would likely have then been on a track towards full standardization and native support in browsers.
Unfortunately no, because TC39 rejected Ecmascript 4. Ironically, Microsoft who is responsible for Typescript is to blame for that. Because they had their own solution "Silverlight", it was short-sighted.
I was in 9th grade when I first came across 2advanced, a time in my life when I was was figuring out what my interests were. Torn between continuing to learn programming and changing course to something that seemed more “creative”, suddenly here was this thing that clearly blended both in a way I hadn’t known was possible. I consider 2a to have been a big influence on me, and to this day I remember the music, sounds, and animations from their v2 and v3 sites crystal-clear.
Adobe bungled everything about Macromedia. My livelihood was pretty much built around Macromedia during the entire 2000s and I remember how uneasy I was about the Adobe buyout back then. Macromedia conferences were seriously creative and fun and educational and developer friendly, the first year after Adobe took over they turned it into a big marketing event and within a short time span the entire community was killed off. I think back then (and maybe even now) Adobe just saw the web as a publishing platform, whereas Macromedia saw it as a playground.
Flash was special even without the UI experiments. Flash allowed the creation of vector-based movies with tiny filesizes that accommodated the miniscule internet bandwidth of the early 2000s. The vectorized nature means videos created and uploaded scale almost perfectly to modern resolutions, even 4K.
The bad thing about being "creative" on the web is it not being obvious how to use your site. I remember back in the day a lot of website using Flash only that were like this.
As a former Flash dev that worked through those glory days, I tend to agree. The format was just a lot more open and less restrictive in what you could do - especially compared with the early web. We built a lot of different things with it, including games and animations.
Contrast that with the first pure HTML sites I created, which were built with tables and frames. I shudder thinking back at some of those sites, which were an absolute clusterfuck of nested tables. Flash was like a playground compared to the restrictive environment of building in HTML and CSS in those days, and it seemed like every client project I worked on was very different in its function and UX.
Fast-forward to today, and even with what we can do with modern web technologies, if you look at many sites these days, they're all pretty much the same - especially if they're sales sites. They all use a very familiar cookie-cutter style format. You know the sites I'm talking about; top nav bar, hero image with a wanky quote, 3-block row outlining the nifty features, a call-to-action button etc.
Don't get me wrong, I've seen some beautiful sites come about in the post-Flash era, and some pretty nifty effects (parallax movement seemed to gain a lot of popularity for a time). I think that modern web design really just shows how far we've come in terms of optimisation.
And there's nothing wrong with that. Most of this has come about because we've all spent collective time and effort to get here and discovered what works best for users (in most cases) what converts sales the easiest, etc. It's a culmination of the evolution of tooling, frameworks, boilerplates and various styles we've all built with along the way that continues to evolve.
We know through other mediums and media that users like familiarity (The Mere-exposure effect - https://en.wikipedia.org/wiki/Mere-exposure_effect), and so, the web ends up all looking the same as well because more familiarity equals fewer barriers and distractions and hopefully more sales/conversions/eyeballs.
I made games in flash for over a decade and miss the ease of dropping an experimental game idea onto the web where everyone could enjoy it. If you had a free weekend, you could release a game to 99% of the internet.
JavaScript game libs simply aren't as featureful, even the ones promising the scenegraph API. They don't work as well cross platform (by the end of that decade I had one codebase which could deploy to web, iOS, and Android); and that's where the audience has headed.
I hope this book spends some time on flash's contribution to video game design as well as web design.
also thousands of games made with pico8 on the net live. Sure pico-8 is not a replacement for flash but people are posting live games and they are making them quickly. Celeste, one of the top 10 games last year on many lists, started as a pico8 prototype live on the web.
Also flash never worked cross platform in the modern sense (phones + tablets + desktop). It's a very hard problem and no system I know of handles it automatically for anything more than simple HTML text forms
People are looking back with rose tinted glasses, I think. This was an era where you could build rich media with absolute canvas values and it would look great and it was easy for an artist to take that canvas and do things.
The iPhone killed flash but not just in the obvious way. These days everything needs to be reactive and run on well on mobile hardware. Even if iOS supported flash it would need to be a different beast. Different screen sizes, an explosion of aspect rations, heavier security requirements, accessibility, touch controls and more led to the downfall.
I remember sideloading the Flash Player APK on my Android phone around 2013 (they stopped official support in 4.1) and most of the Flash content was effectively unusable even then.
Pecking on a tiny video player with your finger to change volume, quality, or playback position was a terrible experience and the battery drain wasn't great either. Watching videos outside of YouTube was a terrible time for phone users before sites transitioned to HTML5.
Adobe Air could produce executables iOS and many other operating systems and environments. I have seen many successful mobile games done with Air. Flash Player is a virtual machine and swf is compiled bytecode. It could be ported to any hardware and OS. Death of Flash is not technical, it is political. SWF format and Flash Player is proprietary. They chose to kill it instead of supporting someone else's technology.
There were dozens of sites dedicated to flash tutorials and getting started for amateurs. It was a highly focused _creative_ environment with low barrier to entry. It allowed and encouraged cross pollination.
Flash was a drawing program, Animation, IDE, Game Development, Web development even audio and video editing, with no clear lines between any of the functions.
It was a one stop shop for creative expression with thousands of people learning the program and excited to share their knowledge.
Nothing does what flash did, because flash did everything and everyone was using it.
440 comments
[ 3.5 ms ] story [ 271 ms ] threadI think Tech took a weird turn somewhere around 2010. Things became more homogeneous, designes became bland without rough edges, literally with rounded corners. Options were removed, defaults became simpler and dumber. Dev tools are more about saving programmers from themselves rather than pushing things to the limit. Flash is probably an example of it
I’m not sure about a “dumber” design discipline though. Really it’s Windows developers being left behind, for a while now.
And where we are at now, where Macromedia got bought and Adobe slowly drained its lifeblood and killed its products, is what happens when you try to build systems on top of holistically proprietary foundations. Nobody owes you their enduring survival and you are totally dependent on whoever owns the platform to give you their blessing.
Its a lesson Apple developers often love waxing poetic all over the front page of HN about on the regular.
Plus webrtc is proving to be a resource hog every time, and a lot more complicated to set up in an app (separate media / data stream etc). flash/red5 works literally out of the package.
> obviously it's going to improve over time
When? webrtc is like 10 years old. How long we have to wait to go back to 1999?
Well, 8 from initial release. 18 months from first stable release.
Far as I understand it, lag and overheating are hardware/network problems. Considering the amount of development going into both of them, that situation is only going to improve but of course I don't have a roadmap.
FWIW I haven't noticed problems with either and I don't have a mind blowing setup.
I look at what browsers are doing now compared to 1999, there's no way I'd want to go back
Zoom has done some nice stuff in bypassing webrtc and instead using a webassembly connector to move video and audio.
This is the result of web devs targeting smart phones. They've made the web suck bending over backwards for the limited abilities of phones to act as computers in both the UI and network sense.
It's a shame that HTML5 never really reached the ability of flash. And it's also a shame that Adobe didn't simply release the swf spec.
I personally find that mode of development distasteful, and I don’t share the author’s affection for this particular breed of "creativity," but anyway it was there and some folks liked it and there’s a real opportunity for someone who wants to reimagine it.
- you had types, performance was important so you had generic types like Vector , the code was compiled and it was really fast
- there were built-in efficient GUI widgets, you could have a list or table connected to a data provider with tousends of items but the components were smart and only created enough UI widgets as needed to render, where in HTML you either have to create a LI element for all your 10000 elements, create pagination(is not built in), create infinite scrolling(not built-in)
- it was super easy to customize or extend the provided things if you needed , as an example in HTML look at the <select> it is not customizable, everyone has to implement it's own using divs, css and js , but everyone gets it wrong in the corner case(you have issues where the dropdown pops outside the screen, missing events, hell even youtube search box sometimes breaks and the dropdown popup remains stuck open, so even Google engineerscan't create a working dropdown component
- performance, remember when a blinking cursor was causing an electron editor to use a lot of resources , the issue with web is that was designed in rush for showing documents.
- layouting components was super easy , theming was easy - with css in large old projects there are so many issues( I know people use less but this is not standard )
I have some solutions too, browsers need to provide more powerful components, if we want to do RIAs or desktop apps then we need the same components that desktop toolkits offer with the same customization. Other issue I seen was in a project where the devs ahd to import a third party library because the scrollbars can't be themed in all browsers , I am not refering to the right side of the browser ones(I know sme people hate if you change those) but scrollbars on a list or dropdown component. So you have projects where you import 1 lib for scrollbars, 1 lib for modals, 1 for fancy buttons and inputs, 1 for drag and drop, 1 for calendar widgets, 1 for dropdown that allows you to have icon + text, and of course a framework like angular or react . Browsers should check what developers need the most and add that as standard( ex better dropdowns) you would still have the ability to make your own shit and use your preferred framework
Someone with artistic talent could quickly learn flash and get something bizarre working very quickly. Drop the minimally skilled into a modern development environment and novelty is much harder. 95% of the time that’s probably a good thing, but it sucked a lot of the fun out of the internet.
But that’s not what we’re talking about, is it? We can ask what’s actually being done in web design these days… and who’s doing it. If you’re old enough to remember the period from the late ’90s to the mid aughts, think about your friends who were putting all kinds of wacky, creative pages on the web. Picture that personality type. What place does it have in the universe of websites that we visit today?
The answer, as far as I’ve seen: user. We spend time on a smaller number of sites/platforms. The design of those sites tends to be (at its best) streamlined and optimized. And people who want to share their creativity are given little frames within that structure.
Even personal websites are usually built through WordPress, Squarespace, or similar. Something has been lost. I’m not going to say things are worse nowadays. That would be too sweeping a judgment, even if I substantially agreed with it, and I think I don’t. But I get this weird feeling when I spend time online, like it’s a tree that died some time ago, but it’s being reinforced, made to stand straighter than ever, given artificial leaves that never turn, etc.
contestable. html5 games can be choppy in ways flash was not. even streaming video was pretty fast, comparing it to something like webrtc multi-party video. Hell even basic text-based chat like slack is a resource hog in html.
We know there are better technologies security wise and performance wise. It's not always about what is 'technically' better rather than something that people enjoyed using and opened the door to creative personalities for the web. There is a time and a place for both and I think there has been neglect for the other side of the brain.
In terms of capabilities though there was much less worry about compatibility.
And make it streamable. No, your fancy JSON over Websocket is not exactly streamable.
ensuring that the user sees the exact same thing on any browser / operating system combination ?
Just the font rendering differences between windows / mac make it impossible to create text that is supposed to fit perfectly in a given box because hinting differences may mean that you are a few pixels longer which can change the layout of a paragraph, etc...
with flash, there is only one single way things look across all platforms.
A consistent display was a nice thing to count on when making little games, applets and ads. However for general web layout it made accessibility features difficult to impossible to implement.
I'd also add that behaviour wasn't always consistent. There would still be OS/environment specific bugs that would crop up from time to time. (Though granted, these would rarely be related to rendering or layout)
well, that was not the point of flash, was it ?
Still, I don't think we have an adequate replacement, even it would be technically possible, I don't know about similar tools for vector animations..
Lots of solutions to this:
* SickBeard ran a local web server and the UI ran in your browser.
* Electron / Nwjs
* Whatever Microsoft has planned for Electron (Electron Runtime?)
* That Microsoft compiled HTML format thats defunct mostly (chtml).
As much as everyone hates on the web. Its a consistent UI platform. Not 100% consistent every single time but you can get pretty darn close.
Tom Fulp from Newgrounds has nice things to say about Construct, and we’re getting very positive numbers from other portals and platforms (some very big) that a lot of volume of games and good quality ones at that are being published with them using Construct 3.
I’d like to hear from more experienced Flash users if there’s anything Construct 3 can’t do that Flash could as it would likely be an important feature we’d be keen to add!
Basically, it has to have a name amiable to becoming an umbrella term. That gave Flash such a "universal" connotation.
I hope this makes sense - trying to convey the _peculiarities_ of "Flash" which made it (as I see it) successfull and distinct in character.
Due to the nature of present browser APIs you cannot name your editor WebGL or something that produces WebGL. But if you made an editor called Sparkle or something that produced .sparkle files that had native browser support you would have the same nomenclature going on. But native browser integration and containerized file formats with external editors aren't a well made match.
You keep using that word. I do not think it means what you think it means.
https://dictionary.cambridge.org/dictionary/english/propitia...
I think the modern browser is technologically superior to what and how Flash did things (with the exception of native sockets, which is probably for the better). It's really everyone using Adobe's content creation tools (which were well integrated/designed) that made things so low friction.
It took a long time for the browser technologies to catch up but I wonder if in the end it integrates as one system better than bolting on an open flash spec would have been.
I really feel like flash's heyday was before adobe bought it up. Most of the best flash sites, newgrounds and stuff were more active and had tons of content while Macromedia still owned flash.
More to the point, I think that the current DRM scheme is inherently and completely broken. I could use it and let websites pretend it's useful, but it's not worth the increased quantity of proprietary code to me.
The nice thing about the way EME was implemented is if you aren't one of those users you can simply disable Widevine or (if you prefer to not even have proprietary code on your computer) use a build that doesn't include it.
The public premise that DRM is about stopping "piracy" was always a lie. Obviously, it can't do that. In fact, DRM encourages piracy by reducing the value of non-pirated versions of things.
DRM exists to control and manipulate regular, honest customers, such as making them watch ads or to pay over and over for different copies of the same thing even when they actually have the legal right to make copies for their own use.
Depends on what you mean by superior. There are still things Flash could do and modern “open web” can’t, determining keyboard state (caps lock state and current input language) is one example.
Adobe has been trying to maintain backwards compatibility with flash (because most studios were still using the last version macromedia put out over 10 years ago) So adobe animate was always doomed to try and please everyone and end up pissing everyone off.
We have tons of memes uploaded each day, with crude animations, that could have been 10x easier with flash...
eh, no it hasnt, and even if it did it would have nothing to do with flash. Flash was a great domain-specific tool for somthing that is significantly more cumbersome to write (and difficult to debug, and less wysiwyg) in canvas. Plus technology is supposed to move forward and 20 years is a geologic timespan in internet years. We expected to have much, much better tools by now, not a barely equivalent
Back then, a Flash game was the epitome of web entertainment. Now, we have thousands of amazing Youtube videos, Netflix originals, memes, and so on. If you were to give people the same flash games now, they'd find them ridiculously lame.
> If you were to give people the same flash games now, they'd find them ridiculously lame.
Some of the most popular social games are like farmville, or some poker games. those are really equivalent of flash
On Unity I agree. It's never going to have 50kb games that download and start instantly. It's also not particularly easy or good for working with 2D games. I've used both professionally.
thats exactly why i mention them . i meant to say their current html versions are equivalent of their previous flash
But it gets really pedantic arguing the semantics of web flash - fundamentally it was only showing on a web page because you installed the browser plugin or it. Today browsers might have stopped supporting arbitrary library plugins like that but now you can write them in webassembly for the same ends. Its just that nobody has actually gone and done it yet.
As a game developer who has programmed in ActionScript3, I can tell you that Flash was very performant for 2D graphics.
Why is it on Apple to save Adobe’a software? Why not Microsoft, BlackBerry, Google ... or Adobe?
> Instead Jobs decided business wise he could lock devs into developing native apps in the iOS ecosystem
iPhoneOS lacked support for Flash long before it had a native SDK. Jobs decided the answer was HTML, which is exactly the opposite of a locked-in ecosystem.
Here is the Jobs quote from when this happened: "He takes a while to get there, but eventually he puts the notion into a nutshell. "Flash is a cross platform development tool," he says. "It is not Adobe’s goal to help developers write the best iPhone, iPod and iPad apps. It is their goal to help developers write cross platform apps.""
""Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs"
And to consumers, what they lose by supporting the BP of tech.
> Instead Jobs decided business wise he could lock devs into developing native apps in the iOS ecosystem, scapegoat performance and security for the ban, and gain a competitive advantage at the same time
Steve Jobs never even envisioned the App Store model when he decided against supporting Flash in Safari.
From https://en.wikipedia.org/wiki/App_Store_(iOS) :
>... prior to its unveiling in 2007, Apple's then-CEO Steve Jobs did not intend to let third-party developers build native apps for iOS, instead directing them to make web applications for the Safari web browser. However, backlash from developers prompted the company to reconsider, with Jobs announcing in October 2007 that Apple would have a software development kit available for developers by February 2008
You can also read about an actual iPhone engineer's thoughts on the matter https://finance.yahoo.com/news/apple-engineer-reveals-real-r...
Interesting tidbit: Apple was actually trying to work with Adobe to iron out Flash's security problems but was rebuffed.
Anyways, the fact is, the App Store was actually an afterthought.... An accident of history that even Steve didn't see coming. The decision to forego Flash came way before that.
This combined with updated app review guidelines banning flash on iOS accelerated the adoption of html5.
Afterthought or not, apps quickly became the biggest selling point of smartphones from the second gen onward and many technical architecture decisions had the intended effect of locking developers in. Ports to android were often delayed by months and years if they happened at all.
It's also been established that Apple tried to work with Adobe on addressing the issues it saw with Flash but was rebuffed.
The issue of Apple forbidding non-native code is one I disagreed with but has many layers and complexities. It's not nearly as simple as your implication that Jobs seemingly woke up one day and decided to kill Flash for no good reason.
> rant about flash while not once mentioning the shortcomings of his own objective-c authoring environments and the many good things about flash that lead to the enormous community it had
I'm just going to re-phrase what the poster above said - Why is it on Apple to evangelize Adobe's software (and criticize it's own)? That just doesn't make any sense.
It makes a lot of sense if the primary goal is to make good technology and software. Is that seriously so hard to understand?
Everything he did mention, from power consumption to terrible security and poor usability has since been proven true. I don't know of a single reputable technologist, or tech journalist, who would dispute that. Do you?
Here's a write up of why Flash failed on Android. Notice any familiar themes?
https://www.extremetech.com/computing/134551-why-flash-faile...
Wait, what? They had years to demonstrate it working well on Android. They failed. Spectacularly. Why are you ignoring widely accepted fact of tech history? Are you implying that is also Apple's fault?
Look, if you want to discuss Apple being anti-competitive I'm all ears. I more or less agree. But using Flash as an example does nothing to help your argument. That's because everything Apple claimed about why Flash wouldn't work on mobile was later proven to be true. Everything.
Flash on Android was a disaster. Ignoring that fact to claim it could have worked on iOS (because... magic?) is nothing but revisionist anti-Apple zealotry.
Never let facts get in the way of a good Apple-bashing I guess.
Let me translate that:
Steve Jobs did not intend to let anyone else profit from iOS, instead directing them to make web applications for the Safari web browser that would provide subpar experience.
They released a publicly accessible SDK in less than 4 months? And you believe it wasn't in their plan at all to allow anyone else to develop on it? They clearly planned to have a way to sideload app on it. Itunes already existed since 2001, it wasn't anything new for them. The only things they decided to change was to allow everyone to access it.
Flash would have been a way to allow everyone to access much more powerful feature. This is why they avoided it. The app store was an alternative that allowed them to keep control of it.
Mobile killed Flash. It was a poorly implemented technology which was acceptable only during the era where electric power was unlimited, and people were in the habit of frequent reboots to update their OS anyway.
For those of you half-considering building a Flash player replacement, I suspect the majority of Flash content (especially pre-AS3) can run performantly on modern mobile browsers with a canvas Context2D shim. Maybe even on 2010-era mobile devices.
Compare that to Flash video series like Homestar Runner, every episode had little Easter eggs where you could click on background characters to unlock a bonus scene about them. It really helped you feel engaged with the medium in a way unmatched by anything but full-length video games.
Hehe. Not really. Jobs may have put one nail in the coffin, but Adobe killed flash. And flash was already dying because of abusive ads and HTML5 before Apple said anything. Here’s one of the Flash developers backing that up: https://m.slashdot.org/story/324267
For years, they were terrified of making any changes, especially ones that might break backward compatibility. This lack of ability to change anything meant their brightest never stuck around very long. This only made those who were left even more terrified to make any changes because the institutional knowledge was gone. It's a vicious cycle.
By the time they realized they had to make serious changes and started work on stage3d, they didn't have the expertise necessary to pull it off.
That's an interesting comment. I actually wonder whether this eventually happens for any successful product. At the end this gives competitors a chance to surpass the product. So it's definitely a cycle.
For example, the fact that most engineers need to job hop in order to get promotions and raises. That makes it nearly impossible to build up long term institutional knowledge at any one company.
Another example: everyone in a publicly held company, from the rank and file programmers to the CEO, are rewarded for short term sales at the expense of long term stability. We had a thread here not too long ago[0] about how being a "maintenance engineer" was career suicide.
[0]: https://news.ycombinator.com/item?id=21224188
AI can do a decent job upscaling flash-style content from low res videos.
Macromedia / Adobe released it quite a bit ago (while Flash was still popular).
https://www.adobe.com/content/dam/acom/en/devnet/pdf/swf-fil...
There were a number of tools that compiled to swf.
It sucks that Adobe never opened the Flash Player. That was it’s death nail. They had little to gain from it. It was free. The money maker was Flash Studio and other Macromedia tools.
If Adobe had opened Flash and had a sane security Sandbox it would have survived iOS. Adobe was like the old Microsoft though. They just didn’t get the power of Open Source.
It's easy to imagine the various security vulnerabilities could have been fixed by a more responsible/responsive company, and the abuse by advertisement companies should've been solvable with an ad blocker.
JavaScript, CSS, and HTML have come a long way in capability, but the mashup is much more distasteful to me. Flash was elegant despite its frequent misuse.
A tech-savvy artist, who would previously have needed a handful of devs and a publishing company to get a fun toy to a few hundred users, could suddenly build and send something around the world in a week. No wonder it uncovered so many creative projects waiting to happen!!
As someone who wrote a complete 3d modeller for a game, including animation, even before 3dsmax was a thing, I was surprised when a few years later (10+) I saw how easy the Flash UI was to understand, especially the way keyfames were added. The UX was rather extraordinary. Unfortunately even at that time (early iPhone) because Flash was so synonymous with security flaws, I would regularly uninstall it. Since then, I've yet to see a solution that's as easy to use and doesn't have some kind of vendor lock in (like Flash did). Maybe I haven't looked hard enough tho.
As much as I personally disliked the artistic Flash- only sites at the time, hindsight shows that they were rather invaluable. We lost a lot of diversity when Apple killed it off.
People often forget about those.
Since then I've done a lot of video editing with different tools, but I still think back to Macromedia Flash and how I, a child with no ability to code and no knowledge of HTML or Web tech, was able to make my imagination come to life on the screen.
I believe it's that powerful experience for novices that we're missing. I'm not sure how we should get it back.
(edit: phrasing)
Also, low or no-cost applications that are accessible to newcomers include Blender and the upcoming Procreate 5.
Lots of animators are still making indy animation, it's just been drowned out on the major platforms due to how time consuming it is to create and it's basically not possible to monetize well outside of Anim8 now (YouTube algorithm favors frequent uploads and high video duration - not compatible with animation).
However, I'm a little disappointed that it seems to output in MP4. Is there really no modern format for vector video?
I think you have deftly described a bigger problem, as the whole industry gets more and more sophisticated and complex. The barrier for entry is so high now that I think it stifles young people's interest too quickly.
The great thing about Flash was the developer tool. Part animation studio, part simple programming IDE. It was a great balance.
Maybe there is a place in the market for framework to implement a flash-a-like in a HTML5 Canvas?
And ruffle-rs[2] is a reimplemenation of the flash player itself in Rust. (So you'd still be using ActionScript for authoring)
[1]https://www.openfl.org/ [2]https://github.com/ruffle-rs/ruffle
The first beginner tutorial is about displaying a bitmap and starts with a terminal [1]. This is not as discoverable as Flash’s tools, which felt more like MS Paint when first opened.
[1] https://www.openfl.org/learn/haxelib/tutorials/displaying-a-...
But why reinvent the wheel? I think that the key to Flash's success is in its roots as an excellent, intuitive vector graphics editor called SmartSketch. (Way easier to use than Inkscape, IMO) They added animation to compete with Macromedia Shockwave in 1995, and the rest is the well known history of corporate greed and a victim of its own success.
The Flash IDE is still around, however (https://www.adobe.com/products/animate.html), but Adobe's giving it up at the end of 2020 :( I can only hope that they open source it.
A light, friendly version is Flash 5. It's available online (http://www.oldversion.com/windows/macromedia-flash-5-0), weighs in at a whopping 18 MB, and still works on Windows 10!
Anyway, Flash 5 Player .swf files can be exported as standalone .exe "Projectors". For example, the IDE tutorial one (https://www.sharhon.com/files/flash5test.exe) stands at 405 KB and still runs on Windows 10 as well. Surely it would be possible to wrap _real_ Flash projectors in a WebAssembly Windows NT emulator using a drag-and-drop webpage...and let the games begin.
The Flash IDE, now called Animate, continues to be developed by Adobe. They have not announced an end of life for this tool. It will still be updated after 2020. In fact, it can now export a variety of new formats other than SWF files for Flash Player, and they've been expanding the animation features quite a bit in recent years.
It's unfortunate that many people are confused about what exactly Adobe has discontinued. So many people in this thread are lamenting that this user friendly animation tool no longer exists as a starting point for new users, when in fact, it does and will still be in active development beyond 2020.
(AS1 is gone too, it was something you had to write by selecting verbs in a massive dropdown, and good riddance to that.)
Animate really isn't as simple to use as Flash is, and bluntly in the modern Era the CC suite is too expensive to get those young users.
I wonder if Affinity will have a go at this in the long run.
There is a workflow you can use with a custom Adobe Animate plugin that lets you use Adobe Animate as your authoring tool.
...perhaps you mean the countless drag-and-drop code-free frameworks that enable people to create apps without writing code? Or that a basic Swift tutorial to do just that takes about 15 minutes, including downloading Xcode? I just can't understand this confused nostalgia.
90% of apps can be replicated as web pages, which are far, far easier to program and deploy. Frameworks do add a lot needless of complexity for little benefit. The reason is not a "test of worthiness" though - the purpose is developer lock-in and make it as much difficult as possible to switch to the competing platform. The only way to win this game is not to play
Although when people start arguing that programming a web page is easy, it really brings home how awful modern programming is, and how long it has been since there was widespread usage of really decent and simple RAD tooling.
Or if one shells out to Delphi, RemObjects, Xamarin, Qt.
Ironically, actual embedded devices are far easier to program, with Arduino. You type your code in a window (with all boilerplate and build system abstracted away) and click a button, and boom it's compiled and uploaded and running. This is because it was designed to be easy to use - ostensibly to teach young people, but in practice it means lots of hackers use it too.
Yep, it's never been easier
Software is one of those spaces where there is an incredible amount of capital invested in making things easy for the lowest common denominator.
There are so many resources for people of any age and background to learn practical skills in this field. There are summer camps where 7 year old kids learn to program.
I'd say if you really want youth interested in technology, you basically need a "montessori model" for computers. I don't believe that's likely to happen in school; you need funding, which requires measurable results. There's also too much bad stuff on the internet for schools to run that risk at that scale.
There are two rough classes into which I would break "tech guys". The first is the sort who enjoys it for what it is. Shaves yaks configuring his system, tries out new languages for the heck of it, that sort. The second has a perfectly respectable career in software, and enjoys other things when he comes home at five p.m. I'm not saying one is better or worse, but at seven years of age, you'll only have the few of the first type _really_ interested. Type two will often switch to a different toy once frustrated (i.e. upon a serious bug). You can't expect everyone to derive the same level of marginal benefit from just playing with tech.
Type twos necessarily better or worse, but we don't put kids into "plumbing boot-camp" at seven expecting them to develop life-long passions. Maybe a few will, but not many. To put it another way, you'll get a lot more kids into architecture letting them play with legos free-form than handing them a kit and saying, "Build this model by following the instructions."
There's no question to me that early exposure and encouragement makes all the difference in educating kids. I can't understand why we're not engineering experiences in all these different fields for kids to build real stuff that can eventually turn into a trade. If you're a kid, even today, and you want to learn an adult trade young, your options are still pretty much just artist or programmer.
If there was a way to start doctors or lawyers young, maybe it'd make a difference. As a kid, I knew one girl that was a hospital volunteer, and she ended up going to Africa as an adult to try and make the world a better place by helping others. People don't realize how activities in formative years really stick with kids.
Instead of giving kids meaningful work, we're raising a generation that's going to be great at self-promotion and fortnite.
Our entire school system is wrong. :) I am working on it. We force parents to go to school and that is wrong.
The key to rapid education is teaching the correct subjects. All science is functionally math. Physics is math and chemistry is math. Music is math. All written homework is functionally English. Art is functionally understanding of light and shadows, which is best taught through photography. Photography decouples ability to render (drawing) from ability to compose. Until the child is fluent at algebra and written English, teaching other subjects except for athletics relies on the child's innate talent or, more likely, their parents.
In other words, you cannot swap all time for study of english and mathematics and expect to simply achieve twice as much in english and mathematics.
Learning 45 minutes at a time is silly. It's far more effective to master one concept at a time.
Logic comes with math. I haven't fully thought it through, but my initial goal is to eliminate the need to rely on parents to do well in school.
> The first is the sort who enjoys it for what it is. Shaves yaks configuring his system, tries out new languages for the heck of it, that sort. The second has a perfectly respectable career in software, and enjoys other things when he comes home at five p.m.
I have found out that these are not in opposition at all. In fact, workplace that holds you in 80 hours a week largely prevents trying out new tech. People dont stay long because trying out new toys. If they do, then they are being dishonest with employer, honestly. They stay long because of stress, pressure, disorganization, etc.
The conflation of the two really not logical, it does not even makes sense. Why cant you go home at 5 and "try out new languages for the heck of it" wherever you feel like? Should you even try out that new language production project? (you should not)
This is true for _education_, however the design of the tooling itself, as well as the purely code-based interface with which we like to rely on (no WYSIWYG or visual creative tools) is what makes it creatively difficult
Compare the experience of making some HTML5 canvas game to making a song in modern day DAWs. In the latter there has been so much investment into improving the workflow and the quality of the software to make the creative experience smoother. In programming, almost no effort is put into the creative experience, outside of niche fantasy terminals (e.g. PICO-8)
Consider Ruby on Rails. It was the most beginner-friendly way to create a web app when it was popular, but the very things that made it that way - opinionated design, sacrificing speed/correctness/scale by using Ruby, "batteries included", and a cultish fanbase that drew new users to it - made it the target of justified criticism from experts who wanted flexibility, type safety, speed, lightweight design, fewer CVEs, and fewer annoying fanboys. Flash came under fire for similar things: performance issues, poor UX when used in the wrong place, constant security vulnerabilities, being a proprietary standard.
These are actually good criticisms! There's no shadowy cabal who arranged feigned outrage over flash vulnerabilities, people were genuinely upset that a proprietary piece of software was turning their browser security into a sieve and stopping screenreaders from working. The criticisms just failed to ask why it was so popular with beginners anyway.
From personal experience, and from the (continuing) weekly HN "Hiring" posts that are looking for Rails devs, Rails is popular because it allows you to build an MVP for an entire product or company over a week. It gets rid of all the distractions when it comes to assembling the perfect stack and just works. It's not perfect by far, but, like Flash, it allows you to shortcut the technical work and get right to the creative work.
But these kids, the clever and curious ones, they'll find this on their own too, and truly many more cool and free things to create stuff with online. A few years back, they were all over these free github student developer packs, especially the credits for a Digital Ocean droplet server, which they used to host sites, minecraft servers (IIRC) or Discord bots.
I think an interesting part of my experience was that it started with watching. I just loved the videos and thought they were hilarious. I admired the people who made those videos and I wanted to join that circle of creators. And Flash didn't prevent me from doing that. Not only that, but it was a specific low-effort style of animation. The path from consumer -> producer was short.
So really, I think you have to look at what people are consuming, and then try and make it easy for them to "participate." I'm not sure if people are consuming Flash-style animations anymore. (Maybe they are, and I just aged out of the demographic.)
It seems like a lot of that creative energy has moved to sandbox games like Minecraft for now, where that community of creators and would-be creators still exists, and away from animation and Web design.
They realize that there's no magic; all it takes to make something nice is a little knowledge, and a lot of work.
From what I've seen of Fortnite, it promotes a different kind of creativity, which is more like creative problem solving (boxing people in, riding rockets, etc.) But it does have a sandbox mode that I've seen some interesting creations from.
And on that point it seems that Flash helped to kill itself by accelerating ubiquitous web video.
It's a great animation tool with a great learning curve, I'm surprised Adobe isn't doing more to get it in the hands of teenagers^w young creators.
The 2D GUIs of many 3D games were written in Flash. There are non-Adobe Flash players which can be embedded. The advantage was the authoring tools - the GUIs could be elaborate and graphical without much effort.
I would contend Flash was a miserable developer tool, a near feature-free IDE, and rather than "balance", it took a kitchen sink approach to letting you put any kind of code anywhere...in an object, on the document, in a UI event of a button, on a frame.
Meanwhile, there are quite a few flash-likes for HTML5, and many of them are smart enough not to use Canvas (much)!
And raises the barrier to maintenance.
A larval developer's gateway project is all but guaranteed to end up as an incomprehensible mess of spaghetti that'll fall to pieces at the lightest touch after a summer of plugging away at it, but that's not what's important. What's important is that they could make something -- something real. By the time it's left as a shambling pile of kluges and bad practices that'll never see the light of day again, it's still gotten far enough to inspire something, and serves as a great point to move on to greater ambitions -- or even start from scratch with one's lessons learned and make it better, perhaps with a more advanced toolset that now seems infinitely more approachable than it did at the beginning.
This isn't a discussion about tools to create software that'll be refined, depended on, and passed on to new developers over the span of years. It's about bridging the gap between restrictive toys and actual non-trivial projects for novices to tinker with.
If by "framework" you mean "easy to use tool" then I agree.
Programmers are often the last people who should design tools - they dont bat an eye at having to edit a config file, tweak settings, install plugins, manage dependencies, run a compiler or other batch processing tool.
The vast majority of coding should be end user programming. The collective we just wants to own the tools and the jobs.
https://en.wikipedia.org/wiki/Professionalization
It's natural to want your job not to be turned over to the CEO's 14 year old son.
The CEOs 14 year old son is a straw boy.
Tee Hee
Developers are users as well, and I think too many fail to understand this.
Whatever tooling makes it easier to develop for, means that I can focus on other parts of the problem.
I don't miss working like I did during the late 80, early 90s. Our computers are so much better for them to be reduced to a green phosphor VT-100 terminal.
So much this. Every time someone harps about this or that great terminal application that looks worse than even MS-DOS applications from the late-80s (when most users had moved on from MDA cards) i die a little inside.
End users are way smarter and more capable than programmers give them credit. Applications should be empowering users not capturing them in a walled garden fed by their masters.
If you go back and watch some of the old flash stuff or play old flash games they are not good, they would be completely unnoticed today.
For example, apps that run directly on mobile platforms (specifically, ones that don't need to connect to the 'cloud' to do their compiling):
- For iOS: Codea [1] (Lua), Continuous [2] (.NET), Swift Playgrounds [3] (Swift), Play.js [4] (Node.js + React Native) plus probably more (on that note, I really hope Continuous isn't abandoned, but it doesn't seem to have been updated in awhile).
- For Android: AIDE [5], TIC-80 [6], probably others (I'm not as familiar)
Moving up from mobile, you have FUZE4 Nintendo Switch [7] for the Nintendo Switch (excellent, but needs a bugfix update as there's lots of little annoyances). Probably the most kid-friendly thing there is right now IMHO, if you take into account the platform.
On the PC, there's just a huge amount of stuff. Minecraft [8], GameMaker [9], GDevelop [10], Godot Engine [11]. These are at least suitable for early teens.
[1] https://codea.io/ [2] http://continuous.codes/ [3] https://www.apple.com/au/swift/playgrounds/ [4] https://playdotjs.com/ [5] https://www.android-ide.com/ [6] https://tic.computer/ [7] https://www.nintendo.com/games/detail/fuze4-nintendo-switch/ [8] https://www.minecraft.net/en-us/ [9] https://www.yoyogames.com/gamemaker [10] https://gdevelop-app.com/ [11] https://godotengine.org/
Note: Yes, obvious game-making bias here :)
It’s an incredibly powerful and easy to use game/interactive-app maker that can export packaged programs to Windows, OSX, Linux, and HTML5, then with additional licensing/fees to game consoles.
It has a drag-and-drop mode for absolute beginners that can let someone with zero experience be creating simple games in their first weekend playing with it.
Then it has GML mode which is their programming language with excellent documentation and a decent community cranking out tutorials and guides, which has put out some seriously legit indie games such as Red Strings Club, Hyperlight Drifter, and Hotline Miami.
It’s also not just for games. It’s great for making interactive stories (I’ve made interactive kids books with it), HTML5 demos and interfaces, 2D physics demos, and even does basic 3D stuff.
(Not affiliated just a big fan and use it extensively).
But I would suggest Godot as an alternative for beginners now. Even though I don't like the proprietary scripting languages either uses by default, between GML and GDScript, the latter seems more powerful, and thus more educational. You can do "drag and drop and make a game for some defnition of a 'game'" in any of the modern game frameworks. But really, that only teaches you how to use the GUI, not how programming works.
Also Godot has a version that uses C#, and there are bindings for other languages out there (I don't know how complete or useful they are, though) whereas unless I'm wrong, with Game Maker you're stuck with GML.
I do hope to start publishing some children's games and educational interactive stories one day though, I just need to find an artist (or practice more myself).
[0] https://www.blockstudio.app
I think there will always be easy ways to break into tech, they just might change from year to year.
As a kid, I could kinda understand how to go from programming in Basic to Pong or Space Invaders.
A kid these days has _so_ many more expectations if they're wondering how Fortnite works...
I had enough hubris as a 12/13 year old to write Space Invaders in ascii in Basic on an Osbourne2, and later to get a quite creditable imitation using sprites on an AppleII.
I wonder if kids these days look at computers and think "I could do that" about anything they care about?
Kids may not no how to go from BASIC to a video-game- but they don't have to write their games in BASIC. There are point and click game studios, there are really great physics engines available, there are libraries that attempt to make it simple.
I remember learning how to build mods in minecraft ~10 years ago- there were tools out there that allowed you to make creatures or blocks that inherited behaviors programmed in other parts of the game- and you could do a lot with that!
I've not tried to do anything like a game for decades, I'm kinda curious about that readily available tools kids could get their hands on these days... Closest I think I've come is launching Scratch from a RasPi's stock linux install...
I've heard great things about 001 Game Creator (free for 7 days, then $60) for more substantial use.
You can still make crappy HTML pages with very basic inline JS, but if you're a kid starting out, that's not enough. You should probably learn a JS framework and some graphic design if you don't want it to be laughed at.
Our field is just becoming more mature and advanced. Cars used to be easier to work on, too.
This "novices" thing seems to me to be overblown though; Alan Kay has been beating the "programming for novices" drum for decades with Smalltalk and basically nothing happened. I would rather have professional-quality tools with decent Youtube tutorials, like Blender, Unity, Python, etc. have been developing.
that's like comparing crack-cocaine den to LARP'ing groups. No way newgrounds is anything comparable to the lows that is tiktok (or vine).
I don't know where the modern equivalent is. Maybe they only pop up every couple of decades...
There is a game product called "Fortnite", and it's just had a huge in-game event, so it's clearly here, alive and well, but you'll never again be able to experience Fortnite as it was 24 hours ago - ever.
And yet future culture is, as Alan Kay puts it, "the past and the present". It's our reaction to that hole, where nothing really builds on anything else, that, in turn, is motivating interest in products with longer time horizons, longer stories and histories to them.
An obvious metaphor for this is video games vs pinball:
* Fundamentally digital vs fundamentally analog
* Mostly design & marketing vs mostly manufacturing
* Trivially cloned vs scarce, unique
* Black-box artifact vs maintainable assembly
* Perpetually caught in the breathless hype cycle of tech, vs increasingly existing outside of that cycle
Pinball's days as part of the traditional amusement business ended with the 1990's, but it's found a resurgence of interest in the home market as a kind of collectable furniture - something to put in a rec room or a basement arcade, that retains decent trade value if maintained. A whole array of small manufacturers have appeared this decade to serve that market. It's much easier to understand a collector's market for it being sustained 30 years out, versus video game collecting, in which any product with a modicum of popularity will have had its primary content either already preserved through piracy(if emulated), or else impossible to reproduce(if a service). It's a much stronger version of interest in vinyl records or dead-tree books taking precedent over streaming music and e-books.
Because digital media has so little physical value, it is beholden to be entirely marketing driven, front-to-back, and to treat you as either a product marketer or as the product, and sometimes both. The true form of the medium remains always hidden behind the UI. Even your personal work, done on systems you wholly control, just disappears into a collection of files, where it is easily forgotten.
And in that sense I think we are not really asking, "Where is Flash? Where is Hypercard? Where is BASIC?" - because in different eras each of those tools did the kinds of things we wanted and expected from a beginner's tool - so much as we are asking, "Where is the actual medium? Where can I do work and preserve the original source material? Where can I send a kid to learn to play with software and not have it all break six months later, rendering the learning useless? How can I curate software when nobody can make any promises?" Tech continues its warfare for a platform monopoly, and so on this front we keep starting from zero, over and over. It's not hugely different from the space we've arrived at in professional software development, where dependency hell and code rot is an ever-increasing concern for all codebases.
If you had a Pentium 1 PC, would you not still be able to run DOS and BASIC on it? Software "breaking" only happens if you let it - you can still use Windows 95, or XP, and run all those old programs that no longer work. If you have a copy of Flash 4 you can still run that on supported hardware, make media using it, and probably still have people with modern Flash installations be able to play it back?
The difference between the pinball machine and video game is not so wide a chasm. The vogue of pinball came and went, and now it is a small community hobby. Hobbies come and go - just look at the resurgence in Dungeons and Dragons the last 10 years adjacent to a huge decline in "AAA" PC game RPGs.
In the same light, while the Fortnite gamer might never be able to re-experience the event that just passed, there are thousands playing Doom maps written in the mid 90s today on engines refined through decades of hobbyist volunteer work to provide features not even often seen in modern titles. And simultaneously there are new Doom maps being made all the time, entire games (look up the Adventures of Square) made with its engine, etc. That technology is now over 25 years "obsolete" but lives on through its community.
You touch on it - but it really does matter if you own it. All these transient experiences being offered as a moment of engagement by corporations all of which are held under lock and key and never see a bidirectional creative process between maker and consumer are all vapid and empty. The digital experiences that endure are those that go both ways, and that everyone involved can lay claim to and participate in.
Modern video games are themeparks, but the tooling available through projects like GZDoom, OpenMW, Godot, etc are sandboxes for creativity that no corporation can take away. This is why the free software movement even began, and why it has only gained relevance as technology has permeated society and culture.
But that concept extends beyond just video games - Blender makes its open movies, there are repositories and communities around free music, art, etc. Communities built around shared worlds all licensed permissively to encourage participation and collaboration in opposition to the common proprietary reality of creative products being weaponized against their own fans through copyright to reject participation. You just have to look for them - they don't have the billions in advertising to permeate your every waking second of consumptive behavior.
I don't think this is realistically true in the age of cloud services and forced, automatic updates.
Maybe it is if you painstakingly stick to decades-old software or FOSS - but this will mean you're missing out on a lot of progress made in modern software.
(edit:)
> ...and probably still have people with modern Flash installations be able to play it back?
Even if you got Flash running on your old PC, this is where things would break. Browsers deliberately increase the friction and technical expertise needed to enable Flash content, with the openly stated goal to drop Flash support completely in the mid-to-near future.
Learning Flash might still be a fun experience if you can keep it on the PC it's produced - but if you want your kid to pass their movies on to anyone else, Flash is nowadays a dead-end.
I agree though with the Doom thing. My suspicion is that in 20 years, many of today's games will be forgotten but people will likely still play FFIV on emulator - not because some artistic quality were better but simply because you can.
Inn 20 years, emulators will probably progress enough that the (non-server-based) games people still care about will be playable -- anything where there's no server, or the server is just a DRM check and all the gameplay happens clientside. Some of the servers will probably be replicable locally for single-player or small-group play, too; I think there's already reverse-engineered server emulation for some online-multiplayer DS games, some of it even having been made before the official servers went offline.
Isn't that true of all one-time events, not just digital ones? I'll never be able to attend a Beatles concert or see "The Empire Strikes Back" on opening night or be celebrating on the streets of New York City on V-E Day.
In this case, it’s the Fortnite world.
If Fortnite were a game in the 1990s-2000s, the data (map, world, characters) would be on a CD or DVD and the multiplayer server would also be included on the CD: the community runs its own servers. If the developers release a huge new update - including over digital distribution - users still have the original discs and server software, thus if they want to relive “Fortnite 1997, v1.0’ they can - just reinstall it from the original media.
With the iOS App Store we used to be able to make versioned backups of the IPA files and restore them using desktop iTunes so if an over-the-air update for... say, Angry Birds, added an obnoxious amount of pay-to-win functionality then we had the choice to downgrade before things went to shit.
Now, we can’t do that. This is why I don’t buy mobile games anymore: I have no guarantees about my ability to keep what I paid for.
A few years later I wanted to show it to my kids, and the game I bought had turned into an abomination of ads, in-app-purchases, and dark patterns, and there was no way to get back the charming little game that I originally bought...
Digital experiences can be recreated, especially if motivated by profit. What won't be created are some of those moments that were unforeseen consequences (e.g. the Seed of Corruption exploit in WoW)
Sure, it's not like playing the real thing. Neither, in most cases, are emulated video games.
>culture where all the things pressed up closest to the digital universe just disappear into a little footnote on a wiki page saying "yes, this happened". Memes, blog posts, videos, games, etc.
Is this just a fancy way of saying "digital things that are very cheap/free to distribute"? If that's true, then I'd argue that digital things have an outsized impact in people's lives, even more than physical things sometimes. After all, whats more important to you, Indiana Jones and the Temple of Doom or the car you're currently driving?
And since that's the case, what's wrong with charging money for data that was expensive to make, even if it's super cheap to distribute? I feel like that's far more honest than giving away free entertainment data that's been marred by an ad stream.
I think the thing that's pressed up closest is a briefly filled container of code (the browser), that briefly redirects a server thread in front of your eyes. You have a chance to affect it's future course. But there is no ownership at all, not even of the blob that corresponds to the runtime image.
I think its funny that open-source software has created a world where software is even more proprietary than ever - not even the binaries every reach your machine! In that world, distributing binaries only doesn't really seam so bad!
I think we have more "powerful experiences" for novices than ever before, which is part of the whole attention problem. In the early 2000, we didn't have YouTube, Netflix, WhatsApp, TikTok, etc. where tons of teens spend many, many, many hours in nowadays. Those who got access to Flash found a sink for their free time and after just a few hours will have figured out the basic elements. Try to get kids to focus for just these initial few hours on their own, without them getting distracted on some other platform or immediately trying to find a YouTube tutorial, instead of just trying things and actually learning the tool, rather than copying whatever someone else is doing in a video.
https://www.newgrounds.com/bbs/topic/1444275
https://github.com/mozilla/shumway
Most of the time, though, Flash was the multimedia CD-ROM of the web. Flash was an extension shoehorned in, didn't feel like the rest of the web, and didn't deeply integrate with the browsing experience.
Flash content was an alien rectangle, a wormhole into a strange dimension, where a mouse click would often not behave anything like a mouse click usually would.
Flash pretended to be on the web, but Flash was not of the web. That's why it's now gone.
HTML and JavaScript are so sloppy and incrementally improved by accretion rather than taste, I lean towards the sewer point of view.
Go to the old homestarrunner site, grab a flash file and play it (in the browser if you still have support, or using a rendering library) on a UHD screen. Yes, you can render that ancient 2000s era video .. in 4k. Flash is dead as a door nail though, and Homestar will now only be at the resolution of when they rendered it for YouTube.
It is a shame that the tooling for animation online doesn't appear to be good. I guess the reality is probably that it's just cheaper and easier to render your animation to video, or release as a game. Game engines are working harder to target browsers as a platform, so the latter option will probably come full circle.
When the tide was turning against them with the rise of iOS, they should have full open sourced Flash player and made the authoring tools free to use, and encourage competing authoring tools.
Flash would likely have then been on a track towards full standardization and native support in browsers. Adobe's authoring tools would likely be best-of-breed and indispensable for high end web dev. All the security and performance and interoperability problems could have been solved over time. Flash is not all that different from an SVG to be honest.
One counterpoint to make: Flash sites were to my knowledge static layouts, the very opposite of responsive design. That is a big industry shift that Flash never made.
Instead Adobe threw in the towel and encouraged breaking a large portion of the old internet by deprecating it.
I think moves like these amount to hundred billion dollar drags on the economy. In a sense we're all a little bit poorer as a result. It's like digging a hole and filling it back up again. It's economic activity that benefits no-one.
Adobe claimed that Apple was stopping them from supporting Flash on the original iPhone. When Adobe did finally get Flash (barely) running on Android. It required 1GB of RAM and 1Ghz CPU. The original iPhone had a 400Mhz CPU and 128Mb of RAM.
Adobe was late shipping Flash for the Motorola Xoom. Motorola touted being able to use Flash as a feature over the iPad. Leaving it in the unfortunate situation that you couldn’t even visit the Xoom marketing page running Flash from a Xoom for the first six months.
Adobe could never get Flash working on mobile well.
EDIT: It wasn’t until the iPhone 5 introduced 5 years later in 2012 that there was an iPhone that could have met Adobe’s specs for Flash.
Just think, if Adobe hadn’t bungled Flash or prematurely killed off Fireworks, they could be owning the modern digital design space right now, rather than desperately trying to catch up to Figma and Sketch with XD.
Someone needs to take over this space.
And then Macromedia got "Eloped"...
It's crazy how Adobe never leveraged that community and just pissed everybody off then it died out...
There was also that kind of "friendly" competition where teams add to come up with the most bad ass interactive experience and brands had huge budgets to promote this or that product. It was an healthy relationship between marketing and creativity. Everybody even now, remember at least some Flash websites. "2advanced" anybody? Who remembers the design of the web sites they visit today? It's all the same.
Obviously at some point, Flash ads became a nuisance, and mobile kind of killed it in the browser...
> Flash would likely have then been on a track towards full standardization and native support in browsers.
Unfortunately no, because TC39 rejected Ecmascript 4. Ironically, Microsoft who is responsible for Typescript is to blame for that. Because they had their own solution "Silverlight", it was short-sighted.
Adobe Flex did data-driven responsive design just fine. It was the popular framework before es5 and html5 made it obsolete.
Some were, the bad ones, but most were not.
I did a lot Flash back in that time and it was all responsive.
We had RealPlayer, Quicktime, and others, but video on the web was rather difficult.
Contrast that with the first pure HTML sites I created, which were built with tables and frames. I shudder thinking back at some of those sites, which were an absolute clusterfuck of nested tables. Flash was like a playground compared to the restrictive environment of building in HTML and CSS in those days, and it seemed like every client project I worked on was very different in its function and UX.
Fast-forward to today, and even with what we can do with modern web technologies, if you look at many sites these days, they're all pretty much the same - especially if they're sales sites. They all use a very familiar cookie-cutter style format. You know the sites I'm talking about; top nav bar, hero image with a wanky quote, 3-block row outlining the nifty features, a call-to-action button etc.
Don't get me wrong, I've seen some beautiful sites come about in the post-Flash era, and some pretty nifty effects (parallax movement seemed to gain a lot of popularity for a time). I think that modern web design really just shows how far we've come in terms of optimisation.
And there's nothing wrong with that. Most of this has come about because we've all spent collective time and effort to get here and discovered what works best for users (in most cases) what converts sales the easiest, etc. It's a culmination of the evolution of tooling, frameworks, boilerplates and various styles we've all built with along the way that continues to evolve.
We know through other mediums and media that users like familiarity (The Mere-exposure effect - https://en.wikipedia.org/wiki/Mere-exposure_effect), and so, the web ends up all looking the same as well because more familiarity equals fewer barriers and distractions and hopefully more sales/conversions/eyeballs.
JavaScript game libs simply aren't as featureful, even the ones promising the scenegraph API. They don't work as well cross platform (by the end of that decade I had one codebase which could deploy to web, iOS, and Android); and that's where the audience has headed.
I hope this book spends some time on flash's contribution to video game design as well as web design.
Also flash never worked cross platform in the modern sense (phones + tablets + desktop). It's a very hard problem and no system I know of handles it automatically for anything more than simple HTML text forms
The iPhone killed flash but not just in the obvious way. These days everything needs to be reactive and run on well on mobile hardware. Even if iOS supported flash it would need to be a different beast. Different screen sizes, an explosion of aspect rations, heavier security requirements, accessibility, touch controls and more led to the downfall.
Pecking on a tiny video player with your finger to change volume, quality, or playback position was a terrible experience and the battery drain wasn't great either. Watching videos outside of YouTube was a terrible time for phone users before sites transitioned to HTML5.
It was a one stop shop for creative expression with thousands of people learning the program and excited to share their knowledge.
Nothing does what flash did, because flash did everything and everyone was using it.