「SWFObject」作者曰く、「日本のWebデザインはすごくクールで最高」 [Edit]

いまやSWF埋め込みのスタンダード的な存在となった「SWFObject」。Web標準に準拠したコードをシンプルに記述できることで、Flashを使った数え切れないほどのウェブサイトに導入されています。そんなSWFObjectが、どういうきっかけで生まれ、どのように開発されているか、みなさんご存じでしょうか?

今回、Web Designing誌(毎日コミュニケーションズ発行)で「Flash Lab.」という連載をやらせていただいている関係で、主要開発者の1人であるGeoff Stearns氏にインタビューする機会を設けていただきました。この内容は、SWFObjectの概要、使い方とともに、本日7/18(土)発売のWeb Designing誌に掲載されています。ぜひご覧ください!

この度、関係各位のご協力により、残念ながら誌面スペースの都合上、掲載しきれなかった分をF-siteで発表するご許可をいただきました。この場を借りて、改めてお礼申し上げます。

インタビューは1時間ほど行われたのですが、どうしても大半をカットせざるを得なかったため、日の目を見せることができ、何よりです。Flashの仕事に関わる人間として、個人的に気になっていたことも、たくさんぶつけてきましたので、興味深い内容になっていると思います。

それでは、Geoff Stearns氏のインタビュー番外編をどうぞ!


SWFObject開発のきっかけは?

2005年頃、当時所属していたChopping Blockというデザインハウスで、CosmoGirl(注:現在はリニューアルされている模様。また、CosmoGirl誌は2008年末で最終刊となっている)という雑誌のウェブサイトを制作することになりました。10代の女の子向けのサイトです。

当時、HTMLの中にFlashが入っているケースはとても多く、このサイトでもFlashを使うことになりました。そこでFlash Playerの検出方法をリサーチしたところ、JavaScriptベースで行うのが一番良い手法ではないかと思い、作りはじめました。このときは、「Flash Object 1.0」という名前でした。

1週間の内、どのくらい開発に時間を割いていますか?

現在は、それほどでもありません。私を含めたコアメンバーの他に、3人(Kyle Simpson氏、Aran Rhee氏、Philip Hutchison氏)開発のための助っ人がいて、補助的な仕事をしています。

普及率について、何らかのデータを取っていますか?

残念ながらありませんが、特にここ1年くらいで急速に世界中に広まったと個人的に聞いています。もちろん日本を含めてです。

非常に多くのOS、ブラウザをサポートしていますが、テスト方法は?

すべて人海戦術による手作業です! めちゃくちゃに時間がかかります。Flash Playerをアンインストールしたり、インストールしたり……。現在は、テストスイートを使ってテストしています。助っ人の3人の補助も、テストを重点的に行ってもらっています。

とにかく、忍耐が必要ですね。

Dreamweaver CS4にはSWFObjectが組み込まれていますが、Flash CS4にはありません。

Adobeの全アプリケーションに組み込みたいと思っていますが、実装に時間がかかっているのだと思います。そういうプランはあると聞いています。みんなでAdobeにプレッシャーを!(笑)

SWFObject 1と2の違いは色々ありますが、一番の特徴はJavaScriptが無効な環境もサポートされる(2のスタティックパブリッシングに限る)ことだと思っています。例えば1.xで満足している人は、1.xを使い続けて良いのでしょうか?

その意見には、大まかには賛成です。

例えば、YouTubeでは1.5を使っています(注:SWFObject 1.5そのままではなく、カスタマイズされて組み込まれていると思われます[未確認]。また、将来変更される可能性も当然ありますのでご注意ください)。それは、SWFObject 1.5が非常に多くのテストをくぐり抜けてきたからです。2.xにバージョンアップするのは、同じように様々なテストをクリアしてからになるでしょう。

なお、1のデメリットには、JavaScirptが無効の環境で見ることができない、RSSリーダなどでマシンリーダブルではない、などが挙げられます。

SWFObject 2でスタティックパブリッシングを使ったとき、IE 6、7で「アクティブ化のためのクリック要求問題」が発生する件について、解決する予定があると書いてありますが見通しはいかがですか?

ノープランです(注:ええっ!?笑)。Microsoftにがんばってほしいと思っています。

SWFObject 2のスタティックパブリッシングの優位性について、「standards compliant markup(Web標準に基づいたマークアップ)」を挙げていますが、W3CのバリデータではSWFObject 1も、2のダイナミックパブリッシングもValid(正当)となります。違いはありますか?

ありません。コードだけを見れば、正当です。SWFが含まれたページをマシンリーダブルにするかどうかが大きな違いです。

要素の置き換えについて伺います。SWFObject 1では指定した要素の中にobjectを生成していました。2のダイナミックパブリッシングでは、指定した要素ごと丸々置き換える方法に変更されています。なぜでしょうか?

SWFObject 2の方法は不思議に思いますし、個人的にも好きではありません(注:ええっ!?第2弾 笑)。私は、1の手法が好きです。

これは、主要開発者の1人であるBobby van der Sluisのアイデアです。理由は、おそらくCSSのためのコードをよりシンプルにするためでしょう。特定の要素を残すよりも、直接idとかclassを指定してコードを書く方がシンプルになると考えたのではないかと思います。

バージョン判定が正しく動かないことがあることをご存じでしょうか? 技術的にはFlash Playerの問題のような気がしますが、SWFObjectを採用する上での大きな弊害になっており、多くの人間が解決を望んでいます。

認識しています。SWFObject 2.2では回避方法を実装しました(注:すみませんが沖はまだ試せていません。どなたかチャレンジして、コメント欄などで報告をいただけると、とってもとっても嬉しいです!)。具体的には、embedタグを生成することでActive Xオブジェクトをブラウザ内に生成し、Flash Playerのインストールができているかどうかを確認します。

この問題は、JavaScriptからの検出ができないことが原因のため、特殊な環境の場合はバイパスをさせてFlashを再生できるようにしています。

YouTubeでは、2年前に同じ壁に当たりました。そこで、お勧めはできないような複雑な仕組みで回避コードを組み込みました。ただ、この再生できない環境というのは当時のデータで0.04%以下、つまり超超超超超少ない(注:意訳です笑)ため、1年半前くらいから回避コードは取り外しています。

もちろん、少ないとはいえ、このようなユーザーは存在します。そこでウェブサイト側で対処できることは少なく、一番良いのはきちんとしたインストーラ、アンインストーラを使うことです。この作業がユーザーには障壁となることは十分認識した上ですが。

今後は、Adobeがインストーラを改良してくれることを望んでいます。

getSWFHTMLメソッドについて、ブログパーツを作るときに重宝していましたが、SWFObject 2ではなくなっています。理由と代替手段があれば教えてください。

この場では、そのメソッドがどういう働きをしていたのかを思い出せません。もしかすると、privateメソッドになっている可能性もあります。そのように困っていることがあれば、実際にどういうコードが動くといいのか、ぜひ提案してください。

今後のバージョンアップについて

各ブラウザのサポートについては、プラグインアーキテクチャを導入して、メインライブラリはモダンブラウザのみにし、古いブラウザはプラグインでサポートすることも考えています。

なお、古いWindows IEのサポートはさほど難しくありませんので、当面は続くでしょう。

Geoff氏のコミットについて

最新のSWFObject 2.2に関しては、さほど携わっていません。Bobbyや、3人の助っ人が主に開発を進めています。

SWFObjectの1.5は主に私、2.0は主にBobbyがフルタイムで開発してきました。リリース後は、ユーザーからの質問、文句、苦情に答えてきており、正直これには飽きてきています。Bobbyも同様です。そのため、今後は助っ人の3人に開発を譲り渡して、私やBobbyはスーパーバイザー的な立場になりたいと考えています。

ただ、最新のSWFObject 2.2は、かなり安定して文句も言われないようなものになっていると思っています。しばらくの間、1.5のようにSWFObjectの定番バージョンになることを願っています。

日本のFlashコミュニティのことはご存じですか?

Spark projectに接するまでは知りませんでした。今は、JActionScriptersも含めて知っています。


以上、インタビューをお届けしました。

タイトルの「日本のWebデザインはすごくクールで最高」というのは実際にGeoff氏が発言していて、具体的には「UNIQLO PARKA STYLE 1000がカッコイイ。彼女と一緒に盛り上がったYO!」ということでした(笑)


なお、本インタビューに際して、Flashユーザーの皆さんにTwitterで質問を募集したところ、yuma_flughafenさんsaburicomさんからご提案をいただきました。

また、下記のページを参考にさせていただきました。

皆さん、ありがとうございました。

コメント

この記事にコメントを書く

記事に対するテクニカルな質問はご遠慮ください(利用規約)。

トラックバック

この記事へのトラックバック

  1. SWFObjectの基本的な書き方(V2.2)(2010年09月03日 15:07)

    以前SWFObjectについて記事を書きましたが、あそこで言及していたSWFObjectのバージョンは1.5でした。 SWFObjectの使用方法はバージ...
    from ツチノコラボ

その他の記事