Recruit Ajax Parallel Search Widget

#なんか主催団体もいずれ公開してくれるらしいのですが、その前に。

7月は週末が比較的暇だったので、「Sun×RECRUIT Mash up Award」に応募してました。作品はこれ。

Recruit Ajax Parallel Search Widget

言われる前に言っておくと、Google AJAX Search APIにインスパイアされてます。というかこれ出たときには模倣がいっぱい出てくるかと思ってたんだけど、案外そうでもなかったので、じゃあ、とおもって作ってみた感が大きい。むしろリクルートのコンテストはたまたま。

このアプリの肝は、やっぱりクロスドメイン通信。いわゆるJSONPでやっている。クロスドメイン通信が出来るからこそ、アプリが一つのサイト内にとどまらず、コピー&ペーストの形で広がっていくという算段。スクリプトを切り貼りして埋め込むという観点ではバッジとよく似ているが、非同期で通信できるのでコンテンツのダイナミックさが全然違ってくる。

もちろん、クロスドメイン通信はFlashを使えば出来るんだけど、アプリ(ウィジット)を全部Flashで作った場合、カスタマイズに関してディストリビュータの選択肢が少なすぎる。一方、JavaScriptならばAPIとして提供ができるので、ある程度カスタマイズを許すことが出来る。

ただ、JavaScriptによるリモート呼び出しは通常の通信方法とくらべてリモート側に任意のコード呼び出しを許してしまうので、その際のセキュリティ問題についてあらかじめ慎重になっておく必要がある。個人的には、GoogleJavaScriptリモート呼び出しによるAJAX Search APIをリリースしているわけで、もしリモートコードを提供するサイトがそもそも信頼に足りるのであれば大丈夫ではないかという結論に達している。動的か静的かという違いだけで、結局はGoogle AnalyticsGoogle MapsでもいろいろなサイトがGoogleスクリプトを無条件にインクルードして実行させている訳だし。

しかしながら、上記のサイト(recruit.nekodrive.com)が客観的に信頼に足りるかどうかというと、それは微妙ではある。今のところ自分としては「信頼してくれ」というより他ない。なので、もしこのアプリの有用性について理解してもらえたのであれば、将来的にはJavaScriptJSONPのフィード作成部分をリクルートが信頼できる形でホスティングしてくれることを期待したい。

その他のInsede of "Recruit Ajax Parallel Search Widget"

  1. リクルートWebサービスXML-> JSONにはXSLTを使用。
  2. JSONPのサーバ側はPHPホスティング中。ただし、コンテストにはJava版のソースも添付して送付済み。結局XSLTが動けばそれでいい。ただ単にJavaのインターネットホスティング環境として適当なのがなかっただけのこと。まあJavaNetBeansで作っとけば加点対象にもなるみたいだし。
  3. 7末に主催側に提出したソースはここ。ただその後多少バグ発見してる。