Hatena::ブログ(Diary)

独学ActionScript このページをアンテナに追加 RSSフィード

2010.04.12

Flash CS5はどうなる? 「iPhone OS 4 SDKの規約変更」に関する記事まとめ

先日iPhone OS 4が発表されましたが、それと同時にiPhoneアプリを開発するための規約が変更され、その中には、今夜発表(日本時間で13日0時)が予定されているFlash CS5の目玉機能「Packager for iPhone」iPhoneアプリ書き出し機能)が全く使い物にならなくなる可能性のある文章が含まれていました。

個人的に楽しみにしていた機能だったので、「Flash CS5はどうなってしまうんだろう?」という思いから、この規約変更に関する情報をできるだけ集めてまとめてみました。


5行のまとめ(時間のない人向け)

かなりの省略・意訳*1ですが、これまでの規約変更に関する流れ(4月8日〜13日)を大ざっぱに5行でまとめると以下のようになります。

発見した人『この規約変更って、クロスコンパイル(Flash CS5やMonoTouch等でのiPhoneアプリ書き出し)が禁止ってことじゃない?』
アドビの中の人1『今新しい規約を調査してるけど、私たちはFlash CS5で登場する「Packager for iPhone」(iPhoneアプリ書き出し機能)の開発を継続していく。』
アドビの中の人2『私たちはCS5のこの機能をそのまま提供するつもりだ。そしてアップルがそのアプリケーションを規定の変更に従って許可するのか、しないのかは彼ら次第だ。』
スティーブ・ジョブズ『(Flash CS5等で書き出された)変換したアプリは、今後iPhone OSに追加される新機能に対応できなくて進化を妨げるから禁止したよ。』
CS5プレスリリース『さらにFlash Professional CS5の構成製品であるPackager for iPhoneを使って、 iPhoneやiPad上で展開できるアプリケーションを開発することができます(Appleの要件ならびに承認に影響をうける場合があります)。』

という感じで、Adobe陣営にとって現時点ではかなり厳しいと言わざるを得ない状況だと思います。

今回の規約変更について、1つ注意しなければならないのは、禁止されたのは「Flash」自体ではなく(Flashは元々iPhone/iPadでは再生できません)、「一旦Flash CS5等の別の開発環境を使ってアプリを作成し、それをiPhone用アプリに変換する技術」(クロスコンパイル)であるという点です。これは事情をよく知らないと混同してしまいそうなので、今回の件で抑えておくべき重要なポイントです。

(2010.04.15 追記)

13日に行われたCS5発表イベントでは、今回の規約変更による「Packager for iPhone」への影響について触れることはなく、Flash CS5の目玉機能が「テキストエンジン(TLF)」に変わっていました。また、先日公開されたFlash CS5の公式サイトでも同様に、今まで猛プッシュしていた「Packager for iPhone」は少しも紹介されておらず、小さく以下の一文が記述されているだけです。(2010年4月15日現在)

※「Packager for iPhone」については現状のAppleの要件と承認を条件とします

確定情報ではないのですが、今回の件でAdobeはAppleを訴訟に持ち込む話も出ているようです。

(2010.04.23 追記)

残念ながらAdobeは、今後「Packager for iPhone」の開発を継続しないことを明言しました。

チェンバース氏は、Packager for iPhoneはiPhoneとiPad向けにリリースするが、Adobeは「この機能にそれ以上の投資はしない計画だ」と、開発終了を示唆している。同氏は、Appleが新たな規約をFlash CS5で開発されたコンテンツに適用するだろうと確信しており、開発者はFlash CS5で作成されたアプリコンテンツiTunes Storeから削除されることを覚悟しておくべき」と注意を促している。

Adobe、iPhone向けFlashを断念 Androidにシフトへ - ITmedia News

アドビの複数のエグゼクティブが以下のように回答しています。(中略) 「Package for iPhone」(FlashアプリケーションiPhoneアプリに変換する機能、Flash Builder CS5に同梱される予定)は出荷するが、その機能に関しての投資は今後行わない。

3分で読める、本日発表のアドビ最新事業戦略 − Publickey

ほんの2週間程度の間に、AdobeおよびAppleをめぐる様々な情報・ニュースが流れ、それについて議論百出といった感じで、色々考えさせられました。今回のこの一連の騒動は、これから盛り上がるであろうスマートフォン業界に大きな影響を与えるターニングポイントになるのではないかと個人的には思っています。

(2010.04.30 追記)

スティーブ・ジョブズFlashに対して公式な声明を発表しました。

なぜ Flash を iPhone OS に採用しないのか。顧客と批評家に理解してもらうために、我々の Adobe Flash 製品に対する考えを書き留めておこう。「Apple はビジネス上の判断で Flash を搭載していない」「Apple は App Store を守りたいのだ」と Adobe は主張している。しかし、実際には、技術的な問題が理由である。「Apple はクローズドであり、Flash はオープンである」と Adobe は主張する。しかし、実際には逆である。説明していこう。

この前文に続いて、6つの理由が並べられています。その理由については様々なブログTwitter上などで賛否両論な感じですが、少なくとも今後AppleがFlashを採用することは絶望的だということは現時点*2では間違いないでしょう。残念な結末ですが、Flashに携わる側の人間としてはこれ以上被害が広がらないことを願うばかりです。


目次(ページ内リンク

というわけでここから先は、上記の出来事を更に詳しく知るための、今回の「iPhone OS 4 SDKの規約変更」関連記事へのリンク及び引用です。新たな情報・記事を見かけ次第追記していく予定です。各カテゴリごとでは基本的に時系列で並べてあります。引用箇所は個人的に重要&興味深いと思った部分ですので主観的です。詳しくは元記事をご覧になってください。また、時間のある方は各記事のブックマークコメントも併せて読むと様々な視点からの意見を得られると思います。

  1. 規約変更に関する「ニュース・情報」的なもの
  2. 規約変更に関する「批評・感想」的なもの
  3. その他
  4. 英語の記事

規約変更に関する「ニュース・情報」的なもの

Adobe Flash Professional CS5や、.NETを利用してiPhoneアプリを開発できる開発環境「MonoTouch」などは禁止という事になるかもしれないようです。(中略) この件に関連し、TwitterのAdobeアカウントで、我々は、新しいSDK契約書の文言を調査中で、FlashでデビューするPackager for iPhone OSのを開発し続けるとツイートしています。

実は、Adobe社ではFlashでiPhoneアプリを開発したいデベロッパーのために、FlashコードをiPhone向けに中間翻訳コード出力する機能を備えた「Adobe Flash Professional CS5」を来週に正式発表する予定となっていた。今回のApple側の規約改訂は、それを阻止するための策であるとみられている。

でも、最終的にObjective-C(またはC言語やC++)になっているなら、元の言語が何だったかアップルにはわからないのでは? Flashのデベロッパーで、ActionScriptで開発中のiPadアプリをあきらめるかもしれない人に聞いてみました。すると、多くのクロスコンパイラは一連の統合ライブラリを使っているので、iPhoneアプリになっていてもすぐにわかってしまうという答えでした。

アドビは本件についてミニブログTwitter』で「新しい開発キットについて認識しており、調査している。我々は『Flash CS5』でデビューする『Package for iPhone』技術の開発を継続していく」とコメント。『VentureBeat』は、このコメントをアドビスポークスマンであるStefan Offermann氏の発言として報じています。

アドビは米国時間の4月12日(月)午前8時(日本時間では13日の午前0時)に『Flash CS5』を含む製品群の発表イベントをオンラインで開催することが明らかになっており、本件についても何らかの声明が出されることが予想されます。

新規約によりApple純正ツール以外でのiPhoneアプリ開発はほぼ不可能になる。Apple純正ツール以外のiPhoneアプリ開発環境の著名なものとして、これまでにFlash CS5のPackager for iPhoneとMonoTouchなどを紹介してきたが、これらもすべて利用不可能になる可能性が高い(「Titanium」や「PhoneGap」は不透明とされている)。

規約変更の理由としては、たとえ公開APIのみを利用していても、Objective-C, C, C++で書かれていないとアップル側で調査できず承認に差し障るという主張が考えられます。が、意図として考えられるのはやはり Flashの締め出し。(中略) 「将来的にFlash や Javaをサポートする計画は?」という説明にジョブズは「No.」と答えるなどFlashを認めない方針を明確にしていました。

Appleが無署名アプリを許容しない本当の理由は何だろう? それは、iPhoneに対する完全なコントロールを維持して、クリーンで心地よい環境を永続させたいからだ。また、Googleに対してやったように、競合他社からのアプリケーションをブロックできるためだ。

Jobsが言ってるAndroidポルノ専門ストアは、実際にある。

「Adobe社は、現在、慎重に内容を検証しており、公式な結論が出るまではこれ以上のコメントをしない」という書き出し始まるブログだが、以下、ポイントを意訳してみた。(中略)

「多くのAdobeのサポーターはCreative Suite製品のOS Xサポートを停止すべきだと言うが、それはAdobeが絶対にやらないことだ。我々はローヤルカスタマーに嫌がらせをしたり、他の企業を傷つけるために利用したりはしない。」

またMacRumorsでは、今回のAppleの措置は、マルチタスクの導入と深いつながりがあると見ています。

つまり、AppleがiPhone OSのために用意したマルチタスク管理機能を最大限に活かすためにはObjective-Cで書かれている必要があるために、それ以外の言語を排除しているのだというのです。

AppleInsiderでは、Appleの新しいiPhone SDK 4.0のライセンスが、Flash CS5などで作成するクロスコンパイルされたサードパーティアプリを禁止しているのは、マルチタスキング機能が理由のようだと伝えています。

再び、Slepak氏は開発者の視点でみれば、創造性を制限している旨のメールを送ったところ、数分で返事が来たそうだ。「我々は以前そういうことを経験しているんだ。プラットフォーム開発者間の中間レイヤ(CS5やmonoなど)は結局のところ標準以下のアプリを生産し、プラットフォームの進歩を妨げてしまうんだ」

アドビのCTOであるKevin Lynch(ケビン・リンチ)氏は、同社のブログに「CS5 Countdown is on...」というエントリをポストしてアドビの姿勢は変わらないことをデベロッパーたちに伝えています。(中略)

「私たちはCS5のこの機能をそのまま提供するつもりだ。そしてアップルがそのアプリケーションを規定の変更に従って許可するのか、しないのかは彼ら次第だ。」

さて、ジョブズ氏の最初の返事で引き合いに出されたURLは、「Daring Fireball」というブログの「Why Apple Changed Section 3.3.1」というエントリでした。このエントリには、なぜ中間レイヤプラットフォームの進化を妨げるのかについて、以下のように書かれています。

アップル以外が提供する、あるクロスプラットフォーム対応のツールキットが広まることを考えてみてよう。アップルが新しい機能を備えたiPhone OSをリリースしたとき、ツールキットを提供するほかの企業がそのサポートを遅らせたらどうだろう。サードパーティアプリケーションがそれらの新機能をいつ利用できるかを、他の企業がコントロールすることになる。そこがポイントだ。」

Slepak 氏の返信は (また要約すると):それでもこの方針はアップル自身にダメージを与えると思う。iPhoneはこの規約がなくてもここまで成功してきた。こんなことをすれば逆に開発者があなたへの敬意を失い、逃げ出す動機になる。(Gruber 記事へのコメントを引いて) 「良い製品を作り、正直に宣伝する」以外の方法で競争に勝とうとするのが悪の定義なら、このやり方はアップルを「邪悪な」企業にしてしまう。またクロスプラットフォームフレームワークで書かれたソフトウェアにはFirefoxをはじめ多数の成功例がある。「アップルが 3.3.1節(の変更) で得るものは多くないどころか、多くを失うと考えています」。

これに対して、ジョブズからの返信は「それは以前にも経験した。プラットフォーム開発者のあいだに中間レイヤーを置けば、結局は水準以下のアプリを生みプラットフォームの進歩を妨げる。」

Slepak氏はジョブズが引いた Gruber 記事とその推測に意見するかたちで、Blog上でまたまた猛然と反論しています。短くまとめれば:

MonoTouchに関して言えば、MonoのプロジェクトリーダーであるMiguel de Icaza氏は、それほど心配していないようだった。「MonoTouchは既にC + XCodeへコンパイルするオプションを用意している」とIcaza氏はTwitterで述べた。

だからといってこれで安心できるわけではない。なぜなら、SDKには「Objective-C、C、C++またはJavaScriptでオリジナルのソースコードが記述された」と書かれており、別の言語でオリジナルのソースコードで記述され、仲介手段を通して許可されている言語に移されたとは書かれていないからだ。「この合意条件では、ソースコードについて言及するときに、『オリジナル』という言葉を使っている。これはグレーゾーンであるため、強制するのは難しいかもしれない」とPhil Nash氏はTwitterでつぶやいた。

複数のデバイス向け開発者ツールを手がける企業で、ほかに影響を受けそうなのはUnity Technologiesだ。同社の最高経営責任者(CEO)であるDavid Helgason氏は声明の中で次のように述べた。「われわれは、Appleから何かが変わるという知らせを全く受けていない。われわれはAppleと素晴らしい関係を築いている。そして、弊社の12万人以上のユーザーに中断することなくサービスを提供できるように、われわれは全力を尽くしてAppleのTOS(利用規約)--この利用規約もまだベータの段階にあり、今後書き換わる可能性もある--を遵守するつもりだ」

同氏は、今回の決定をチェスにたとえ、反Adobe運動においてAppleが開発者を駒のポーンとして使っていると批判した。

Brimelow氏は「Apple社員の多くが同ライセンスに強く反対しているだろう。真の開発者なら、このような判断に従うなど良心が許さない。ただしAppleの従業員はオープンな文化の企業なら許可されるブログソーシャルネットワークなどの利用が禁じられているため、社内の反対意見は外部に出てこない」と述べた。

同氏は「Appleのリーダーが変わるまで、たぶんもう1セントたりともAppleに払わないだろう。既に本、音楽、ビデオの購入はAmazonに移しているし、ほかのサービスを探し続ける」とApple製品の不買を宣言。ブログの最後を「くたばれApple」という言葉で締めくくっている。

米ITWorldは、関係者の話としてAppleのFlash外しに対し堪忍袋の緒が切れたAdobeがいよいよAppleを訴える準備を始めたと伝えている。2、3週間以内に提訴する見通しという。まだ報じているのがITWorldだけだし、そのITWorldも一人の関係者の話としてブログ的に軽く書いているだけなので、確実な情報とはいえない段階。また具体的にどういう法的根拠で提訴するのかも分からない。

法的根拠は分からないが、Appleが特定の言語で開発されたアプリ以外は認可しない方針に変更したことがきっかけになったもようだ。

ITWorldの記者は「わたしが聞いた話から考えると、数週間以内にAppleとAdobeの間に劇的な変化がない限り、Adobeはこの問題でAppleを法廷に引っ張り出すだろう」と述べている。

アップルがどのような態度に出るにせよ、今回の騒動は「ひも付き」デバイス時代を象徴する出来事といえる。iPhoneをはじめとするインターネット接続型のハードウエアは、ユーザーに販売された後もコンテンツ配信という仕組みでメーカーのひも付きになる。iPhoneというエコシステムの一翼を担ってきた企業でさえ、アップルのさじ加減一つで簡単に切り捨てられるリスクがあるのだ。

一方、ユーザーソフトウエアの継続的なアップデートを受けられるメリットの代償として、アプリの採否の決定権をアップルに委ねざるを得ない。アップルがあるコンテンツオンライン配信サービスの「App Store」から排除すると決めれば、ユーザーは手に入れることができなくなる。

FlashプラットフォームのPrincipal Product Managerを務めるMike Chambers氏が、Flash CS5のiPhone OSプラットフォーム向けツールの開発打ち切りブログで発表。今後はAndroidなど、閉ざされていないプラットフォームを積極的にサポートしていく意向を明らかにした。

(中略)

Flash開発者に対して「Appleが、Flash CS5で作成されたアプリケーションコンテンツiTunes Storeから削除するのに備えるべきである」と警告した上で、「Flash CS5では今もiPhoneやiPadをターゲットにした機能を提供しているが、現時点でこれらの機能に追加投資していく計画はない」と明かした。

今後はAndroid、webOS、Windows Phone 7Blackberryなどで、Flash Player 10.1/ Adobe AIR 2.0によるクロスプラットフォーム実現を目指す。中でも搭載デバイスが急増するAndroidを有望視しており、ブログではJosh Tynjala氏、Jobe Makar氏、Alan Queen氏などiPhone向けのFlashコンテンツプロジェクトAndroid向けに切り換えた開発者を紹介している。Chambers氏自身、これまでのiPhone向けの取り組みをAndroidデバイス向けにシフトさせるという。「個人的には特に、今年後半に登場するAndroidベースタブレットに関心を持っている」と語る。

Los Angeles Timesは、「(Appleの条項は)いわば宣戦布告であり、Adobeはすぐには(宣戦布告と公には)認めなかったが、今まさにそれを認めた」と評している。

チェンバース氏は、Packager for iPhoneはiPhoneとiPad向けにリリースするが、Adobeは「この機能にそれ以上の投資はしない計画だ」と、開発終了を示唆している。同氏は、Appleが新たな規約をFlash CS5で開発されたコンテンツに適用するだろうと確信しており、「開発者はFlash CS5で作成されたアプリコンテンツiTunes Storeから削除されることを覚悟しておくべき」と注意を促している。

「幸い、iPhoneしか選択肢がないわけではない」。同氏はこう語り、Androidが勢力を伸ばしていることを指摘している。「わたし個人は、モバイルへの取り組みをすべてiPhoneからAndroid端末に移し(特に年内に登場するAndroidタブレットに関心がある)、iPhoneにはもうあまり力を入れないつもりだ」。AdobeはAndroid向けのFlash Player 10.1とAdobe AIR 2.0の開発でGoogleと協力しており、これらプログラムを非公開βテスト中という。

「Appleが作り上げようとしている閉鎖的なシステムは、業界、開発者、そして消費者にマイナスになると考えている。わたしはこのような動きを積極的に推進したいとは思わない」と同氏。「最終的には、オープンなプラットフォームが、Appleが作ろうとしている閉鎖的なプラットフォームに勝つと確信している」

Adobeはこの問題を重要視している。同社は規制当局への提出書類の中で、iPhoneと「iPad」がAdobeの技術をサポートしない場合、Adobeの事業は打撃を受ける可能性があるとの見解を明らかにした。また、ある報道によれば、AdobeはAppleに対して法的措置を検討している可能性もあるという。

これに対しAppleは、今後有力視されている多様な標準技術を優先する方針を示唆した。こうした技術は、全体としてFlashの機能と競合する。

「時代おくれの考え方をしている人がいるようだ。オープンで標準技術なのはHTML5、CSS、JavaScript、H.264(いずれもiPhoneとiPadでサポートされている)であり、AdobeのFlashは閉鎖的でプロプライエタリだ」と、Appleの広報担当者であるTrudy Muller氏は声明で述べている。

質疑応答では、アップルがiPhoneでFlashの技術を完全に排除したことについての質問が行われました。アドビの複数のエグゼクティブが以下のように回答しています。

アップルはオープンプラットフォームを選択しないとした。私たちはそれ以外のパートナー、グーグルノキアパーム、リムなどと協業していきたい。多くの顧客は、いちどオーサリングしたコンテンツはあらゆるプラットフォームにパブリッシュすることを求めており、それに従って注力していく。

クローズなベンダはそうした共通のテクノロジが使えなくなるだろう。

「Package for iPhone」(FlashアプリケーションiPhoneアプリに変換する機能、Flash Builder CS5に同梱される予定)は出荷するが、その機能に関しての投資は今後行わない。

Appleが一部「アダルトコンテンツ」をApp Storeから締めだしたことに関し、スティーブ・ジョブズ氏が「ポルノが欲しい人々はAndroidを買えばいい」といった趣旨の発言をしたそうだ。

この発言はジョブズ氏とTechCrunchのMG Siegler氏との間でやり取りされていたメールで発せられたものだそうだ。メールはAppleが最近ピューリッツァー賞を受賞した風刺漫画家アプリケーションApp Storeから排除したことに関する内容で、ジョブズ氏はこのアプリケーションが排除されたのは誤りであったと認めながらも、「我々にはiPhoneにポルノを登場させない倫理的責任がある。ポルノが欲しい人々はAndroid携帯を買えば良い」と述べたという。

Jobs氏は、次の6つの点において、Flashを批判した。つまり、オープン性、「フルウェブ「full web)」、信頼性とセキュリティパフォーマンス、バッテリ寿命、タッチ互換性、そして、Flashのクロスプラットフォームツールとしての性質についてである。AdobeとAppleの間には、「iPhone」「iPod」「iPad」へのFlashの搭載をAppleが拒絶したことを最大の要因として、長期にわたって論争が繰り広げられており、Jobs氏の今回の長い公開書簡は、その最新ラウンドである。

AppleはHTML5やJavaScriptなどのオープンなWeb標準を採用し、WebKitなどオープンな技術を提供していると同氏は主張している。また、「iPhoneはFlashをサポートしていないのでWebをフルに体験できない」というAdobeの批判に対しては、「ほとんどのFlashビデオがH.264などのフォーマットでも提供されており、iPhoneで視聴できる」と反論している。

またジョブズ氏は、Flashで多数の脆弱性が見つかっていること、Macがクラッシュするナンバーワンの理由はFlashであることなどセキュリティと信頼性の問題も挙げている。Flashがバッテリーを消費することやタッチ操作に対応しないことも、サポートしない理由だとしている。

さらに、一番重要な理由は、Adobeが開発者にFlashを使ってiPhoneアプリを作らせようとしていることにあると同氏は言う。開発者がAdobeのようなサードパーティーの開発ツールに依存すれば、iPhone OSの新機能をアプリ開発に利用できるかどうか、いつ利用できるかがサードパーティーによって決定されてしまうと同氏は主張している。特にクロスプラットフォームツールでは各種プラットフォームの「最小公分母」の機能しか提供されず、「開発者がAppleの最新技術を利用できない状況は受け入れられない」という。

Appleの最高経営責任者(CEO)Steve Jobs氏が、同社の「iPhone」でAdobe Systemsの「Flash Player」のサポートを拒む理由を説明したことを受けて、Adobeの最高技術責任者(CTO)は明るい口調で、AdobeはAppleがいなくても前に進んでいくと語った。

「Adobeがほかの多くのパートナーと協力しているように、AppleとAdobeが力を合わせることができれば、iPhoneや『iPad』『iPod touch』でも、Flashを使って素晴らしい体験を提供できると確信している。しかし、先週の投稿で述べたように、Appleが開発者に課している法的条件を考慮した結果、Flash Playerと『AIR』の両方について、注力する対象をApple製デバイスから別のものに移すという決定を下した」。


規約変更に関する「批評・感想」的なもの

この「Packager for iPhone」というFlashのiPhoneアプリケーション変換機能は当然Flash開発者コミュニティで歓迎され、日本時間で4月13日午前0時に発表されるAdobe Flash Professional CS5から搭載される予定でした。ところが、そういった「Flash(ActionScript)から変換して開発すること」までもを先に禁じてしまったのがこの規約の変更点、というわけです。(中略) iPhone/iPadは、明確にアップルのビジョンを実現するための製品です。だからこそ(アップルのビジョンへの期待も込めて)“共感を産む”製品となっているのだと思います。

(中略)

…しかし、ヤラれてしまったAdobeは次にどう出ますか。

個人的には「規約上Objective-C,C,C++からコンパイルしなきゃいけないんだな?じゃあやってやるよ!」とか言ってFlashからメニュー一発でソースコードを書き出してから自動的にコンパイルするような「午後のこ〜だ方式」を実装してくれちゃったりするとバトルの行方が楽しみだったりするのですが。ムリかなあ。

このことに危機感を持たない開発者がいたらおかしいよ。どの言語を選択するかは開発者の権利だし、開発者の環境を縛っていいのは顧客だけだ。プラットフォームベンダにどうこう言われる筋合いはないし、そんな要求に唯々諾々と従ってはいけないと思う。Appleは越えてはいけない一線を侵してしまったし、当面iPhoneOS上でアプリを書く予定のないおれにとってすら、これは吐き気がするほどの嫌悪感を抱く暴挙なんだ。

これによりslider::mobile flex frameworkを利用してもiphone/ipod touch、ipadは対応できなくなった。

ただadobeはtwitter上で開発は継続すると言っている。

しかし今業界は、Appleとのあいだにあったイノベーションの差を急速に縮めつつあるから、どうも“歴史は繰り返す”ことになりそうだ。モバイルのOSをGoogleが支えていることは、デバイスメーカーにとっては経済的な優位性を意味する(==自分で開発〜メンテをしない)。Jobsは、最大のAndroidメーカーであるHTCを訴えたりしてAndroid封じに躍起だ。彼はまた、持てるものすべてを投じてGoogleと戦っている。自分もモバイル広告の市場に参入することによってGoogleのAdMob買収に対抗し、特許をめぐる訴訟によってAndroidのパートナーたちの心に不安材料を植え付けようとしている。

結局のところ、歴史を書き換えるのは勝者だ。今は、Jobsが勝っている。彼はこれからも勝ち続けるのか、それとも、歴史を敵に回すことになるのか?

iPhoneというプラットフォームでは、ある一定以上の規模のビジネスを成功させるには、Appleが敷いたレールの上を走り切るしかない。それは、つまりAppleが提供する真っ当な開発環境で開発し、Appleが望むiPhoneアプリを作成し、App Storeでのみお金が動く様(つまり常に3割はAppleにお金がはいる形で)に売る、ということだ。

Appleは今回の一件で、裏にどんな意図があろうと、表ではできるだけ平等にコンテンツを扱う、というプラットフォームの大原則もぶち壊した。もう、今後、App Storeで成功しようと思ったら、Appleの足の裏を舐めきる覚悟が必要だと思う。このリスクはすごいが、逆にプラットフォームとしてのリスクが増したことで、リスクテイカーが現れてくるだろうし、面白いことも起きてくると思う。喜んでいたFlash開発者には気の毒としか言いようがないが、CS5が発売する前でむしろ良かったくらいに考えるべきか。

ちょっと面白かったので訳してみた。

もちろん僕はよく訓練されたコンピューターサイエンティストだから、モジュール分割されたコードを設計する。タッチトラッキンググラフィックの出力、物理シミュレーション、得点の管理などに特化した様々なモジュールなんかに分割してね。コードのモジュール化を守るために、それぞれのモジュールに含まれるルーチンの呼び出しのシンタックスや、機能、副作用、必要な事前条件、エラーコードなんかもきちんと文書化しておこう・・・

ん、ちょっと待てよ?これはAPIじゃないか。どこからみてもこれは非常に良く定義されたAPIだ。そしてこれはAppleのAPIじゃないから、プライベートなAPIということになる。クソッ。もしかしてそもそもモジュールに分割することなんてできないんじゃないか。全部を頭の中でまとめ上げるなんて出来ないぞ。あー、まぁいいだろう。少なくともコードを関数に分割して整理することはできる。そうすればバカでかいスパゲッティの相手をすることだけは避けられるはずだ。

いや、待て。AppleのAPIを実行するサブルーチンを呼び出すサブルーチンを使うことと、「トランスレーションまたは互換レイヤーやツールを介して文書化されたAPIにリンクする」ことの違いはなんだ?そんなものはない!おいおい!!

Googleは,無関係の国を焼き打ちにしてきたが,Appleは,友好国を焼き打ちにしてしまった.

そこが両社の違いで,ビジネスに対するスタンスの違いなんじゃないかと思う.

ハッカーの「DVDヨン」ことヨン・ヨハンセン氏はジョブズ氏のこのコメントを受けて、自身のブログで次のように述べている。

WindowsiTunesCoreFoundationやCoreGraphicsなどの非ネイティブAPIを使っているため、スティーブ・ジョブズWindowsiTunesを水準以下と言っているようなものだ。iTunesWindowsネイティブAPIを使っていないため、Windowsプラットフォームの進歩を妨げているのだろうか? スティーブの論理で言えば、MicrosoftWindowsiTunesなどのアプリを禁止すべきだ」

そこで、TechCrunchなどが最近のApple批判記事で取り上げるAppleの“悪業”はすべて、フールプルーフ消費者製品を作らなければならない企業にとっては、当然の行為なのだ。たとえば、ブラウザシステムを頻繁にクラッシュさせるFlashはおことわり、というJobsの態度は至極当たり前だし、弊社がちゃんと検査して検査に合格したアプリケーションでなければユーザに使わせない、という姿勢も非常に納得できる。ライセンス方式による互換機の生産を禁じた件も、ある立場に立てば批判したくなるかもしれないが、フールプルーフの徹底を目指すかぎり、どこかの馬の骨に安物のMacやiPhoneクローンを作らせるわけにはいかない。

(中略)

ま、どんな品物でも、職人技の名品は大量生産はできないし、値段は高い。Apple製品は永遠にニッチ製品であらざるをえないし、それでいいんじゃないの。でも、もうそろそろ、フールプルーフ製品の「ユニクロ」が世に登場してもいい頃合いだとも思うけどね。近未来の、どこかのAndroid携帯orネットブックが、ほぼそれに該当するのかもしれないが。

そもそも本当に品質の高いアプリを高い生産性で開発出来る開発環境なら、んなもん強制しなくてもみんなそれ使うよ。だって良いものを作ったほうが売れるし、同じものなら簡単に作れた方が良い。必要なのは良アプリとゴミアプリを選別するための検索システムだけだよ。

すでにAppleが指定する言語以外の環境で作られたアプリケーションがAppStore上で配布されています。つまり、Appleが指定する言語以外の環境で開発をしている開発者がいます。そして、その開発者は実機でのテストをするため、AppStoreでの配布をするための料金も支払っています。そういった開発者たちが今後もさらに新製品を開発して配布するためには、開発環境そのものを変更する必要があるわけです。

(中略)

ただ、それまで許可していたものを、時間とお金をかけて作られていたものをいきなり一斉排除することは開発側の視点に立つと本当に辛い話です。その収益を当てにしていた開発会社だって少なからずあるでしょう。

今回の『iPhone』のクロスコンパイラにしても『Flash CS5』や『MonoTouch(C#)』での開発はなんら問題無いような気がする。アップル側は駄作アプリが市場にあふれかえることを避けたい為の規約なのだろう。しかし『iPhone』アプリはすでに“アタリショック”を起こしている状況で今更手を打っても手遅れではないだろうか?

数ヶ月後にはクロスコンパイラされたアプリの締め出しは容易に予想される。しかしアドビは『Flash CS5』の対応を継続していくとしている。アップルが早々にObjective-Cの開発環境をマルチプラットフォーム(Mac、Windows)に整えてくれたらみんなはそちらで落ち着くと思うのだが。開発者からしてみたら開発しやすい環境があればそれで良いのではないだろうか。

Internet Explorer から Flash の排除。HTML 5 を強制。もしくは Silverlight を推奨。

(中略)

携帯 OS との比較じゃないのでフェアじゃないとはいえ、これは…。

Appleを批判する前に、あまり使われるとは思えない新機能を搭載するよりも、動作を軽くするためにコーディングし直し、セキュリティ対策もするべきだと思います。あと、値段。ユーザーがこれだけ多ければ価格を下げられるはずです。Mayaとかも大胆な価格改定をしているのですから、出来ないわけがありません。既存ユーザーには優しく、新規ユーザーの獲得を考えれば出来ないわけがありません。

(中略)

iPadに載せられなかったのはFlashの重さだとジョブスは言っていますが、リソースが限られている組み込みには大きな問題です。そして同時に、タッチパネル環境でのイベントハンドリングをどうするの?という技術的な問題も解決していません。マウスキーボードによる操作とは違うのですからイベントハンドリングは重要な問題です。

(中略)

Flashは動画配信で広く使われていますが、それ以外はAJAXでたいていのことは出来てしまいます。AIRにしてもフレームワークインストールを必要とするし、重いし、何がしたいのか解りません。というか、ネイティブな言語で開発するべきものまでAIRで適当に作っているところもあり(radikoガジェットとかw)、いい加減にして欲しいという心境です。

互いの感情の流れをひとことで整理すると、こう。

アップル派「アップルから許可を得てから開発しなかったアドビが悪い」「アドビはCS5を人質にとった」

アドビ派「アドビがクロスコンパイラ開発していることは世の中の誰もが知っていた。それを直前まで放置して禁じるなんて汚いぞ」「どの言語を選ぶかぐらい開発者の自由にさせろってんだよ、てやんでえ」

挙げ句に、ジョブズ15年復讐説なんてのも出ましたね...。

アップルが傾きかけた時、アドビはさっさと開発の重点をマイクロソフトに鞍替えした。冷や飯食わされたジョブズはずっと虎視眈々と復讐の時を待っていたのだ」

重要なのは、この国際規格のデータシンクの基盤に、「双方向のシンク」をいれることである。オープンなデータ同期プロトコルが主流になれば、iTunesはその優位性を完全に失う。 Appleがそれを受け入れればiTunesは囲い込みが不可能になり、拒否をすれば世界vsAppleのスケール差の構造になるからである。

(中略)

というわけでFlash CS6と次のAndroidへのリクエストは、オープンなマルチデバイス間のデータシンク。そしてそれが数行でできるライブラリ。むろんオープンソースサーバー/母艦側のサポートも必要となる。

そういうフォーマットがデファクトになると、さすがにアップルも態度を変えざるを得なくなる。 Flashをブロックされてfladdictは怒ってるのでちょっと書いてみた。

今週アップルデベロッパを特定の開発ツール XCode に閉じ込めた。これはアドビの Flash を潰すためだと多くのひとは考えた。たしかに戦術的にはそうだ。しかしもっと大きな戦略的理由があるのだ。アップルは XCode ツールに移行するようデベロッパを促すことにより、アーキテクチャを変更する準備を整えているのだ。

(中略)

アップルが戦略的観点に立って垂直統合(vertical integration)に深く思いを致していることは明らかだ。CPU ビジネスに参入するという決定は軽々に行なわれたものではない。それはプラットフォームの伝統に基づき、デベロッパを(大きなネットワークの力を使って)望む方向に誘導できるという自信に基づくものだ。何が A4 の内部にあるのか間もなく明らかになるだろう。ひとつだけはっきりしていることがある。それはアップルアーキテクチャの変更をシームレスにするための基礎作業を行なっている最中だということだ。デベロッパは移行スイッチを押すだけで、自らのアプリに超高速とネイティブパフォーマンスを与えることができるのだ。

(中略)

アップルが Flash 論争へ人々の注意をひいて、その背後にある Steve Jobs の天才的ビジョンや行動に気付かせないようにしているのを見ると実に興味をそそられる。アップルの準備は整いつつあるのだ。歴史に残る垂直統合を成し遂げた最大の勝利者となるべき準備が・・・

Appleのスティーブ・ジョブズ氏は、不具合を起こす可能性が高いことや電池の減りが速くなることを理由にiPadなどのモバイル機器にFlashを搭載しない考え。本来ならハードメーカー1社がFlash搭載しなくてもAdobeには痛くも痒くもないはず。しかしその1社が、鳥飛ぶを落とす勢いのAppleなら話は別。

Apple製品に自分たちのコンテンツを表示させたいコンテンツ提供者やサイト運営者の間で、Flashを使わないことを決めるところが出始めている。航空会社のサイトもそうだし、最近では米TVネットワーク大手のCBS放送もFlashの対抗馬であるHTML5を採用に決めたという報道もある。

この流れに沿って将来はFlashがすべてHTML5に変わってしまうのだろうか?

アップルウェブでFlashを禁じているのは有名な話ですけど、注意したいのはこの規則改訂がそれとは明確に性質の異なる、もっと波紋を呼ぶものだということ。完璧なネイティブコードに変換したiPad/iPhoneアプリもFlashで書いたものはアップルの直接審査を通らないと誰もそのアプリインストールできないんですから、これは大きい。

(中略)

ジョブズ出版社を自分に隷属させ、競合アドビを駆逐するため彼等に負担を強いてることになります。この状況についてコンデナスト元技術部門トップのAlex Norcliffeはこう書いてますよ。

アップルがやったのは、まさにコンデナストUSの価値あるメディア提携先の梯子を外すことだ。ここ最近アップルは主に印刷分野に長い実績を誇る出版社の擁護者という風に自社を売り込んでいる。... でも本当の王者はジョブズさ。彼にちょっとばかし儲けさせてもらえる企業もそりゃ何社かあるだろうけど、それは片手間のことで、彼は打倒アドビという個人的な感情に任せた撲滅運動を進めたいがために、大事なメディア提携先が膨大な金を注ぎ込んできた努力を台無しにしているのだ。

(中略)

でも、「ニューヨーク・タイムズはこう」、「コンデナストはこうだから」と、こうした動きをいくら並べたところで、ジョブズがルールひとつ書き換えただけで、既存アプリと膨大な労力を無に帰した事実に変わりはありません。アップルはiPhone/iPadアプリを1個1個全部自分たちの承認を通すよう主張するだけで済まず、アプリの書き方まで支配したがってる、その現実に変わりはないのです。

実際に私が触ったのは、FlashCS5に組み込むことでiPhone用のアプリが書き出せる「Packager for iPhone」機能と、同じくFlashCS5と併用することで、Android端末用のアプリを作成できる「AIR for Android」機能です。

ひとつの開発環境で、複数のプラットフォームに対応できるのは、開発者にとって、とても素晴らしい事です。また、いちFlashユーザーとしても、慣れ親しんだ環境で、新しいプラットフォームアプリが開発できるのは、とても新鮮で楽しい事です。実際、アプリを作成する際、技術面ではほとんど既存のFlashムービーで使用していた事しか使用しませんでした。これは、開発者にとっては非常に有意義で魅力的な方針だと思います。

ただし、先日Appleさんより発表があった「Appleが提供する開発環境以外の締め出し」的な規約の変更により、iPhoneへのアプリ開発はできなくなるかもしれません。いちFlash開発者としては、「気持ちはわからなくも無いけど、マジかよこの時期に」と、思っています。ともあれ、Flashを使った、新しいコンテンツや表現の「場」の広がりに期待です。

「子供もインターネットも、Apple社よりも大きなものだ。世界の子供達にとって良いものは、どこの上でも稼働できる必要がある」と、Kay氏はWired.comへの電子メールで書いている。

(中略)

Jobs氏は今月、Kay氏にiPadを送り、Kay氏はこの製品の絵を描く機能などについて、「ファンタスチックなまでに良い」と評していた。しかしKay氏はWired.comに対し、iPadの最終的な評価は『Scratch』や『Etoys』(Kay氏が子供のために開発した別の教育的言語)がiPad上で使えるかどうかわかるまで控えたいと述べていた。

(中略)

MITメディアラボで博士号取得を目指しており、Scratchオンラインコミュニティーの主任開発者でもあるAndres Monroy-Hernandez氏は次のように述べている。「たとえScratchアプリが承認されたとしても、(第3.3.2項は)一般の若いクリエーターたちに非常によくないメッセージを送ることになると思う。子供達も参加するフォーラムを運営しているのだが、彼らはこの事態を非常に怒っている」

「たとえScratchアプリが承認されたとしても、それは、例えばMITに支援されないと、あるいはピュリッツァー賞という有名な賞を受けた人物だったことがわからないと、Apple社に影響を与えられないということを意味してしまう。これは非常にまずいことだ」(Apple社は最近、ピュリッツァー賞を受賞した風刺漫画家アプリをいったん拒否したが、批判を受けてこれを撤回した)「Apple社は問題のアプリを承認するだけでなく、ポリシーをもっとオープンなものに変更してほしいと思う」

『iPhone』の新OSが『Packager for iPhone』で制作したアプリを禁止することになれば、今後Androidプラットフォームに注目する開発者やクリエーターが増えていきそう。タカヒロウ氏は動画を公開することで、FlashからAndroidアプリへの移植が簡単にできることを証明してしまったわけです。Flashクリエーターの“iPhone離れ”が、この先アップルを動かすことはできるのでしょうか。今後もこの問題に注目していきたいと思います。

Apple的には「製品のクオリティーが保てないから」という理由だそうですが、 WindowsiTunesが意味もなくQuickTime入れたり、Windows非標準のUIを 使いまくっていて、お世辞にもクオリティーが高いとは言えないのを棚にあげて、 クオリティー云々と言い訳できるのでしょうか。アプリなんて所詮 玉石混淆。決めるのはユーザです。

(中略)

他人にはオープンだBSDだと「オープン路線」を要求するのに、 (実際Appleの製品は数多くのオープンソースプロジェクトで構成されています。) 自分は、開発者の囲い込みで「クローズド路線」を追求しています。 そんなにクローズドでやりたいのなら、MeCabなんて使わないで自社開発 すればいいのに。技術力不足の部分をオープンソースで補い、それ以外は 厳しい審査ってのはムシが良すぎます。

(中略)

私自身、ユーザの自由度を最大化するために、そして 自分がつぶしがきかなくなるのを避けるために、特定のプラットフォームに 特化したコードなんて書きたくありませんし、極力プラットフォームに中立 な立場をとっています。MeCabを苦労してクロスプラットフォームで動くように 作ったところ、Appleはそのうま味だけを(ライセンス変更要求付きで)搾取し、 逆にクロスプラットフォームで動くiPhone上のアプリは「気にくわないから」 という理由だけで排除する.... 営利目的だと分からなくもないですし、 多くの一般ユーザにとってはどうでもいいことかもしれませんが、 私のようなオープンソースを(金銭の絡まない)ライフワークにしている 人間にとってはなんとも理解しがたいです。

最初規約改訂のニュースを知ったとき、僕はとても愕然とし意気消沈ました。それはiPhoneにこれからコミットしようとしているたくさんのFlash開発者を含む開発者を敵に回し、iPhoneOSのプラットフォームの進歩がAppleの意図とはまったく逆で停滞し、開発者が離れてしまうと思ったからです。iPhoneがここまで成長したのも、かつてどのプラットホームも実現出来なかったほど多種多様サードパーティによるアプリに支えられていると思っています。Appleは企業間戦争だけでなく、もっと開発者の方を向いてほしいです。

プラットフォームにおける開発者にとっての参入障壁は、低いにこしたことはないと僕自身は思っています。Flashの他にも、UnityやMonoTouchなどで、C#での開発もできなくなりました。僕自身もRubyCocoa for iPhoneをやっていましたが、今回の規定改正で、ついぞ日の目を見ることががなくその前途を絶たれました。まったくもって残念ですし、まさにオワタ感。

絶望して悶々としていても仕方がないので、ずっとあれこれ考えていました。そこで以前考えていたアイディアを思いだしました。Flashのフレームワークにできるだけ近づけたObjCのライブラリOpen Source (AppStore対応で、MITかBSD) で作る、というものです。これであれば、規約的に問題ないはずです。ObjCという言語の障壁は残るものの、フレームワークの違いによっての参入障壁が多少なりとも低くなったり、純粋にObjCのプログラムとしても作りやすいものがでできるんではないかなと。

iPhoneからFlashを排除する理由が、ジョブズ氏が主張するように「中間レイヤは、最終的には標準外のアプリを生み出し、そしてプラットフォームの進化を妨げる」のであれば、本当はアップルはFlashと同じようにHTML5とJavaScriptも排除したかったのかもしれません。

しかしアップルでさえ、iPhone/iPadに対してHTML5とJavaScriptを排除することは将来にわたってほとんどありえないと言えるでしょう。それはWebに対応しなくなる、ということなのですから。

アップルがiPhoneからFlashを排除した結果、HTML5とJavaScriptは将来のアプリケーションプラットフォームになる可能性をひとつ高めました。

ただ、「中間層があるとプラットフォームの進化が止まる」という主張には賛同しかねる。Apple は中間層を無視してプラットフォームを進化させたらいい。本当に革新的な進化に自信があるのならば、Apple は全ての中間層を許可した上で、iPhone SDK を直接使った革新的なアプリケーションのほうが App Store で人気になることを証明すればいい。そうじゃなく最初から締め出そうとするのは、プラットフォームの機能をフルに利用しないアプリケーションでもヒットしてしまうことを知っているからではないのだろうか。


その他

Novellは7日(米国時間)、MonoTouchの最新版となるMonoTouch 2.0のリリースを発表した。(中略) C#などの.NET対応プログラミング言語を使ってiPhone / iPod touch向けアプリケーションを開発できるという特徴がある。

評価はかなり好意的で(「UI は最高で kicked ass」(非常に印象的)とか)、iPadファンが喜びそうな内容になっています。しかし、Smalltalkerとしては「プログラムが作れないので、パーソナルコンピュータとしては辛口評価」にも注目したいですね。

「この世界ではけんかの相手を慎重に選ばなければならない」とコンサルティング会社Strand Consultのジョン・ストランドCEOは言う。「Operaが、Microsoftブラウザをめぐる大規模な法廷闘争に勝った企業であることをAppleが知らないはずがない。おそらく、Operaとやり合いたくなかったのだろう」

Wall Street Journalブログによると、Appleとアプリ開発者の間で交わす契約の中にApple以外の広告ネットワークのデータを送受信するアプリを禁止するという条項が入っているとして、一部開発者の間で苦情が出ているという。広告が何度表示されたか、クリックされたかなどという効果測定データは、オンライン広告に不可欠。効果測定できないのであれば広告を出稿しない広告主も多くなるだろう。実質的にApple以外の広告ネットワークを締め出そうとしている、というわけだ。


英語の記事


最後に

この「Packager for iPhone」は大々的に発表された機能だけあって、既に完成しているようで本国ではもちろん、日本でもプライベートベータ版のテスト参加者によってFlash CS5で作られたiPhoneアプリが、Appleの審査を通過して既にいくつもApp Storeに並んでいます。

慣れ親しんだ環境でiPhoneアプリを作成できるこの「Packager for iPhone」はとても楽しみにしていた機能なので、ちょっと厳しいかもしれませんがアドビさん頑張ってください。

*1:訳は日本語記事を参考にさせてもらいました

*2:「現時点」と付けたのは、過去にジョブズは自らの意見を覆すことを度々行っているからです。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証