This has been a busy and creative month for me both professionally and personally. As we look to the close of this month and the real start of the silly season, I wanted to write about a few things close to my heart starting with Adobe Flash.
Professionally, Adobe’s announcement shook the internet world; the end of Flash development for mobile devices. There were several responses that ranged from calm to chaos. My response started out in chaos and went to thoughtful; after all I’ve been here before just over 10 years ago thanks to Adobe killing Director. The difference was, this time it looked like Adobe was pulling the rug out from underneath us only to reveal that the floor didn’t actually exist. I think the move was slightly premature on their parts but at the same time justified.
As time has passed, I have been thinking more and more about the future of Flash and the reality is that Flash is no longer, and has not been for some time, the ideal tool for web site creation. I personally have not had a Flash based web site in several years. I personally don’t like visiting Flash based sites with a few exceptions:
- Movie or entertainment sites that do not serve primarily text based content
- E-learning sites
- Video heavy sites (like YouTube)
- Anything that has to stream from a site (like grooveshark.com)
I think we can all agree that Flash was overused as a method of web visitor torture especially when it first came out. Long and boring and loud web intros were the name of the game. Hard to use interfaces, touted as being creative, were the norm. Catch the menu! No way to turn off the canned techno music! And just try reading any text with the odd, small, serify or other unreadable font treatments. Woof!
But we could do so much more with Flash and it eliminated hours and hours of cross browser testing and considerations for other platforms. Well, aside from Mac OS9 and IE. We….we just won’t go there. I’m still in therapy from that.
Flash really came into its own as a streaming platform. It changed what kind of media we could consume online and shifted us from text or game based content to video and audio. Sites like YouTube came out and were immensely popular. News sites could now stream live events or whole newscasts. Suddenly Flash had grown up and left the family homestead full of cheesy games and shitty web sites and become actually respectable. Used by the great unwashed masses and actually enjoyed.
Mobile threw a wrench in the whole works.
Anyone who’s been making “multimedia” for years and years, like me, will remember all the restrictions we used to have to work with. From not assuming users had sound cards (once a very expensive part of computers and seen as optional) to working with 16 and 32 bit colour depths (I still have nightmares), we had to reduce our projects to fit a certain common denominator. Very quickly though computer prices came down, bandwidth went wide and suddenly we didn’t have to cater to 386 users anymore. In fact, we just had to sniff for the Flash plugin, make sure we didn’t have files that were too large to load fast, and go. I think in some ways it made us, as developers, soft. We suddenly had it easy and if someone couldn’t use the site or the application? Well, too bad and odds were they’d be upgrading hardware anyway so it didn’t matter.
With mobile devices, it seemed at least to me, that we were back in 1997. We had to account for slower graphics cards, less cpu, varying screen sizes and bandwidth. Instead of author once, we were forced to author for desktop and then adapt the site or application for mobile devices. Rollovers don’t exactly work well without a mouse! Screen aspect ratios changed and could be very different from device to device. And anyone who’s seen Angry Birds on Android knows that not every Flash game or application plays well or as expected on a device. With my own clients, we ran a number of tests on various projects and found that the limitations of catering to mobile, whether within an app or as an online application, neutered projects so much as to make them not worth pursuing. In fact, outside of Android and iOS test projects I don’t have anything available for public consumption that was built in Flash specifically for mobile.
To top things off, hardware for phones and tablets changes at an alarming rate. While Adobe perfected the Flash plugin on certain Nokia phones, those phones were busy becoming obsolete. Do we even need to talk about the ill-fated (read doomed!) BlackBerry Play Book? It was going to be a game changer as well and was pushed hard at FITC last year. And whoops! Gosh all that work down the toilet.
With this understood, and having been around in this industry basically since the beginning, I actually have to agree with Adobe’s stance on Flash plugin development for mobile devices; it just doesn’t make sense. I do, however, think it wouldn’t be nearly so dead if the Apple/Adobe war hadn’t happened. Allowing plugin development to focus on one particular hardware and software combination would have made a huge difference and actually may have pushed Apple ahead of Android in sales. Android surged as an outraged response to this move and the proof it provided of Apple’s very restrictive policies. (That’s a whole other story in itself)
But, I’m still developing in Flash. Right now. I have two major projects on the table and an ongoing one in progress. All Flash. How the heck is that possible and why would anyone want to put their money into an already dead but doesn’t yet know it, technology? Because, as I said at the beginning, Flash does have its place and will continue to do so for some time. HTML5 is amazing and can do lots of things and many of them very well. There are some things it can’t do, or do well, and I’m speaking from a developer standpoint here. At this point I can safely say I’m not an “Adobe fan boy” and ready to flame any new technology because quite frankly I will go wherever there is a useful technology for my clients. Where HTML5 falls short is in 4 areas that need to be addressed, and I get that these things are being dealt with because I’m following the updates as them come out.
- HTML5 and audio is just awful. Try animating a story that needs to sync the images with the audio. Have fun with that. Because you have to preload the audio (and make sure you have it in several versions to address browser based players) and preload all the images and animation information. This is ok for very short animations but try 2, 3 or even 5 minute ones.
- Which brings me to streaming. I love grooveshark.com. You can search and play any music online through your browser no problem. I don’t need to download anything, just set up some playlists and whoosh! Grooveshark dropped Flash last week. Now my songs start…. pause….play for a sec…ond and then….pause….and…stutter. It’s gotten better over time but it’s still not the same as it was. And having said that, how about video? Streaming is horrible outside of Flash and I know this because I’m working on an online, iPad friendly, video project. We spent two days trying to find the best codec, compression and streaming friendly formats that didn’t compromise playback quality.
- And then there’s browser compatibility. Because HTML5 does not work with older browsers at all. Nada. So we’re back to testing in every browser possible on the two major desktop platforms and every freaking device we can get our hands on. I swear my office looks more like a Best Buy show room than an office now.
- Finally, and here’s the one most people don’t get, your assets are not at all protected. At all. You know on YouTube where you have to do extra work to download the movies? Most casual users don’t bother or don’t know how. Techies know there are browser add ons for this. HTML5 saves you all that protection and with a simple right click any of your assets from audio to video to images can be downloaded. No problem. Nothing techie required. Yes, you can crack Flash swfs but again, they can be protected and obfuscated and made to load external assets that your end user can’t get their hands on. In other words, yes not perfect but you remove the casual cracker from the equation.
My clients get all this. From the Adobe move to where we should and shouldn’t use Flash. As HTML5 matures, we’re changing over some applications or parts of websites to make them more accessible by the tablet wielding masses. But for the most part, right now, nothing has changed. I specialise in e-learning applications and there is nothing better than Flash to set up games, track student scores and provide a more immersive experience. Until schools have tablets as part of their computer labs, Flash is still a relevant and useful technology that’s nearly ubiquitous. Just because mobile Flash is dead, doesn’t mean we need to nail the coffin shut and throw a wake…. yet. Until there is a viable alternative that at least addresses if not completely corrects some of the issues I’ve listed above, Flash will live. I’m not nearly as pessimistic as I was when the announcement was made but I still think the writing is on the wall. Adobe must too because I’ve read that Flash CS6 will have some interesting and new exporting capabilities including the possibility of creating HTML5 or at least non swf files playable on more screens. Who knows how accurate this information will turn out to be, or what restrictions will be placed on the types of coding and animation we can do to make exporting from Flash to HTML5 even possible?
In the meantime, let’s agree not to abuse Flash on web sites, deploying it for good (YouTube!) and not evil (pointless splash page intros) while it’s still here. It’s slightly premature to turn our backs on it but it would be stupid to just assume same old same old and pretend change isn’t already on its way.
Flash is dead! Long live Flash!