John Polacek

Chicago Web Developer

Engineering manager and frontend lead at Howl

My product recommendations at shop.howl.me

Shipping open source on Github

Follow me at @johnpolacek

The Death of Flash, the Rise of React and What’s Next

Originally published on 12/27/2020
Me wearing Adobe Flash User Group T-Shirt from 2010

Adobe Flash User Group T-Shirt Swag circa 2010


Also published on Medium

A bit over 10 years ago, I was a Flash developer. We were in high demand in those days.

We were building RIAs, aka Rich Internet Applications, that delivered snappy animations, all manner of graphics and fonts in a single page experience that made computer fans accelerate all over the internet.

Like many of my peers, I had developed my own custom technique of churning out Flash sites. I had a system that could generate fully animated and navigable sites from multipage InDesign documents supplied by no-code designers at our agency. It was spiffy!

I spent a lot of time and effort acquiring that knowledge. I read the 900+ pages of Essential ActionScript 3.0 from cover to cover, twice, because I was an art major with zero programming experience and no business doing any of this stuff.

Flash was cool like that. I could use my art brain to build the pieces I needed and go after more ambitious programmy stuff as I went along. It was fun as hell.

Then mobile came along and wiped Flash out. Steve Jobs did it in when he famously declared that no Apple mobile device would ever support Flash.

At the time, it was a bummer for us ActionScripters, but admittedly Flash was always a performance hog. We devs had the best top-of-the-line, overpowered Mac towers our employers could afford. We didn’t notice perf as much as we should have. That’s not even touching on the accessibility issues of our standard alt content solely consisting of a prompt to install Flash.

I dropped Flash pretty quick. It was clear mobile was the future. There was this new thing called HTML5 that sounded promising, and it turned out that shipping jQuery plugins was pretty fun.

On a side note, if you work at an ad agency for any length of time, you learn not to get attached to things. Great ideas and even fully built projects get killed by unforeseen forces all the time. It’s pretty rare when a great idea makes it into the real world still intact. I actually got to see that firsthand back in the day with Ship My Pants, but I digress… back to Flash!

Many Flash refugees started building web stuff. We experimented far and wide to make web content like we did back in the glory days of anything goes.

Responsive design was the ultimate answer to getting web content into mobile devices, but what we really wanted was to create that single page app experience.

After the likes of Knockout, Backbone, Ember, Angular, and even Batman.js, came React. As Bootstrap was born of Twitter, that React came from Facebook gave it extra currency. Plus, this wasn’t a mere 10% time side project. It was part of their production solution for web apps at Facebook scale.

As the React ecosystem has developed, along with other frameworks, and browsers have become more powerful, the creative potential for a 2020 website exceeds that of a 2010 Flash site. Unfortunately, we don’t yet have an authoring experience that matches the good ol’ Adobe Flash IDE just yet. I’m sure there are devs hard at work on it somewhere!

React isn’t really the next Flash. Flash is primarily an animation tool. React is state management for building UI. Neither one claims to be a solution for creating single page web apps.

We do have those though. My current favorite is Next.js, using a hybrid of traditional server-rendered pages with urls that provide entry into a single page app. Or by another name, a Rich Internet Application.

So, we’re back full circle, building more RIAs than ever. Thankfully, today’s web is more performant and accessible, at least compared it to Flash! But… what makes an internet application rich anyway?

Ultimately, we’re delivering experiences to people. Whether a tool to help life be a smidge better, a social network that connects/divides us, or a playful game that makes us smile while we pass time at the DMV.

Removing emotion from it, we are building stateful UIs that filter, map and reduce data from one JSON tree to another. The way we do this changes over time, and so it’s probably best not to get too attached to any one particular means to this end.

As time moves on, the big tech companies will figure out how to deliver “no code”, powered by “serverless”, in a race to own the SaaSaaS market.

I can picture one day in the future, where I explain to my grandkids about how people used to hand-type long lists of instructions to computers in various languages that we would argue about endlessly. They will barely be listening to me, as 3 generations of family run about playing Minecraft on our 3D holodeck.