Monday, July 5, 2010

To Flash, or Not To Flash?

You gotta love Steve Jobs, even when he is in full BS marketing mode. His recent letter (“Thoughts on Flash”) has caused a major commotion and controversy on the Web – which is probably exactly what he wanted. He’s a marketing genius.

In his letter he hits on things I think about all the time, so I decided to put down some thoughts on Steve Jobs, Apple and The Great Flash Controversy.

I really respect Apple, Steve Jobs and the innovations they have created. Beautiful products, with beautiful interfaces. I work out with my iPod daily and use my iPhone happily. But I also know that a lot of their recent success is accidental. Specifically, Apple shipped the iPhone without any access for third party developers. When some of those developers tried to create software for the iPhone, Apple aggressively sent their lawyers after them.

It wasn’t until after a lot of very bad PR and a year of public outcry that Apple gave developers access to the SDK to allow app development – we all know what happened once they did that. It was the applications on the iPhone that sent it into the stratosphere of success. Applications that Apple never envisioned, and most importantly tried to prevent others from developing. Accidental success indeed.

Adobe has had a version of Flash working on the iPhone for years, and has many published comments asking Apple to allow it to be used on the iPhone. It’s pure BS when Steve says it won’t work on the iPhone. I believe that the real reason he didn’t want Flash on it was because he wanted developers using the Apple/iPhone SDK, not another company’s technology. His excuse that “Flash would be too slow” is nonsense; in a free market if something does not perform well it is abandoned by the users. It is not Steve Job’s responsibility to make that decision for everyone. It is pure politics and a control play, it has very little to do with the technology.

As for performance, Steve keeps talking about HTML 5, which is crazy. HTML with JavaScript is an interpreted language running within a browser. Flash and Silverlight are compiled and optimized binaries running within a browser, and so will always be faster. The port of Processing to JS is cool, but unusably slow. (in case you are wondering, yes that only worked in browsers that fully support HTML5....Microsoft wakeup, you have been snoozing on the browser front since the DOJ decision, but that is a rant for another time.)

Also, HTML 5 is not an enterprise platform and it’s not exactly a huge leap forward from AJAX. It might bring a few more media elements to HTML, some movement, some transitions but it is not going to replace Silverlight or Flash within the next 10 years. It doesn’t have a robust programming model like Inversion of Control or any micro-architecture that is used in all quality enterprise software development these days.


Finally, Steve’s letter talks about “open systems.” Yes, the standard for Flash is controlled by Adobe but it’s published, with the Flex SDK freely available. There are also other vendors that have products to author Flash and Flex projects based on this standard. There is only one SDK for the iPhone/iPad, and in a final draconian move, Apple insists on approving all applications themselves. So if you want to publish an iPhone app, you have to send them the source code and wait to see if they accept it! That means that now Apple is acting as content censor and selector of what they think is appropriate. This is very contrary to open free markets and Apple has been under FTC Investigation more than once for this practice, most publically in its recent battle over Google Voice.

If I write something in Flash it will work on any phone that supports it: Droid, or Windows Mobile, Mac or PC, desktop, notebook or netbook… and in every browser from Safari or Chrome to IE and Firefox. Write once and publish everywhere – that’s open.

If I write an app for the iPhone it works in one place – the iPhone. I’d even need to modify it for the iPad.

Apple has always pissed off the developer world with their closed systems, e.g. with iTunes. It wasn’t until after years of public pressure that Apple abandoned their proprietary AAC format for iTunes in lieu of the truly open standard of MP3. The fact that I can’t put a different OS on my iPhone or iPod is unacceptable to me, and I believe that the limitation that Apple OSX only works on Apple machines will be their downfall. Windows or Linux in contrast will work on any hardware big or small, including Apple’s. The future is open systems, not tightly-closed proprietary ones.

So here’s how all of this relates to Overstat: Our Patent filings are not specific to Flash, but specifically name Silverlight, Flash, Java and DHTML. This is so we could, if we wanted to, simply switch our interface to use any other display technology. Our server side application is built to be plug-and-play with anything on the front end from HTML 5 to Java or Flash.

We chose Flash because it is the best solution now, and will continue to be for some time into the future. Silverlight may rise up and give it a challenge if Adobe does not clean up their publishing framework, but the developer community around Flash took a decade to create and any competitor is facing massive Internet momentum, which is rarely overcome. I’ve been waiting for Apple to green light Flash on their devices, but Steve’s letter looks to me like they’ve decided to dig in and take the stance of “just say no” to Flash.

That doesn’t surprise me, given Steve and Apple’s history of attempted control. However I do think there may be an opportunity for Overstat to run on the iPad, so maybe we’ll explore a Cocoa version for that platform (and maybe not). In business, most real, productive work will continue to take place at workstations, and there is absolutely no danger of those not supporting Flash any time soon.

No comments:

Post a Comment