Adobe Flashはなぜ衰退していったのか


2015年12月1日にAdobeが、Adobe Flash Professional CCをAdobe Animate CCに名称変更するという発表があり、Flashが大きな転換期を迎えました。元々Flash Developerとしてエンジニアのキャリアをスタートした僕にとって、これに対して色々と思うところがありました。

そんな中QiitaでFlashの思い出というAdvent Calendarを見つけたので、Flashのこれまでについて振り返ってみたいと思います。

mx2004

Flashとの出会い

僕が初めてFlashを触ったのは2003年末頃、まだAdobeとしのぎを削っていたMacromedia時代のFlash MX 2004でした。巷にやたらと動くウェブサイトが登場し始めて、なんだろうと興味を持ったのがきっかけでした。

まずは「Flash道場」というサイトのチュートリアルから始めてみて、いとも簡単に滑らかなアニメーションが作れることに感動しました。

それから参考書を買って、AS2をタイムラインに書きながら、自分のバンドのホームページなど色々なものを作りました。

Flashサイト黄金期

ほぼ時を同じくして、Flashで作られたウェブサイトに注目が集まってきました。アメリカの2advanced studiosや、中村勇吾さんの作品など、主に広告業界で大きな盛り上がりを見せ始めます。

滑らかに動き、まるでアートのようなウェブサイトの数々に魅了され、いつか自分もこんなサイトを作ってみたい!と憧れの気持ちが膨らみました。

そんな流れで、大学卒業後はFlash Developerとしてウェブ制作会社で働き始めました。

入社した当時はまさにFlash全盛期。コーポーレートサイト、キャンペーンサイト、ECサイトまで何から何までFlashが使われていました。

iPhoneの登場とThoughts on Flash

しかし2008年にiPhoneが登場してから、ウェブ制作の現場が少しづつ変わっていきました。

多様なデバイス・環境からウェブサイトがアクセスされることが増えるなか、iPhoneはFlashをサポートしていなかったため、iPhoneでもウェブサイトを見れるようにしたい、というクライアントからのリクエストが聞こえることもありました。

そんな中2010年にスティーブジョブズによる声明、Thoughts on Flashが公開され、今後もiPhone/iPadではFlashをサポートしないことが明らかにされました。

この文書の中では、Flashがプロプライエタリであること、セキュリティやモバイルでのパフォーマンスに問題があること、バッテリー寿命やタッチにきちんと対応できていないことなどが挙げられています。

一番の理由はFlashのようなサードパーティーに、Appleのプラットフォームとの間に入って、ユーザーにアプリを提供する存在になって欲しくないということですが、スティーブジョブズの懸念に対して納得行く点が多々ありました。

Flashの抱えていた問題点

そもそもPlugin上で動くFlashのデメリットとして、コンテンツが検索エンジンにクロールされない、URLが持てない等の問題がありました。

解決策として、コンテンツをXMLで記述して、クロール可能にしたり、swfaddressというライブラリを用いてユニークなURLを持たせたりという方法がとられていましたが、いずれにせよハック的な方法で、ウェブのオープンな規格と逆行してる感は否めませんでした。

さらに前述のThoughts on Flashで多々指摘されている様に、既存のFlashコンテンツの多くは、モバイルでの表示に大きな問題を抱えていました。

既存Flashコンテンツの問題点

当時、Flashを用いる多くのウェブサイトでは、PCでの表示を前提にしていたため、大きいスクリーンにしか対応していなかったり、モバイルではパフォーマンスの制限上表現しきれないアニメーションが多かったりしました。

また多様な表現を可能にするため、大量のアセットを読み込む必要があり、そのロードに長い時間がかかるサイトも多くありました。

そしてその長いローディング時間楽しませる為、ローディング表示に様々な趣向が凝らされていました。PrettyloadedというFlashの面白いプリローダーを集めたギャラリーサイトもあるくらい、プリローダーはクリエイティブなアイディアで溢れていました。

しかし行き過ぎたケースの場合、プリローダー自体が多くのアセットを使う為、プリローダーを表示をする為のローディングを実装したりというケースもあるくらいでした。

いくらプリローダーやコンテンツが素晴らしくても、非常に長いローディングはユーザーにとって良い体験とは言えません。特にモバイルのネット環境ではコンテンツが表示されるまで待てたものではありません。

iPhone登場当初は、Mobile向けのFlash Playerを搭載したAndroid端末が、Flashの再生ができることを売りにして販売されていました。しかしそれらで既存のFlashウェブサイトにアクセスしても、上記の理由からまともに動くものがほとんどありませんでした。

Flashの衰退

以上の理由からスマートデバイスでFlashを再生できない様にしたのは、正しい判断だったと思います。まともに動かないサイトにアクセスできてしまうくらいだったら、最初からアクセスさせない方がユーザー体験を損ねずに済むと考えます。

iPhoneで公式的にFlashを否定したことにより、ウェブの流れは一気にオープンなHTML5へと移行します。2011年にはAndroid向けのモバイルFlash Playerも開発終了となり、Flashは一気に衰退の道へと向かいました。

元Flash Developerとして非常に寂しく感じつつも、理解できる流れではありました。Flashにもっとできることはなかったのだろうかと考えました。

衰退を避けることはできたか

個人的にはもう少しできることはあったのとは思いますが、少なくともウェブサイト上では以前の様に覇権を握るのは、ほぼ不可能であったのではないかと考えます。

機械でも人間でもアクセス可能なHTMLという文書構造に対して、Flashはあまりにもクローズドすぎて、ウェブのオープンな規格に逆行しています。クロスプラットフォームが一番のウリであったFlashですが、HTML自体が既にクロスプラットフォームです。

最後の砦であった動画も、videoタグに対応するブラウザが増えた為、今やYoutubeなど主要動画サイトはHTML5 Video Playerがデフォルトになりつつあります。

またFlashのその多様な表現からゲームの分野でも活躍していたので、ゲームエンジンに特化する方向もアリだったのかもしれません。

Adobe Airでの挑戦も見られましたが、初期のパフォーマンスがひどい印象が強く、そのあと大きく市場が取れなかったように見受けられました。UnityやUnreal Engineなどの大きな競合もいる為、難しい分野かもしれません。

いずれにせよ、Webサイトでも使えない、エンジンとしてアプリの裏側を支える部分も担えないとなると、Flashの衰退を避けることは非常に難しかったと考えます。

名称変更の意味するところとは

今回の名称変更の理由は、公式ブログに書かれています。

Web や新たなプラットフォームに最適なアニメーション制作ツールであることをより明確に示すため、2016 年初頭に予定している次のリリースの配信に合わせ、Adobe Animate CC へ名称変更いたします。

この記事によると、Flash Professionalで制作される1/3のコンテンツは既にHTML5であり、また動画の中でも、Flash、HTML5 Canvas、Web GL、Videoに書き出しができるという点が紹介されており、Flashに留まらず、あらゆるプラットフォームに対応するという意思が明確にされています。

例えFlash自体が衰退しても、Flashのオーサリングツールは手軽にアニメーションが作れる最高のツールであることに間違いありません。今回の名称変更はオーサリングツールとして良い意味で新しいステップになることでしょう。

まとめ

Flashの衰退は避けられなかったと考えられますが、ウェブサイトでの表現に制約の多かった時代にその制約を取り払い、多様な表現が可能となったHTML5が登場するまでの、隙間の時代を埋め、次世代に橋渡しをする重要な役目を担いました。

僕はFlashのコンテンツ制作から、オブジェクト指向の基礎、アニメーション、UI、ユーザー体験など多くを学び、それらは今にとても生かされています。

Flashの批判も書きましたが、Flashの全盛期は一エンジニアとして素晴らしい時間を過ごしましたし、あの時期にFlash Developerとして働けたことは本当に幸運だったと思います。

それにFlashがなくなったとしてもAdobeは好調です。2015年第4四半期の売り上げは過去最高、株価も一年通して右肩上がり、TechCrunchの9 Of The Best Performing Tech Stocks In 2015にも選ばれています。

Flashはあまり使わなくなりましたが、これからもAdobeのお世話になることは間違いありません。