Why 3.3.1 is the best thing what happened recently

The IT industry is in turmoil over a change Apple did in their iPod/iPhone/iPad license:

Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

Basically, what they are saying is “you will use our SDK and that’s it!” I’m not going to expand the point that about 90% of the people complaining about this change did not and wouldn’t ever write an App for the Apple store.

The good thing about this all is that Adobe thought it was a direct attack to their Flash platform (which I kinda don’t agree because I have my own conspiracy theories, but I can see their point) and decided to bash Apple. Apple (Steve Jobs, actually) decided to write a long response to Adobe. Yes, there are a lot of wrong points on it and I’ll let you read Thom Holwerda article about this.

If there is a lot of bashing around, why I think this whole mess is any good?

Well, first of all, Jobs is right about Flash: I’m tired of closing Firefox ’cause a Flash applet is burning my CPU just to show a small game of two guys trying to beat each other in eating bananas or because, apparently, the runtime is still running, eating memory and making Firefox slow. Flash is not accelerated in anyway in OS X or Linux, even if the technology is around for years. And Jobs claims about Flash will (or, at least, I hope it will) force Adobe to produce a decent runtime for Flash very soon. The more Jobs bash them, the better.

Second, we finally have a good discussion about the open platform of the future: the web. I can’t recall so many discussions about HTML 4.0 or XHTML 1.0 before this. And now we have a lot of people discussion the merits and weakness of HTML 5. “Can it do that?” “Can it replace this?” and such will only improve the draft even further. The “can’t”s is actually the best point of this all: If the W3C keeps an eye on it, who knows what new features HTML 5.1 will have?

As a side note to the HTML 5 discussion, it seems that some companies are already aiming products that will use HTML 5 features (Google seems to be pushing better features for HTML5-capable browsers, although the look and feel is still the same) and I expect that in a few months, some sites will display the dreaded “this page requires [browser X] or superior” what we saw in the 90s. But it will be for a good thing: old, bug ridden browsers will not display things properly and people will be force to drop that in favor of newer, better browsers. And not only that, but the hidden “you need that browser because we put something that only that browser supports” will be replaced by “you need that browser because we put something that only the new, open standard supports it”.

Third, still part of the HTML 5 discussion, we have the h264 codec discussion (which is the codec used to transmit videos on the web in HTML 5.) Jobs position of the “open web” pointing h264 is just bringing more and more discussion about the patent encumbered codec. The more Jobs hits the point about this, the more people will point that h264 is not an open codec and that, sooner or later, some company may screw the whole internet because they got angry with someone and decided to revoke all licenses.

The whole Adobe vs Apple discussion is awesome for the open web, because both companies are pointing exactly what’s wrong with the current situation.