Ordinarily I limit my posts about Flash here to its usage and just kind of sit on the sidelines when it comes to debates about its future. After all, though I make my living with the Flash Platform, I’m not an Adobe employee and they’re big enough boys to stand up for themselves amidst all the hullabaloo. And I’ve been working and playing with Flash since about 1999/2000 and if, during that time, I had a dollar for every time a new technology was the alleged “killer of Flash”, well, I’d have at least 10 or 20 bucks. Yet here it is 2010 and Flash is still here and as strong as ever. Recently, though, the whole HTML5 debacle has really reached the point where I thought I’d throw in my opinion. So here’s my 2 cents on the already way over capacity topic:
Everything is Propietary
One of the biggest divisions between Flash (and other plugins) and HTML5 is that one is proprietary while the other is an open standard. What I always ask myself though is where do these open standards come from – they don’t just appear? The answer, of course, is open standards are proposed, shaped, created, guided, and governed by committees. The committee, in essence, is the owner, or proprietor if you will, of an “open standard”. And who is it that sits on these committees creating the open standards? It ain’t Joe Developer making a living writing code for the web. It’s representatives of all the corporations who make the WWW possible – Adobe, Microsoft, Apple, Mozilla, Google, etc. Do you really think that these corporate reps are there trying to make the World Wide Web a shinier place for developers and users? To an extent, sure they are. But to a larger extent they’re doing what every corporation by its very nature does – following money.
Just look at what happened to ECMAscript 4. The language’s creator, Brendan Eich, himself welcomed the proposed changes. The language’s proprietor though, i.e. the committee, voted the changes down. Not because they wouldn’t have been welcomed by the developer community or because the changes were “unsound for the web”- but because they were financially unsound for certain groups within the committee. That’s the way things go with proprietors – they do what’s in their best interest. Supporters/developers of browser plugins are not out to undermine the web anymore than standards committees. Both exist to find a nice balance between making money and benefiting the community simultaneously. Neither are ipso facto evil.
On a personal note, I often find it rather humorous that many of the people who jump on the “Flash is evil because it’s proprietary” bandwagon come from the Mac community. Now if you want to rail against the Flash Player because it performs like crap on a Mac, well, fine, I can understand that and see your point. But to complain about the Flash Player because it’s a proprietary piece of software while at the same time supporting a company that makes Microsoft look like Google by comparison – well, I just have to laugh at them in the same way I laugh at vegetarians who say that eating meat is cruel to animals while sporting a stylish suede jacket…
Nothing Lasts Forever
Another argument against the use of Flash I frequently seen thrown around is that, because the software is proprietary, you’ll never know how long it will be supported. This to me is so patently absurd, it hardly calls for a comment. Is anyone out there still developing in HTML 1.0? Hell, at work we find ourselves in a strange (but I expect not uncommon) predicament. Our server is still installed with the open source PHP 4.something. Of course we would love to upgrade to PHP 5, but we first have to weigh the costs and benefits of having to repair the several apps that are liable to break when we do so. Meanwhile I can still view Flash sites from the late 90’s in Flash Player 10 (not that I’d want to, but that’s another story). I hate to be the one to break the news to anyone, but in this industry the one constant you can count on is change. Technologies both “open” and “proprietary” come and go and programming languages fall to the wayside like latin. To suggest to someone they shouldn’t develop for a specific proprietary platform because it has an uncertain future is like telling that same someone there’s no sense in learning HTML5 because it’ll eventually be replaced by HTML6 and you’ll have to dump your entire code base and learn something new. If absolute certainty in a specific field is that important to you, good luck in today’s world. Maybe plumbing would be a more suitable profession. There’ll probably always be pipes around and you’ll more than likely get paid more.
Code Breeds Bugs
CPU usage is another item often held against the Flash plugin, yet there have been complaints of recent FWA winner 100 Tweets leading to 100% CPU usage on some machines. The more complicated systems get, the more error prone they become. If you really want a bug free web, let’s just go back to 100% static text and be done with it. But if you want images, animation, video, and interactivity expect the unexpected – whether you’re looking at these things in Flash, HTML, or anything else.
Time Will Tell
Here’s a little Sufi parable for you paraphrased from the wonderful Principia Discordia (fnord):
Malaclypse the Younger was once imprisoned and sentenced to death by the Shah for saying a few less than savory things. He went before the Shah and pleaded that if the Shah would just let him live one more year, Mal would teach his horse to fly. Well, no shah can turn up his nose at a flying horse, so he agreed to spare Mal for another year under these conditions. Later, a fellow prisoner asked Malaclypse what this business with the flying horse was all about. “Well,” answered Mal, “A year is a very long time and lot can happen. The shah may have a change of heart, he may be overthrown, or he may just die of natural causes. And, if worse comes to worst, who knows, I might actually teach that damn horse to fly.”
The point being, HTML5 is still at least 2 years from being implemented in a widely usable fashion. By that time we should be on Flash Player 12 or 13, and who knows – the damn thing might just have flying horses. To declare Flash dead at this point is just silly. And for Steve Jobs to call Adobe lazy is being just plain childish. As Joa Ebert pointed out on Twitter today, Adobe is wrapping up a crosscompiler capable of creating iPhone apps with the Flash IDE while Apple just released a big iPod. Which of those is more interesting/less lazy?
Don’t get me wrong, I’m not anti Apple (I love my iPod) and I’m not anti-HTML5 (looking forward to learning and using it. And come to think of it, I haven’t heard a single person say they are against it. Interesting how willing Flash devs are to embrace new technology) and I’m no Adobe fan-boy (they’re a corporation looking to make money like any other and have plenty of room for improvement), I’m simply sick and tired of the rampant anti-Flash sentiments that have been circulating like wild fire lately.
When you can show me sites such as GE’s Smart Grid, or North Kingdom’s old Get the Glass (require the Flash Player plugin), or the Rexona Shopping Cart Race game (requires the both Flash and Unity3D plugins) built entirely on “open standards” then we can have a realistic discussion about the demise of browser plugin technology. Until that time, can’t we just say there is room enough for more than one technology in today’s web world and let them all advance as they may?