Adobe 「Flash」廃止発表の件に思ったこと(追記あり)

この数日,AdobeのFlash Player提供終了の発表(FLASH & THE FUTURE OF INTERACTIVE CONTENT)を受けて,ちまたで「2020年末までにFlashが廃止決定!」のようなニュースが飛び交っていた。自分は大した出来もしないのに(旧製品ながら)Master Collection CS6を持っているので,時々「Flash CS6」を使うことがあった。

“オーサリング環境”としての“Flash”は,少なくともSWFファイルを書き出す。そのSWFはFlash Playerによって再生することができる。そのFlash PlayerはAdobeが無償で配布している。普通にWebブラウジングをする分には,Flash Playerはブラウザ・プラグインとしてインストールされる。

このFlash Player+ブラウザという関係性に対しては,従来,主として次の2つの問題が指摘されてきた:
  • ブラウザやFlashコンテンツがクラッシュすることが少なくない
  • Flash Playerの脆弱性をつくセキュリティ事案が多発している
クラッシュについては,最近のコンピューターの性能からほとんど問題になることがなくなっていたと言える。これに対してセキュリティ事案についてはかなり深刻な状況に追い込まれ,有名なApple-スティーブ・ジョブズによる“Flash外し”事件以来,Flashのオワコン化への誘導は着々と進められてきた。

しかし,この「Flash」と「Flash Player」があまり厳密に区別されずに単に「Flash」と呼ばれつつ,オワコン化が語られてきたことには若干の違和感がある。結局のところ,つい最近までFlashはアニメ制作でも相変わらず活躍していたようであり,いろいろと状況はわかりづらくなっているようである。

  • 一瞬話が飛ぶが,念のため,2020年までのブラウザの対応スケジュールの概要を最後に確認しておいた:参考 Windows blog

これらの関係性を(誤解や無知あるいはあまりにも一面的な見方があるかもしれあいが)自分なりに理解してみると次のようになる:

「Flash」の低迷以降,AdobeはCS製品をサブスクリプション化しつつこれをAnimate CCという形で展開させている。これは非常に乱暴に言えば,一度マクロメディアFlashがアニメーションのオーサリング製品として到達させたものをAdobeが吸収するとともに,JavaScriptの登場からEcmaScriptを経由してプログラミング環境(アプリケーション開発の統合環境)という要素をFlashに持ち込んだ。このとき出来たのがActionScriptである。ASは1.0から現在の3.0となるにつれてオブジェクト指向言語としてますますプログラミング言語としての形を整え,そのことは逆にFlash CSをわかりにくくし,ある意味では本来のアニメーション制作の機能としての価値を毀損していた可能性もあった。そのような漠然とした迷走感を抱えながら,あるときFlash外し事件が勃発し,そこからは比較的短期間のうちにモバイル版Flash Playerの開発終了に至るなど,標準化がHTML5化へますます推進されようという中で隅の方に追いやる圧力は一貫して強まっていった。追い打ちをかけるように安定的にセキュリティ上の脅威の対象にもなった。茶柱もたった。そのような中,AdobeはいよいよFlash CSをAnimateCCへ転換させたわけだが,これはいわば再びアニメーション制作に特化させる,言い換えればFlash CSからプログラミング的な要素を可能な限り分離しようということになった(もちろん,これは極端に言えばということであり,Animate CCはActionScript 3.0をサポートする:現状では非推奨として2.0もサポートしている)。そのプログラミング要素であるActionScriptの受け皿はAdobe AIRというアプリ開発ということになった(もちろん,完全に分離されたわけではなく,互いに関連性は切れていない)。このように,FlashのプラットフォームはAnimate CCとAdobe AIRに整理されたのだと見ることができる。そして,これらのターゲットは,Animate CCではCanvasやSVGを筆頭としたSWFなど,AIRはHTMLベースあるいはモバイルやデスクトップアプリということになっている。つまり,ここには必ずしもWebブラウザ上でのコンテンツ展開にSWFを直接再生するためのFlash Player プラグインは必要がないか,または想定されていない。Animate CCにとってのSWFはAfter Effectsなどでの利用のためであると言える。

このような関係の中で,Flash Playerの提供が2020年末までに終了すると発表されたことになる。

旧製品であるFlash CSがFlash Playerの供給の廃止によってOS上での稼働がどうなるのか,影響があるのかどうかについては未知数な面もあると思うが(参考:The End of an Era – Next Steps for Adobe Flash),基本的にはそれが使えなくなる必然性はない。というのも,ブラウザからFlash Playerが消えても,それはSWFが消えることを(直ちには)意味するわけでもなければ(ただし,AdobeはAfterEffect用にSWFをバージョンアップしたSWFアーカイブというパブリッシュ形式を導入している),ActionScriptとの関わりを放棄したわけでもない。Flash CS製品は相変わらずActionScriptを書くことができ,SWFをパブリッシュすることができ,AIRをパブリッシュすることもできる。また,作成されたSWFが内臓のデバッグ版Flash Player又はAIR形式にしたコンテンツをキャプチャして動画として利用する余地がある限りで,(少なくとも簡単な)アニメーション制作環境として機能し得る。キャプチャとはいえ,最近のキャプチャのクオリティは非常に高いと言える。

もっとも,現在では旧製品であるFlash CSを使っている人はプロの映像やアプリのクリエーター以外ではほとんど無視して良いほどの少数ではないかとも思われる。しかし,逆に言えば,Animate CCをサブスクリプションしなくても間に合う道具としてまだしばらく(2020年以降も:笑)使える余地があるとも言える。

このように,一応,廃止される「Flash」は「Flash Player」のことであり,実態としては「Flash」で作成されたコンテンツは今後も世の中に様々な形に姿を変えて出てくるのではないかと思う。たとえば,Windows BlogはThe End of an Era - Next Steps for Adobe Flashの次の書き出しは,“Flash”を“Flash Player”という文脈で用いているように見える:
Microsoft will phase out support for Flash in Microsoft Edge and Internet Explorer ahead of this date.
上のポストの文脈ではMicrosoftの関心はあくまでも“Plug-ins文化の淘汰”であり“Flash”なのではないこともうかがえる(一方で,“We will phase out Flash from Microsoft Edge and Internet Explorer, culminating in the removal of Flash from Windows entirely ”という文脈が何を意味するのかという微妙さも持ち合わせてはいるのだが:それでも,その後段の部分はブラウザにかかっていることのウェイトがやはり大きいだろう:もし,旧Flash CS製品に付いているデバッグ版Flash Playerさえ機能が停止するとなれば,それはブラウザではなくOSの問題になるので,ブラウザから排除することを完了形として位置づけるのはおかしいだろう。逆に,もしデバッグ版も動かないということであれば,確かに旧Flash CSのライセンスは事実上無価値になる ー あるいは中古PCをスタンドアロンのWindows 7以下機にして使い続けるなどはあり得るが ー,しかし,AppleのWindows版QuickTimeはいまだにインストールかつ動作可能である:笑)。

なお,Flash Playerの廃止に対する正面からの対応という点では,実は一部で有名なswf2jsというJavaScriptを作ってくれている人もいる。これは,SWFファイルをFlash Playerではなく,JavaScriptで再描画して“動かして”くれるものである。しかも,Toolkit for CreateJSなどとは違い,ActionScriptをかなりのところまで実行してくれる。もっとも(誤解があったときは作者さんに申し訳ないが:また,現在も改良中)ActionScript 2.0が安定的であり,3.0はもしかするとまだ使いづらいのかもしれないし,サウンド系はないが,もともと古いFlashはAS2.0で書かれているわけだし,Animate CCを使わない人はAS2.0が使えるだろうから,たとえばFlash CS6+AS2.0のSWFをどうしてもWebページに貼りたいという場合には非常に有効に使える。swf2jsはFlash側やASのコーディングで設定するフィルターなどは反映が難しそうだが,そのようなものはなくても機能的なFlashをFlash Playerプラグインのないブラウザ上に配置出来てしまう手段があるというのはすごいことである。AdobeはAS2.0には事実上関心をもっていないので,完全に価値のある隙間を埋める製品をFlash CS以下を使う人はすでに持っているということになる。

このような意味でも,“いまだに”Flash CS製品を捨ててない少数の人たちにとっては,案外,ちまたで賑わっているような「Flash」廃止のインパクトはないように思う。おもしろいのは,Flash廃止ということを歓迎しているケースでは,FlashをHTML5を念頭において理解しているのに対し,Flashを使っている人はそもそもターゲットが必ずしも(SWFをFlash Playerで再生するという意味での)Webではないというように,噛み合っていないことだろう(ただ,Webというアウトプットが妨害されたのに近い認識は持っていると思うが)。自分の場合は使うことがあるとすれば基本的にはAIRにパブリッシュするかFlash BuilderにSWCを渡すためというアプリ系の用途を考えるが,Flashを使い続けてきたうちのほとんどの人はアニメーション制作系の用途なのではないかと思われる。したがって,この点でもFlash Player廃止ということのニュース性がFlashを使っている人以外にとってほどインパクトをもって受け入れられているという逆転現象のような関係が認められる。言い換えれば,Flaher的な少数派は作品としてのクオリティに関心がより多くあるのに対し,プログラマ的な多数派はプログラミング需要により多くの関心を持っていることによるギャップが,Flash Player廃止がFlashというワークフローないしプラットフォームそれ自体の根絶希望のようなものへつながっており,これがHTML5に象徴されるWeb標準化という概念への動機と結びついているということなのかもしれない。

つまり,Flashを使っている当事者以外の人の方が「Flash」へのこだわりがあり,なおかつFlashとFlash Playerの違いが意識されていないということになりそうなのである。しかも,FlashコンテンツはFlash Playerという実装方法において批判されながら,そのセキュリティを置き換えるべく,HTML5/JSベースでも動的表現が場合によってはFlash並みに出来るという想定があったのだが,いわゆる“Flashコンテンツ”に相当するようなWebコンテンツに遭遇する確率が増えたわけでもないように思われる(しかも,セキュリティの問題としても,別にWeb標準化にしたからFlashより危険でなくなるという関係性には,少なくとも技術的にはなく,むしろ脆弱性の幅は途方もなく拡大することになるのではないかと個人的には理解している)。「出来るようになった」と言われているわりには「出くわさない」という現象になっているようにも思われる。これもいわゆる“Flash叩き”界隈では興味深い関係性であるように感じられる。感覚的には“動的なコンテンツ”というよりも,“静的な動的コンテンツ”という感じのWebコンテンツになっているように見える。そういう観点からも,Flashコンテンツはそもそも実質的にWebページ埋め込みとは異なる領域へ移行していたのではないか,ゲームやアニメーション制作だったのではないかと言え,「Flashはオワコン」という側とFlashを使っている側の噛み合わなさが伺える。そして,今回の「2020年末までにFlashが廃止決定!」というニュースが“賑わっている”様子に感じられる言葉の違和感もそうしたギャップが可視化される最新のものだったということになるかもしれない。

先日も,テレビで一部で話題になっているとして取り上げられていた何かのアニメーション制作の話題があり,現場の人があえてその制作ツールを「Flash」で制作していますと言っていたことを思いだす(実際はFlashに拘ってAnimate CCではないという意味でそう言っていたのかどうかはわからないが)。

以上のような見方をもったうえでも,FLASH & THE FUTURE OF INTERACTIVE CONTENTの次のような表現はなおすっきりしていない:
Adobe is planning to end-of-life Flash. Specifically, we will stop updating and distributing the Flash Player at the end of 2020 and...
Flash Playerの提供を2020年で終了するが,それは一応“広義のFlash”自体を終わらせるという包括プランの中でのことだという意味は,逆に言えば2020年以降も何等かのFlashのプラットフォームがあり続けるということにもなる(ただ,これもあくまでもFlash Playerに対する対応の中の話をしているという読み方も出来ると思うが,自分には文脈的な意図がよくわからなかった)。そもそもAnimate CC自体も,それがAfter Effects向けにエクスポートするSWFアーカイブ形式(その前提としてSWF形式)も最広義にはFlashと言えなくもない。すでに考えた通り,もともとAnimate CCとAIRはある意味ではFlashプラットフォームをアニメーションオーサリングとプログラミングに分解したものだという関係性でみれば,結局そのような形に変わってFlashが存在し続けており,そのことを示す仕様がSWFでありActionScriptだということも言えなくもない。

もし,Flashを終わらせるということがFlash Playerの廃止以上として実質的に意味を持つのであれば,AIRはどうなるのかということになるのかもしれない。その場合は,AIRはHTMLベース・プロジェクトとしてしか固有の意味を持たなくなるのだろうか?というような疑問も出てくるし,そうであればHTML/JavaScript (+ Animate CC)で済んでしまうから,”Flashを終わらせる”に十分ウェイトをもって理解すると,その延長上にはAdobe AIRが終わるという流れも入って来るのではないか?(笑)

そして,Animate CCがSWFアーカイブ形式を新たに加えたことの表裏で既存のSWFを捨てていくということまで考えてみると,FlexプロジェクトのAIRも基盤を失うのではないだろうか。つまり,アプリ開発分野からの実質的かつ徹底的な撤退の検討を含んでいることが,“Flashを終わらせる”が示している可能性もある。つまり,Adobeは一歩引いてアートコンテンツ制作製品の提供企業としての仕切り直しを検討している,また周辺企業群とのそのような合意が出き,その合意が成熟しつつあるということなのかもしれない。つまり,次のようなことである:
And we’ll continue to provide best in class animation and video tools such as Animate CC, the premier web animation tool for developing HTML5 content, and Premiere Pro CC.  --- quote from ADOBE NEWS post : FLASH & THE FUTURE OF INTERACTIVE CONTENT on JULY 25,2017.

一方で,アニメーターやその境界線上のような(つまり,プログラマーに特化していない)クリエーターにとっては,こうした役割分担の先鋭化のような状況によって形成される制作環境は必ずしも歓迎されていないようにも見える(あくまでも印象というか雰囲気的にそう感じるというだけだが)。つまり,製作者にとって特定の制作ツールやサービス縛りの風潮が強くなることはおそらく全く好まれない。言い換えれば,統合的なクリエーターにとっては,関連企業群の役割分担の先鋭化によってユーザーサイドもまた役割の分断を事実上強制され,かえって生産性に関するバランスを壊されるような感覚があるのではないかと想像するわけである。

そこで,こうした「制作ツールの供給談合」のような流れは,案外,(ブラウザ・プラグインは別としても)Flashのような製品を別途発生させることにつながるのではないか,という,漠然とはしているもののネット的に現実的な期待感は持っていいかもしれない(これまでもそのようにして多数のソフトウェアが生まれている)。先述したswf2jsなどもそれと同じ軸上にある製品であると見做すこともできそうである。

旧Flash製品を思い出してみると,アニメーション制作とプログラミング環境が統合され,簡単にインタラクティブ・コンテンツを制作できてしまう環境は,現在でも驚異的であると言わざるを得ない。この生産性が驚異的である点が,「プログラミング」産業の展望する市場において,Flashは苦々しい存在であったのだと考えられる。おそらく,Flashに割くことが出来た時間を多くの人は様々なプログラミングに割かなければならず,そこは残念な展開であると考えられるので,アニメーター的作業とプログラマ的作業を再度ユーザ1人にほどほどに統合し得るFlash的な製品がどこかから出てくる可能性も小さくないなと思う次第である。

また,Flashのプログラミング的な側面としてActionScriptがあるが,いう間でもなくこれもFlash同様,プログラミング言語群の中では“低温”な部類に属している(笑)。しかし,自分は実際にソフトウェアを製作するプログラマということ自体にはあまり関心がないものの,実はActionScriptには高い関心を持っている(笑)。

最後に,ブラウザからFlashが2020年末に向けて段階的に排除されるまでの具体的なスケジュールを確認しておくことにする(参考:Windows Blog - The End of an Era – Next Steps for Adobe Flash):
  • このスケジュールは,Google,Mozilla,Apple,Microsoftの各ブラウザに共通したプランである
  • Microsoftの場合はEdgeとIEで対応に若干の違いがある。したがって,この違いが他のベンダーのブラウザの各フェーズにおける対応の一貫性とどのような関係にあるのかは参考記事からは判然としていない(結局細かいことは各ベンダーで確認する必要はある)

フェーズ1
2017末-2018初旬に実施
  • Microsoft Edge
    ほとんどのサイトにおいて,最初に訪問時にFlashの実行許可をユーザーに確認する(以後はその設定を覚えている)
  • IE
    デフォルトでFlashが許可され,特にユーザーへの確認もしない
フェーズ2
2018中旬-2018下旬に実施
  • Microsoft Edge
    Flashが実行されようとする都度,ユーザーに許可を求めるようにアップデートする
  • IE
    デフォルトでFlashが許可され,特にユーザーへの確認もしない
フェーズ3
2019年中旬-2019下旬に実施
  • Microsoft Edge及びIEの両方で,デフォルトではFlashを無効化する
  • いずれも,ユーザーは手動でFlashを有効化することができる。ただし,その場合Edgeではサイト単位でユーザーに許可を求め続ける
フェーズ4
2020年末までに実施
  • Windows上で稼働するMicrosoft Edge及びIEの両方から,Flashの実行機能を削除し,ユーザーがFlashのいかなる機能の有効化も実行も出来なくする
追記:
こういう動きが出ている模様
Flashはオープンソース化されるべきか/エキサイトニュース(スラド)
Petition asks Adobe to open source Flash/ InfoWorld

ただ,Flash(Player)廃止が周辺企業との戦略的な合意の中で行われているのだとしたら,Adobeサイドだけでこれをオープンソース化できないということも考えられるか。また,「とりあえずオープンソース化しよう」という時代でもないのかもしれない。しかし,これをいい機会にフリーかシェアでいいものが出てきて欲しい。サブスクリプション制は月割り制漁業料による年額値上げの印象希釈措置みたいで嫌いである(笑)

コメント

人気の投稿