Must we fight about what platform is best?
It seems like almost every day there’s something new and incendiary out there - Wired magazine said the web is dead. Smashing Magazine said Flash is too. It seems like everyone has their own definition of what “open” is, and it seems like it’s more important to do something “open” than it is to do something right. Worse is that the definition of “open” seems to be following along the traditional fundamental lines of Flash vs HTML.
Stop mixing religion and politics
“We have arranged things so that almost no one understands science and technology. This is a prescription for disaster. We might get away with it for a while, but sooner or later this combustible mixture of ignorance and power is going to blow up in our faces.”
In 2003 Sir Martin Rees, an English astrophysicist wrote a book called “Our Final Hour”, pondering over whether humanity would survive the 21st century. In it, he wrote about the Large Hadron Collider, giving it a “1 in 50 million” chance that it created the end of the world. As the LHC drew closer to completion, Rees’ book was consistently cited in the media as a source for why the particle accelerator signals the beginning of the apocalypse, regardless of the .000002% odds he put on it. News outlets fanned the flames. They created their own news because the conversation was more important than whether or not the actual facts were relevant. It generated so much buzz there’s a Wikipedia article dedicated to discussing its safety.
The LHC ending the world conversation went straight off the deep end. A musing in a book turned into protests, legal actions, near-hysteria. The conversation about the web isn’t really all that different - while we won’t reach the point of talking about Flash or HTML5 generating black holes to end the world, it’s never about when to use what and how, it’s all about how one is going to destroy the other. There’s a chance for more constructive, healthier dialogue than what we’ve witnessed since the no-Flash-on-the-iPhone wars. We just need to figure out where to start.
Reflect on the past
I teach at the Parsons Design + Technology program on top of my work here at Big Spaceship. One of my students approached me recently to tell me that they were considering dropping my class next semester over the material being taught. The issue? We’re looking at building things with Flash instead of Python (as the course description states). The last time they took a “Flash course”, it was around mobile development and specifically tailored to Flash Lite. The course literally changed midway through as it became clear that Flash Lite couldn’t nearly compete with the stuff you could do on an iPhone.
The natural instinct is to agree with them. After all, what good is Flash Lite now, right? It’s gone the way of the dodo. Further, you can extend this rationale to any platform. What’s the point in learning Flash if [you think] it’s going to be irrelevant in 2 years? What’s the point in learning HTML5 if [you think] it’s not going to be widely adopted or fragmented across browsers for the next 10? Why not stick to what you know instead of wasting your time on inferior junk?
Let’s take a step back. Pretend you were that student of mine, and pretend you started school 4 years ago. It’s your senior year now. In your freshman year, Twitter had just started. Facebook was approaching its first birthday – everyone was on MySpace. There was no whiff of a rumor of an iPhone. The mobile revolution was a pipe dream. Multi touch and gestural navigation wasn’t even a remote possibility. It isn’t just Flash Lite that evolved… it’s everything. We went from web sites as silos to content aggregation everywhere. “Viral” content wasn’t even considered an intelligent idea then – now it’s essential to make stuff spreadable. API is practically as well understood an acronym as LOL. Strategically, programmatically, fundamentally everything about what we do turned on its head in the time it took you to go from a freshman to a senior. Crazy.
So we throw Flash Lite in the graveyard with Macromedia Director, the Pets.com logo and the marquee tag. In this age, are those things immediately practical to learn or know about? No, probably not. But they were certainly valuable skills to build on — syntactically, historically and experientially. Some of the things we learned might yet apply in new ways down the road (example: sprite sheets were first used on NES games and now on web pages).
That’s exactly what this profession is about. If you aren’t learning, you’re staying in place and stagnation is unsustainable – just ask any print designer.
Take small steps
Plug-ins were designed to fill in gaps in the capabilities of a browser – Flash came to prevalence by effectively taking the idea of making pages more immersive as a gigantic gap in the HTML spec. Of course Flash had its own holes. You know them well: content isn’t inherently accessible to search engines, navigation and scrolling are custom and thus don’t attach to the native browser bars and (most importantly) many sites simply brush aside the need to provide much more than a “You need Flash to view this page” message. All of these things have led to a stigma that Flash is a recluse, that it’s gone rogue, that it’s hijacked the browser in favor of its own thing.
The problem isn’t that these are technically difficult challenges. They’re all solvable, easily. The problem is that the Flash community doesn’t appear to want to learn how to solve them. You can practically pick any site off the FWA at random, turn off JavaScript or open it on an iPhone and be treated to an all white page.


Some of these sites still use the font tag or attributes like bgcolor — stuff long deprecated in favor of CSS.
I’m not trying to preach about the decisions others make, or suggest that Big Spaceship has a perfect track record of optimizing sites either. And I’m certainly not trying to say anything about whether or not I agree with Apple’s decision to keep Flash off of their devices. These sites are brilliant for the experience that they offer once you’re there, but the sum total of all these wonderful Flash experiences failing to consider even the most basic browser usability requirements effectively guarantees a perception that the Flash community wants to be as reclusive and isolated as the platform they build on. The care is in the Flash platform, not in the whole spectrum of technology.
If you’re a Flash developer and HTML/CSS/JS frustrates you, it’s probably because you hate having to fix things for all the different browsers. The truth is that learning those fixes might take a grand total of a week and there’s no better place to practice than the no-Flash portion of your site. It doesn’t have to be elaborate. As an example, the site we built for Starburst simply lists every video and product you’d see on the Flash experience. Build your sites with every kind of device, bot and user in mind and before you know it, you’ll be as good at the browser quirks as you are at those crazy Papervision worlds or particle effects. The cough medicine doesn’t taste as bad as you think.
If you’re coming from the HTML/CSS/JS world, now is the time to start investigating the full potentials of what Flash can do for you. There are problems that Flash has long since solved that you can look to for inspiration or guidance. Drooling at the thought of complex CSS3 animations responding in real time to dynamic data being loaded in? There are intricate details to consider – what does the interstitial state look like between JSON data loading and being displayed, and how does that tie in to the animations you’ve got sliding all over the place? How well are those animations going to perform, and how can you optimize them? These are the exact kinds of issues the Flash community has dealt with for years. Flash has long been one of the best tools for building complex motion and interaction together — if you use it for nothing more than prototyping, you’ll still be better off for it.
We’re all grown up now
“With great power comes great responsibility.”
It wasn’t so long ago that web technologies were looked down upon as inferior. If you didn’t know how to deal with C++, you didn’t really know how to code. The tectonic plates have shifted. The concepts the bricklayers of the web brought to bear — motion, design, and usability — have triumphed over raw engineering alone. The web is the culmination of form meeting function. You don’t need a computer science degree to build successful apps these days; all you need are the so-called lesser languages. We’re pirates and hackers and artists and dropouts and tinkerers and now we’re running the show.
The stakes have risen though. Now many of us who never dreamt we’d need a language like C are learning it. Now it isn’t good enough to know how to build a database, you have to know how to connect to third party services, stay connected as their own software evolves and will most certainly have to learn that new service nobody knows about yet.
It’s gotten easier and it’s gotten harder simultaneously. There is only one way to maintain in that landscape, and that is to keep an open mind. I don’t know what the next big thing is and I dread learning another programming language or platform as much as anyone, but I know that I can learn it. And I know that I want to learn it. And I know that I’ll be glad that I did. I look at new technologies the same way I imagine someone might look at climbing Mount Everest: you don’t spend your time pining about the cold or the weight of the gear or the ascent, you spend your time looking forward to the view from the top.
Note: This article was originally published on Big Spaceship’s blog. Links have been adjusted for posterity.