Flashサイトに残された問題

  • Flash検索エンジンに引っかからない
  • ページがPermalinkにならない
  • エフェクトがウザイように見える
  • ロードが重いように見える


検索エンジンに引っかからないのは困る。検索できなければインターネットに存在しないも同然なわけで。

  1. 検索エンジンの改善を待つ
  2. 新しい検索エンジンを作る
  3. サイト側で対処する

1.は面白くないし、2.は苦しいので、3.が良さそう。
Flex SDKのswfutilsでswfとXMLの相互変換を試してみるにあるように、swfをXMLに変換できるらしい。というわけで、サーバーサイドでswfからテキストや画像を抽出することは可能なはず。これを「Flashが表示できないブラウザ用HTML」のところに埋め込んでおけばいい。
DBからコンテンツを取ってくるなら、swfからSocketでアクセスがあったときではなく、HTMLを生成する時点でDBからデータを取ってきて埋め込む。そうしたらswfがHTMLからデータを取得してもいいかもしれない。


で、ここからPermalinkの話。これが難しい。
ページが遷移でURLを変えたいのだけど、URLを変えるとFlashもリロードされしまうので、Socketのコネクションとかオブジェクトの寿命とかが切れてしまう。とても困る。
URLが遷移してもFlashコンテンツはリロードされずに持ち運べればいいのだけど、なんかムリっぽい。実はページは遷移していないけどURLは偽装されているというのは、もっとムリっぽい。


無理なものはムリなので、URLを変えるのはあきめて、「Permalinkはこちら>http://www.partty.org/session/nowelium」みたいなリンクを付ける。問題は、実際にそのURLにアクセスされたときに、目的の内容が表示されているようにする必要がある点。


これはswfの作り込み自体を改善する必要がありそう。FlashVars=""(AS3ではApplication.application.parameters)で引数をとって、その引数によって開始位置を変える。ActionScriptは任意の位置から再生開始できるようにコーディングしておかないといけない。
状態を全部シリアライズしてURLに含めたくなる。でもそうするとURLがやたら長くなるので、イケてない。そもそも、Permalinkと言ってもバイト単位で確実に目標のコンテンツを指している必要はなくて、「それっぽい場所」を指していればいい。PermalinkのURLに含めないといけない状態は限定的でいい。


そんなわけで、AS3でPermalinkフレームワークがあるといいんじゃないか。PermalinkのURLに含めないといけない状態はフレームワーク側で管理してもらって、任意の瞬間でフレームワークからPermalink URLを取り出せるようにする。



ここから検索エンジンの話に戻るのだけど、Permalinkフレームワークはサーバーサイドで解析できるようにしておくと嬉しいんじゃないか。Permalinkでアクセスされたとき、サーバーサイドでそのPermalinkで指されたコンテンツの部分だけを解析し、HTMLに埋め込む。こうすると的確に検索エンジンにコンテンツを知らせられる。

↑リンク(と言うかボタン)をたどってもURLは遷移しない(=HTMLが変化しない)ので、Flashで表示されている内容と、HTMLに埋め込まれたテキストが異なることがあるのだけど、Permalinkで内容を指したくなるコンテンツを提供している時点で「トップページからページをたどる」アクセスよりも、RSSやどこぞのブログからPermalinkで直アクセスされる方が多そうな気がするので、問題ないんじゃ無かろうか。




残る「エフェクトがウザイように見える」とか「ロードが重いように見える」というのは、実際にウザかったり重かったりするのがいけないんだろうと。


実際に重いのは遅延ロードとか遅延評価的なこととか地道にやるしかないんだろうけど、感覚的な問題もあって、「Now Loading」を出すのはマズイんじゃないか。インターネット回線は高速化する一方なわけで、ダウンロードよりも描画にずっと時間がかかっているように見える。Now Loadingを出すよりも、中途半端にでも描画してしまった方が高速に感じると思う。ヘンになるところはエフェクトでごまかしてでも表示する?initialized=アクションとcreationComplete=アクションを使い分けるとか、とりあえずなにか表示するようにした方が良さそう。


エフェクトがウザイのは、「指針」とか「デファクトスタンダード」的なものがあるといいよね。HTMLのチカチカした表示が受け入れられているのは、それが標準だからであって、ウザくないからではないはず。超人気でエフェクトが適度でイカしたFlashを使ったサイトが出現すればいいんじゃないかな。