「パソコンのコモディティ化」に向けて着実な手を打つアップル
Web 2.0な人たちへの英語勉強法:podcast編

Yahoo Map + UIEngine で遊んでみた

051010_231154 ここのところ、Apple とか Google のことばかりこのブログに書いているが、たまには CEO らしく自分の会社(UIEvolution Inc.)のテクノロジーの宣伝もしなければいけない。そこで、「今日は Yahoo! Maps Web ServiceUIEngine を組み合わせたらどんなことが出来るか」というテーマで作ったサンプルアプリをソースコード付きで公開する。

 元ネタは、百式 - 正しいAPIの使い方で知った ipodiway。Yahoo!の道順案内をiPodで見られるようにするサービスだ。さっそくシアトルの空港から私の会社までの道順案内を指定すると、ダウンロードされてきたのはZIP圧縮された12枚の小さな画像ファイル。この画像データを iPod にロードし、スライドショーの機能で道案内を見ろということらしい。なかなかすぐれものだ。

 それならと、この画像データを利用して UIEngine を使って携帯電話用のAJAXアプリにしてしまったのが、「Yahoo! 道案内ビューアー」だ(実際の動作はJava Applet 版のデモ参照、操作は全て方向キーのみで可)。今はシアトルにいるので、Sprint の J2ME/MIDP 端末でしかテストしていないが、DoCoMo の J2ME/DoJa 端末でも、AU の BREW 端末でもそのまま動くはずだ(もちろん、Palm、PocketPC、Symbian など UIEngine が移植済みの端末ならどれでも)。サクッと作ったので、たいした機能はないが、プログラマー向けのサンプルとしては十分だろう。

 ソースコードもアップロードしておいた(参照)。UIEngine のことを知らない人には、「何じゃこりゃぁ」というようなコードかも知れないが、これが UIEngine 独自のプログラミング言語 UJML で書かれたコードである(本ブログ初公開!)。HTML + JavaScript からコンセプトだけを抽出し、(携帯電話でも動くように)機能を徹底して削り、非同期通信の機能を強化し、かつ、「状態変数」というコンセプトを導入することにより DOM を不要にした AJAX プログラミング専用の言語である。

 もうすぐ日本語マニュアルが完成するのだが、待ちきれない人はマニュアルが全て英語であることを承知の上で http://developer.uievolution.com/ から SDK をダウンロードして遊んでいただくのも良いかも知れない。ツールの日本語化は完了しているのだが、マニュアルの日本語への翻訳が遅れているのと、日本の携帯用の"push to publish" スクリプト(作ったアプリをビルドスクリプトから携帯電話に直接プッシュする仕組み)のテストがまだ十分に出来ていないのである。

 理想的には、ipodiway の様にウェブページで出発地点と行き先のアドレスを入力すれば一気にこのアプリをサーバー側でビルドして指定した携帯電話に送り込む、というサービスに仕上げたかった所だが、とりあえずは、ipodway で作った画像ファイルを手作業でコピーしてこのソースと一緒にビルドする、という手抜き工事にしておいた。「誰かサーバー側のプログラミングの得意な人がボランティアで作ってくれないかな…」などとここにタネを撒いて置くのも今風のやり方かもしれない。

Comments

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

Your Information

(Name is required. Email address will not be displayed with the comment.)