例のAppleの文章についての雑感

この雑感は、Packager for iPhoneを潰すための規約変更が覆らない前提で書いている。規約変更の話は脇に置いて読んでもらいたい。

個人的にはあのApple社(Steve Jobs氏)がFlashをiPhoneに搭載しない理由として掲載した、中途半端な文章は読み解くに値しないと思っていた。大体、アプリの話をしているのかWebブラウザ内のプラグインの話をしているのかすら定まっていない。従って反論も不要と思っていた。だがどうも話題が先行してしまっているため、このままではFlashについての誤解が広まってしまうかも知れない。

論点がずれたままの言葉の応酬に、世論が振り回されないようにしなければならない。なので件の文書の、前半のだらだらぐだぐだをすっ飛ばして、後ろにようやく出てくる「もっとも重要な理由」として掲げたサードパーティ製のミドルウェアを使って開発されると品質が下がる、という話に絞って考えてみる。

AppleがApple自身の価値(例えばAppのUIの品質など)を管理するのは当然だと思う。そしてその仕組みをAppleは持っている。App Storeがそれだ。アプリは全てAppleが独占的で恣意的な判断を下すことが可能なように、Appleの管理下でしか配布することが出来ないようになっている。

現に様々なアプリが様々な事情によりリジェクトされたり公開を停止させられている。アプリを申請する際には、バイナリ(完成品)は提出するがソースコード(一般的にプログラムと云われているのはこれのこと、ソースコードから完成品が作られる)を提出しない。だが、Appleはバイナリから何らかの手法で、そのアプリがどういう作り方になっていて、それがレギュレーションを違反していないかどうか、品質をチェックしている。

今回Adobeが発表したPackager for iPhoneという機能では、Flash Professionalで作られたものをアプリの形のバイナリに変換する。で、Appleは上記のように何らかの手法で「バイナリから品質をチェック」している。つまり、「アプリの品質の問題」はそれがFlashで作られたかどうかに関係なく、一律に判断することが可能ではなかろうか。

あるいは、その何らかの手法でバイナリーから品質をチェックするための機能が、Packager for iPhoneによって酷く負荷が高まってしまうなどの問題があるというのか。それならば、Adobeには辛いことかも知れないが最初から「ソースコードの提出」を義務づければ良い。品質をチェックするならソースコードからチェックする方が断然早い。最初っからそう云われていれば、Adobeもぐぅの音も出なかっただろう。だがAppleは、実際にはソースコードを提出させるほうがコストが高いのかなんだか知らないが、現状ではバイナリのみしか提出させない。

そもそも、現状のアプリのチェック機能それ自体が、本当に品質の管理を行えているのかも疑問だ。先日、あるサードパーティのライブラリを使ったアプリが一斉に公開を取り消される事態が発生した。理由はライブラリのソースコードの一部がレギュレーションに違反していたからだが、何故公開前の審査をくぐり抜けてしまったのかについてはAppleから何の情報開示もなされていない。

或いはUIがFlashによってかき乱されると云われるが、それこそ出て来たアプリをチェックすればよいだけの話であって。そもそも、UIは現状でもいかようにでも改変可能だ。それをみんながやらないのは標準で提供されるUIが良く出来ているからと、単に変更するのが面倒だからだ。

一方的にFlashを搭載しない理由はこれだ!と掲げているが、品質に問題があるのはFlashのほうではなくでAppleのほうなのではないか。それをFlashを槍玉に上げることでカウンターあてたような雰囲気を醸し出しているに過ぎないのではないか。

しかし、今回のAppleの文章、読むにつけ内容の無い文章だ。この日記書くに至るまで延べで何時間も悩まされたこと自体が、Jobsマジックにかかったということなのだろうか。