November 18th, 2010
Must We Fight About Which 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 its 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. Carl Sagan
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, Reyes 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 theres 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. Theres a chance for more constructive, healthier dialogue than what weve 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 in the 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? Were 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 couldnt 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? Its gone the way of the dodo. Further, you can extend this rationale to any platform. Whats the point in learning Flash if [you think] its going to be irrelevant in 2 years? Whats the point in learning HTML5 if [you think] its 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?
Lets take a step back. Pretend you were that student of mine, and pretend you started school 4 years ago. Its 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 wasnt even a remote possibility. It isnt just Flash Lite that evolved its everything. We went from web sites as silos to content aggregation everywhere. Viral content wasnt even considered an intelligent idea then now its 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).
Thats exactly what this profession is about. If you arent learning, youre 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 isnt inherently accessible to search engines, navigation and scrolling are custom and thus dont 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 its gone rogue, that its hijacked the browser in favor of its own thing.
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 youre 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 youre a Flash developer and HTML/CSS /JS frustrates you, its 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 theres 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, youll be as good at the browser quirks as you are at those crazy Papervision worlds or particle effects. The cough medicine doesnt taste as bad as you think.
If youre 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 look like and how does that tie in to the animations youve 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. Uncle Ben (Spider-man)
It wasnt so long ago that web technologies were looked down upon as inferior. If you didnt know how to deal with C++, you didnt 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 dont need a computer science degree to build successful apps these days; all you need are the so-called lesser languages. Were pirates and hackers and artists and dropouts and tinkerers and now were running the show.
The stakes have risen though. Now many of us who never dreamt wed need a language like C are learning it. Now it isnt 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.
Its gotten easier and its gotten harder simultaneously. There is only one way to maintain in that landscape, and that is to keep an open mind. I dont 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 Ill be glad that I did. I look at new technologies the same way I imagine someone might look at climbing Mount Everest: You dont 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.