いまやSWF埋め込みのスタンダード的な存在となった「SWFObject」。Web標準に準拠したコードをシンプルに記述できることで、Flashを使った数え切れないほどのウェブサイトに導入されています。そんなSWFObjectが、どういうきっかけで生まれ、どのように開発されているか、みなさんご存じでしょうか?
今回、Web Designing誌(毎日コミュニケーションズ発行)で「Flash Lab.」という連載をやらせていただいている関係で、主要開発者の1人であるGeoff Stearns氏にインタビューする機会を設けていただきました。この内容は、SWFObjectの概要、使い方とともに、本日7/18(土)発売のWeb Designing誌に掲載されています。ぜひご覧ください!
この度、関係各位のご協力により、残念ながら誌面スペースの都合上、掲載しきれなかった分をF-siteで発表するご許可をいただきました。この場を借りて、改めてお礼申し上げます。
インタビューは1時間ほど行われたのですが、どうしても大半をカットせざるを得なかったため、日の目を見せることができ、何よりです。Flashの仕事に関わる人間として、個人的に気になっていたことも、たくさんぶつけてきましたので、興味深い内容になっていると思います。
それでは、Geoff Stearns氏のインタビュー番外編をどうぞ!
2005年頃、当時所属していたChopping Blockというデザインハウスで、CosmoGirl(注:現在はリニューアルされている模様。また、CosmoGirl誌は2008年末で最終刊となっている)という雑誌のウェブサイトを制作することになりました。10代の女の子向けのサイトです。
当時、HTMLの中にFlashが入っているケースはとても多く、このサイトでもFlashを使うことになりました。そこでFlash Playerの検出方法をリサーチしたところ、JavaScriptベースで行うのが一番良い手法ではないかと思い、作りはじめました。このときは、「Flash Object 1.0」という名前でした。
現在は、それほどでもありません。私を含めたコアメンバーの他に、3人(Kyle Simpson氏、Aran Rhee氏、Philip Hutchison氏)開発のための助っ人がいて、補助的な仕事をしています。
残念ながらありませんが、特にここ1年くらいで急速に世界中に広まったと個人的に聞いています。もちろん日本を含めてです。
すべて人海戦術による手作業です! めちゃくちゃに時間がかかります。Flash Playerをアンインストールしたり、インストールしたり……。現在は、テストスイートを使ってテストしています。助っ人の3人の補助も、テストを重点的に行ってもらっています。
とにかく、忍耐が必要ですね。
Adobeの全アプリケーションに組み込みたいと思っていますが、実装に時間がかかっているのだと思います。そういうプランはあると聞いています。みんなでAdobeにプレッシャーを!(笑)
その意見には、大まかには賛成です。
例えば、YouTubeでは1.5を使っています(注:SWFObject 1.5そのままではなく、カスタマイズされて組み込まれていると思われます[未確認]。また、将来変更される可能性も当然ありますのでご注意ください)。それは、SWFObject 1.5が非常に多くのテストをくぐり抜けてきたからです。2.xにバージョンアップするのは、同じように様々なテストをクリアしてからになるでしょう。
なお、1のデメリットには、JavaScirptが無効の環境で見ることができない、RSSリーダなどでマシンリーダブルではない、などが挙げられます。
ノープランです(注:ええっ!?笑)。Microsoftにがんばってほしいと思っています。
ありません。コードだけを見れば、正当です。SWFが含まれたページをマシンリーダブルにするかどうかが大きな違いです。
SWFObject 2の方法は不思議に思いますし、個人的にも好きではありません(注:ええっ!?第2弾 笑)。私は、1の手法が好きです。
これは、主要開発者の1人であるBobby van der Sluisのアイデアです。理由は、おそらくCSSのためのコードをよりシンプルにするためでしょう。特定の要素を残すよりも、直接idとかclassを指定してコードを書く方がシンプルになると考えたのではないかと思います。
認識しています。SWFObject 2.2では回避方法を実装しました(注:すみませんが沖はまだ試せていません。どなたかチャレンジして、コメント欄などで報告をいただけると、とってもとっても嬉しいです!)。具体的には、embedタグを生成することでActive Xオブジェクトをブラウザ内に生成し、Flash Playerのインストールができているかどうかを確認します。
この問題は、JavaScriptからの検出ができないことが原因のため、特殊な環境の場合はバイパスをさせてFlashを再生できるようにしています。
YouTubeでは、2年前に同じ壁に当たりました。そこで、お勧めはできないような複雑な仕組みで回避コードを組み込みました。ただ、この再生できない環境というのは当時のデータで0.04%以下、つまり超超超超超少ない(注:意訳です笑)ため、1年半前くらいから回避コードは取り外しています。
もちろん、少ないとはいえ、このようなユーザーは存在します。そこでウェブサイト側で対処できることは少なく、一番良いのはきちんとしたインストーラ、アンインストーラを使うことです。この作業がユーザーには障壁となることは十分認識した上ですが。
今後は、Adobeがインストーラを改良してくれることを望んでいます。
この場では、そのメソッドがどういう働きをしていたのかを思い出せません。もしかすると、privateメソッドになっている可能性もあります。そのように困っていることがあれば、実際にどういうコードが動くといいのか、ぜひ提案してください。
各ブラウザのサポートについては、プラグインアーキテクチャを導入して、メインライブラリはモダンブラウザのみにし、古いブラウザはプラグインでサポートすることも考えています。
なお、古いWindows IEのサポートはさほど難しくありませんので、当面は続くでしょう。
最新のSWFObject 2.2に関しては、さほど携わっていません。Bobbyや、3人の助っ人が主に開発を進めています。
SWFObjectの1.5は主に私、2.0は主にBobbyがフルタイムで開発してきました。リリース後は、ユーザーからの質問、文句、苦情に答えてきており、正直これには飽きてきています。Bobbyも同様です。そのため、今後は助っ人の3人に開発を譲り渡して、私やBobbyはスーパーバイザー的な立場になりたいと考えています。
ただ、最新のSWFObject 2.2は、かなり安定して文句も言われないようなものになっていると思っています。しばらくの間、1.5のようにSWFObjectの定番バージョンになることを願っています。
Spark projectに接するまでは知りませんでした。今は、JActionScriptersも含めて知っています。
以上、インタビューをお届けしました。
タイトルの「日本のWebデザインはすごくクールで最高」というのは実際にGeoff氏が発言していて、具体的には「UNIQLO PARKA STYLE 1000がカッコイイ。彼女と一緒に盛り上がったYO!」ということでした(笑)
なお、本インタビューに際して、Flashユーザーの皆さんにTwitterで質問を募集したところ、yuma_flughafenさん、saburicomさんからご提案をいただきました。
また、下記のページを参考にさせていただきました。
皆さん、ありがとうございました。
● SWFObjectの基本的な書き方(V2.2)(2010年09月03日 15:07)
以前SWFObjectについて記事を書きましたが、あそこで言及していたSWFObjectのバージョンは1.5でした。 SWFObjectの使用方法はバージ...
from ツチノコラボ