Thoughts on Flash

The debate about Flash has become very interesting following the release of the iPad.

Posted May 18 2010
Design, Opinion
1 comment
Comments closed
Tweet this article

The debate about the Flash plat­form has become very inter­esting very fast fol­lowing (first) the announce­ment of the iPad and (second) its release. It has put a very public spot­light on a shift in media tech­nology that goes back to the intro­duc­tion of Action­Script 3.0 and the pub­li­ca­tion of numerous Javascript libraries such as jQuery, MooTools, Scrip­tac­u­lous. It also high­lights the common per­cep­tion of Flash in rela­tion to (my per­cep­tion of) Adobe’s goal for Flash.

Flash, for a while, filled a need. For a while it was the only rea­son­able and reli­able way to create ani­ma­tion, handle UI events, mix media, and gen­erate high quality mar­keting mate­rials for the web. Designers loved it because we could estab­lish com­pli­cated lay­outs, use our own fonts, and stylize all the little details of the user expe­ri­ence. We didn’t need to solve cross browser bugs gen­er­ated by the mul­tiple fla­vors of the Doc­u­ment Object Model imple­men­ta­tion. We didn’t have to use graphics for text or require many dif­ferent media plug-ins for audio and video play­back. The Flash plug-in made things work con­sis­tently on all web browsers.

Of course, there were draw­backs. To their credit, Adobe did try to address these prob­lems. You had to per­form manual checks for the Flash plug-in. The rapid advance­ment of the tech­nology meant that the web was lit­tered with many dif­ferent plug-in ver­sions. Flash was not search­able. Devel­opers either had to expend effort to create alter­nate ver­sions of con­tent for Flash-less vis­i­tors or simply ignore a small but real per­centage of their audi­ence. Flash had per­for­mance and error-handling prob­lems; poorly coded Flash-based web­sites and appli­ca­tions could bring down your browser. And, of course, Flash was use­less for mobile browsers.

JavaScript libraries, CSS, and HTML 5 are changing all of that. JavaScript libraries greatly sim­plify the way in which inter­ac­tivity can be achieved in web pages, cut­ting the time required for scripting dra­mat­i­cally and reducing the over­head that cum­ber­some code or the Flash plug-in can create. CSS has improved to give sig­nif­i­cantly more con­trol over the appear­ance and layout of our web pages. A bounty of plug-ins for JavaScript libraries are now avail­able to create all sorts of HTML page lay­outs, user inter­faces, and visual effects.

For example, I recently reviewed the JavaScript code that enables the Panic Soft­ware home page. This page has been around for a while, but it’s simply bril­liant and I don’t see a need for Panic to change it. The JavaScript for this page is a night­mare of con­di­tional state­ments to address the var­ious web browser require­ments. I can write sim­ilar code using jQuery (and I did for my own home page) using less than half as much code.

HTML 5 promises to fur­ther ween devel­opers from Flash. Video and audio play­back alone could make Flash com­pletely unnec­es­sary on many web­sites. New drawing and and ani­ma­tion capa­bil­i­ties help devel­opers lib­erate addi­tional effects from Adobe’s monopoly over online mixed media and web animation.

Frankly, I think Adobe expected all of this to happen. Action­Script 2 was just a step­ping stone. It was very sim­ilar to JavaScript and, for web devel­opers, and easy adjust­ment. I had no problem scripting effects in Flash, going so far as to create simple arcade games. Action­Script 3 is a dif­ferent beast. This is a real pro­gram­ming lan­guage, one that sep­a­rates pre­tenders like me from real men with serious IDEs. Action­Script 3 sig­naled a shift in the target for Flash media devel­op­ment: it’s no longer a tool for cre­ating neat-0 web pages. Flash is now a pow­erful tool for building Internet-enabled appli­ca­tions with high-end user expe­ri­ences. At least that’s the rumor.

Most of your consumer-level users don’t see that. The look at the iPad and think about how they can’t use it to watch Bones on Hulu.com. Let’s just get this out of the way now: Flash ain’t gonna be used to play video much longer. Like I said before: Flash, for a while, filled a need. That time is coming to and end. It’s a waste of time and effort to be using Flash to play audio and video, but for a while it was the only reli­able way. That’s going to end.

I’m less cer­tain about online games. This is one place where Flash has been very useful to com­pa­nies. Online games, par­tic­u­larly on Face­book, have become huge busi­ness. I find them to be buggy and annoying and would not miss them if they dis­ap­peared, but lots of people play them. Not being able to do so on your phone is not a big deal. I can’t imaging playing a game like that on a tiny screen, I don’t care what the res­o­lu­tion is. The iPad is a dif­ferent story. Users do lose out there.

Adobe could care less about whether or not YouTube con­tinues to serve video using some Flash-based player. I’m not even sure their too wor­ried about Face­book games being recoded in HTML5. Maybe I’m wrong, but I don’t see it hap­pening. What gets their goat more than any­thing is the fact that Flash can’t be used to build apps for Apple prod­ucts. Because that’s their bread and butter. That’s why they are pissed off. And it has nothing to do with Flash sup­port for the mobile ver­sion of Safari. This is a level above that. Their gripe is with the rules that Apple estab­lished for allowing appli­ca­tions on the iPhone and the iPad. The rule excludes any appli­ca­tions that were not build using Apple’s approved methods. Those methods to not include Flash.

I under­stand Apple’s posi­tion. The iPhone and the iPad have great user expe­ri­ences. As with all of their prod­ucts, Apple cre­ates and insures that supe­rior user expe­ri­ence by con­trol­ling the things that become part of the user expe­ri­ence – and on the iPhone and iPad, those things are apps. I’ve never actu­ally seen a Flash app that I thought was any good. Most of them suck, even the Media Player that Adobe ships with CS4.

Apple is also trying to avoid a tremen­dous resource drain. By con­straining the user expe­ri­ence on their mobile devices, they limit the pos­sible ways in which the user expe­ri­ence could be neg­a­tively affected. When users have a problem, they ask for help. Apple’s lim­i­ta­tions help limit the pos­sible prob­lems, keeping the sup­port requests to what could be con­sid­ered a small amount. Excluding apps built with Flash pre­vents poten­tial prob­lems and keeps Apple sup­port from having to deal with them.

Apple now faces a serious chal­lenge from the Android mobile plat­form. I expect Android’s sup­port for Flash in the web browser to be a lia­bility for Android. My guess its it will cause more prob­lems for users than it will actu­ally solve. How­ever, apps for Android cre­ated using Flash could be a big deal. One of Apple’s biggest advan­tages right now is the rich­ness (over­abun­dance?) of apps avail­able in the App Store. The Android market is a sad little place by com­par­ison. How­ever, since Android will be open to apps built using Flash and the iPhone OS will not, Flash sup­port could help the Android Market close the gap with the App Store. That could be the biggest threat to the iPhone – even bigger than all the new hard­ware that keeps get­ting released from Motorola and HTC.

Comments

Giles Hendrix replied at 12:08 pm on May 19, 2010

Excel­lent points on a com­plex issue. When having this con­ver­sa­tion it is impor­tant to sep­a­rate the plat­form (iPhone app, Android app, web, desktop appli­ca­tion) from the tech­nology (Flash, HTML5, Objec­tive C, etc). Saying Flash is bad is like saying velcro is bad. Each tech­nology has its own advan­tages for each plat­form where available.

The most applic­able advan­tage here may be whether or not the technology/platform is open and stan­dards based or pro­pri­etary. The web is an open plat­form and it fol­lows that the tech­nolo­gies on which it is built should also be open. The iPhone is ulti­mately pro­pri­etary, so it fol­lows to me that to main­tain that expe­ri­ence Apple needs to con­trol its tech­nology for apps.

Flash is still very useful for many other plat­forms, not just the web. Flash may still be the best choice for ani­mated pre­sen­ta­tions, casual games (which to me are a sep­a­rate plat­form even if they are on the web), and mul­ti­media instal­la­tions. Even rapid devel­op­ment and pro­to­type desktop appli­ca­tions. Tweet­Deck is a great Flash appli­ca­tion on the desktop, though they do have an HTML5 and native desktop app in development…