What’s wrong with Flash?

Unless you’ve been living in a cave, you’ve already heard about Apple’s anti-Flash sentiments which were explicitly defended by a public note from Steve Jobs yesterday. My two cents: he’s right, but Apple is still coming across as pushy.

The cross-platform blues

As a young naïve developer, I once craved the power of cross-platform tools. I enjoyed using Qt and dreamed of a world where your choice of OS didn’t always determine which apps you could run – because they would all run everywhere. I drank the early Java cool-aid and bought into swing – and that’s when I started to realize that cross-platform development is not a panacea.

Here’s the thing: there are a lot of platforms for a reason. If a platform clearly has no advantages over it’s competitors, it fails. And if you insist on writing for the lowest common denominator, by definition you’re sacrificing the exclusive advantages of every platform. It’s that simple.

There are a few counterarguments. Some applications only need the lowest common denominator to do what they do. And sometimes, this can work. But these apps don’t feel as native. Because they’re not pushing the limits, they’re usually not killer apps. And for mobile devices, they sacrifice hardware-specific design.

What about a great open project like Firefox? It works on all major platforms with the help of cross-platform tools.  This example is much more of an exception than a rule when it comes to portable code for two reasons.  First, this is an extraordinarily high-profile and popular open-source effort that has attracted a huge amount of work by top quality coders; not a position your average software project is going to enjoy.  Second, and perhaps even more importantly, this project started by creating their own suite of cross-development tools, such as Gecko.  This is not a case of one nice general cross-platform toolkit acting as the framework for an independently constructed application.

Back to Steve

Of course, that’s just one of the six points Steve Jobs pointed out in his letter, but it’s the one that resonates the most for me.

The thing is, people thinking about this move aren’t going to sit around and weigh the pro’s and con’s.  They’re thinking “oh crap I can’t port this to iPhone” or “should I switch to Android or html5?” or “am I morally wrong to support Apple as a developer?”  Because the move feels wrong — it feels like a personal decision.

And that brings us to personalities and companies.  Companies have personalities, and they’re driven by their leaders.  To give Adobe a little more say here I should mention Lee Brimelow’s eloquent take on things — this guy puts a personality to the company (Adobe).

We, the Apple-followers, feel like we know what Steve Jobs is like.  There’s so much of him in what Apple is, it’s tricky to separate the two.  And this decision feels like the persistent push of a fixated vision — and that’s all Steve.  How can you be right and yet upset so many folks at the same time?  My speculation is that the visceral reaction is to the fact that to the Apple personality, this comes across as a personal decision.

Yet for developers, we want to have the choices — if Flash-to-iPhone is wrong, let us make the mistake.  Let us learn the hard way.

What’s next?

What will be the fall-out of this decision?  Apple wants Flash to go away, and Flash wants to be everywhere.  Neither Apple nor Adobe are going away anytime soon.

For now, Flash is getting a lot of coder sympathy (not much for Apple on this one), and html5/objective-C are getting a boost.

One Comment