iPadに手を出そうかどうか迷っている一番の理由がちょうど取り上げられていた:
Flash, Scratch, Ajax: Apple’s War on Programming
iPhoneの新しい開発者向けライセンスの一部が抜粋されている:
3.3.1 — 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).
開発者は決められたAPIのみを利用し、Objective-C, C, C++, Javacscriptの何れかで記述されていなければならず、さらに他の言語を解釈・翻訳して実行するようなインタープリターは禁止されている。これはプログラムを書く側からすれば非常に制限的な取り決めだ。
If Apple wants to prevent competing app stores, it has to keep apps like Ed’s App World from existing.
何故このようなプログラマの手足を縛るような条項が存在するのか。それはAppleが自社のApp Storeと競合するようなプラットフォームをiPhone, iPad上に構築されるのを嫌っているためだ(引用中のEd’s Appというのは原文中で使われているインタープリターのような仮想アプリだ)。
Apple has long been trying to keep specific technologies like Adobe’s Flash off the iPhone and iPad because these technologies have EAW-like features
AdobeのFlashをiPhone/iPad上から排除しているのも同じ理由だ。
Apple’s ban on programmable apps goes beyond just Flash. This week Apple banned Scratch, a widely used educational tool that introduces students gently to computer programming by letting them construct animations.
最近も、教育用ソフトウェアであるScratchが禁止された。Scratchはプログラミングを勉強するために実際自分で簡単なアニメーションを作るソフトウェアだ。これを禁止したい理由は、App Store的なものを構築されるのを防ぐことぐらいしか思い当たらない。
What’s really interesting is that despite Apple’s best efforts to block these apps, there is an enormous EAW-type system that Apple hasn’t had the guts to block: the web. Thanks to so-called Ajax technologies, the web has become a vehicle for delivering app-like functionality (within web pages).
Appleが禁止することが出来ないでいる、App Storeのようなシステムも存在する。それはウェブ上のAJAXを採用したサービスだ。さすがのAppleもこれを禁止することはできない。
And Apple’s Ajax problem will become even worse as HTML 5 comes online, with even better support for web-based apps.
この問題はHTML5によってさらに悪化するとあるが、逆にAppleがHTML5のインプリメンテーションを遅らせる可能性もある。これはMicrosoftがIEで実際に行った作戦であり、絶対にないとはいい切れない。
To me, this is like saying that you don’t care about restaurant closings because nobody in your house knows how to cook. If you can’t cook for yourself, you should care more about restaurant quality. If all of the good restaurants close, good cooks will just make their own good meals — but you’ll be out of luck.
では何故開発者に対する制約をユーザーが気にする必要があるのか。いい比喩が挙げらている。レストランがなくなって困るのはレストランだけでなくそこに食事にくる客も困る。それどころか、自分で料理ができない人ほどレストランがなくなると大変なことになる。プラットフォームにおけるデベロッパーとユーザーの関係も同じだ。