アクセシビリティ
デベロッパーリソース

目次

『NYC Traffic』: Flash Lite のダイナミックコンテンツを作成するためのベストプラクティス

Flash Lite 1.1 によるダイナミックコンテンツの使用

様々な目的のためにインターネットに接続することを可能にする Flash Lite アプリケーションが次から次へと登場しています。プログラムによって可能になり得ることは無限ですが、多くのコネクション型アプリケーションの基本的な目的は、煎じ詰めれば次の 3 つになります。すなわち、リアルタイム情報のダウンロード、ユーザーデータ (フォーム) のアップロード、モジュラーダウンロードです。

リアルタイム情報のダウンロードは、Flash Lite 1.1 で可能になるもっとも画期的なことに挙げられます。前もって SWF ムービーにプログラムしておくことが不可能であった情報をロードする能力があれば、どのアプリケーションの柔軟性やパワーも非常に強化されることになります。今や、私は Flash Lite アプリケーションを使って交通状況を確認し、天気予報を見て、最新ニュースを知り、さらにテレビ番組をチェックするほどです。

本当に役に立つ最新の情報を提供するためには、その情報は各ユーザーにとって意味がある、カスタマイズされたものでなければなりません。Flash Lite 1.1 では、ダイナミックデータをリクエストするプロセスで、サーバーにコンテンツをアップロードすることもできます。これまでに私がおもしろいと思ったアプリケーションには、フライト状況や web の検索、あるいはチャットクライアントによる友人とのコミュニケーションさえ可能にする Flash ファイルがありました。

リッチなコンテンツや体験を実現するために、わくわくするようなことを考える一方で、携帯デバイスには従来のデスクトップコンピュータにはないいくつかの制約があることを思い出すことも必要です。もっともよく問題にされていることは、携帯電話のはるかに小さなストレージ容量と制限のある帯域幅です。Flash Lite 1.1 では、従来の Flash 環境で使用されてきたテクニックの一部を使用することで、この両方の問題による影響を最小限にすることができます。

コネクション型アプリケーションのサンプル

Flash の場合と同様に、Flash Lite には強力なデベロッパーコミュニティがあり、熱心なデベロッパーたちが自作のアプリケーションやサンプルを公表し、共有しています。Flash Lite コンテンツを見つけるための素晴らしいリソースは、Macromedia Flash Lite Exchange* です。多種多様なデータをロード可能なコネクション型アプリケーションの次の例をご覧ください。

図 1 は Guiseppe Tabi 氏作成の『iShop Pro-US』アプリケーションと Jochen Geiger 氏による『VFB Soccer』です。『iShop Pro-US*』 は、amazon.com からの価格とレビューを引き出す、使いやすい比較ショッピングアプリケーションです。『VfB Soccer*』 アプリケーションは、Jochen の好きなサッカーチーム VfB シュツットガルトについての最新情報と今後のイベントのすべてを表示しています。

『iShop Pro-US』 (左) と VfB Soccer (右)

図 1: 『iShop Pro-US』 (左) と VfB Soccer (右)

図 2 は、私が作成した『NYC Traffic』アプリケーションと Fasils Iqbal 氏による 『Chat MX*』です。『NYC Traffic*』はマンハッタン中の交差点のリアルタイムイメージを表示します。『Chat MX*』は、自分のキャラクタを選んでメッセージを送信できる Flash Lite グループチャットクライアントです。

 『NYC Traffic』 (左) と『Chat MX』 (右)

図 2: 『NYC Traffic』 (左) と『Chat MX』 (右)

使用できるコンテンツフォーマット

Flash Lite によって実現できることをご理解いただけたところで、次に Flash Lite にロード可能なコンテンツタイプについて理解する必要があります。既存の Flash アプリケーションにはテキストベースの変数と SWF ファイルをロードできます。正確に言えば、変数をストリングとして定義する URL がエンコードされたテキストファイルを特定タイムライン内にロードでき、Flash Lite か Flash 4 のどちらかに書き出されたものであれば、別の SWF もロードすることができる、ということになります。ロードした SWF ムービーはアプリケーション内でムービークリップのように機能します。変数のロードと SWF ファイルのロードのために記述されるコードは次のようになります (次のセクションでより詳細な例を示します)。

//load variables onto the root timeline
loadVariables(http://justin.everett-church.com/mobile/variables.txt, "/")
//load a swf into Level 1
loadMovieNum("http://justin.everett-church.com/mobile/sample.swf", 1)

これは、柔軟性とデータフォーマットに関してデスクトップコンピュータの Flash Player で可能なことに比べると貧弱かもしれませんが、少し工夫することで、テキストや SWF ファイルをロードすることによりほとんどすべてのことが可能になります。

サーバーサイドでは、自分でスクリプトを記述して、XML またはその他のテキストベースのデータを URL エンコーディングに変換することが可能です。私のアプリケーションでは、サーバーサイドの様々な SWF 生成スクリプトの 1 つを使って、JPEG イメージファイルを Flash 4 SWF ファイルに トランスコード して携帯電話機にダウンロードしました。オーディオやビデオを Flash ファイルにトランスコードすることができるアプリケーションさえあります。

フォーマットについての説明は、非常に高いレベルのものですが、心配しないでください。次のセクションでは、各データフォーマットと Flash Lite 対応携帯電話機からインターネットに接続することの特別な性質について詳しく解説します。