新時代OSの幕開けを告げる虎──SpotlightとDashboardを斬る(2/2 ページ)

» 2005年07月26日 13時45分 公開
[中津川篤司,ITmedia]
前のページへ 1|2       

 さて、ある意味最も期待していたのがこのDashboardだ。しかし実際触れてみるまで何ができるのがいまいち分からずにいた。さらに言えば、実際に触れてもふーんと感じた部分さえあった。だが、これは物凄い可能性を秘めていることに気付いてしまった。これは自分でDashboardウィジェットをツールを作ってみたことでようやく理解できた(鈍いかも知れない)。

Dashboardウィジェットを起動

 Dashboardは[F12]キーで起動する。ちなみにExpose(エクスポゼ)の全ウィンドウ表示が[F9]キー、アクティブなアプリケーションの画面一覧が[F10]キー、デスクトップの表示が[F11]キーになっているので、その隣が使われることになる。iMacのキーボードは[F13]キーまであるので、次のバージョンとなるMac OS X 10.5(開発コード:Leopard)ではここを埋める機能が提供されるかも知れない。さて、その[F12]キーを押すと天気や電卓、カレンダー、時計が表示される。この時点であまり感動はない。アクセサリが表示されたと思う程度だろうか。だが、画面の右下に十字マークがある。これをクリックするとふと気付く事がある。Flight TrackerやStocks(株価情報)、それに天気はどこから情報を入れているのだろう。答えは簡単だ。インターネットを通じてデータを取得しているのだ。と言う事はDashboardウィジェットはインターネットにアクセス可能なのだ。調べてみると、ウィジェットはHTML+CSS+JavaScriptで構成されるという。うん、これは作ってみるべきだと言うことだ。

 結論から言えば、ウィジェットの作成は簡単ではあるが、少なくとも最低限のインターネット知識やそれに関するプログラミングのスキルは必要となる。また、凝ったものを作ろうと思えばウィジェット特有のコツも必要だ。だが、知れば知るほど面白く、幅広い可能性を感じさせてくれる。

 ウィジェットがインターネットにアクセスする方式はXMLHttpRequestを利用している。これは今流行のAjaxと同じだ。あとはウィジェット特有のオブジェクトがウィンドウオブジェクト内で定義されている。ドラッグされているかどうかの判定や、シェルの実行、更に画面の大きさやスクロールバーの実装など、Webアプリケーションに比べて使える機能が幅広い。

 当初作ろうと思ったWikipediaの検索を行うウィジェットが既に存在したので、それを参考に作ったのがはてなキーワードの検索ウィジェットだ。まだ途中ではあるが、基本的な動作は可能だ。検索結果をキャッシュフォルダ(シェルで作成)に作成し、結果の中から必要な部分を切り出して表示するという流れはほかでもさまざまに応用できるだろう。だが、その作成法では広告枠などが削られる可能性が高く、あまり一般公開すべきものではなくなる可能性はある。個人的な用途では非常に便利だ。ここまで2、3時間程度で開発できる手軽さが良い。

はてなキーワードの検索ウィジェット 画面中央の青いウィジェットが今回作成したはてなキーワードの検索ウィジェット。背後にはそのコードも
検索結果 実際に検索したところ

 作成手順としてはまずベースとなるHTMLファイルの作成から始まる。描画はCSSで制御するのでdivタグ、spanタグの手打ちで作成した。今回は設定画面がないので、iマークなどは利用していない。最初につまづいたのは、Default.pngと言うファイルが必要だということだ。これはウィジェットが起動する際のスプラッシュとして利用される(その後、画像として利用可能)。なければ起動しないので注意しよう。また、日本語のエンコード周りでもつまづいた。JavaScriptのescape関数はUTF8エンコードとなっており、はてなキーワードのURLに使用するものとは異なる。

 この問題の解決方法は2パターンある。1つ目はシェルが使えるので、簡単なプログラムをC/ruby/python/Perl/PHPまたはJavaなどで書いて、引数としてエンコード文字列を渡す方法だ。UNIXをベースにしているだけあって、特にインストールの必要なく利用できる。

 もう1つ方法は、JavaScriptでEUCエンコードしてくれる関数を作成、またはフリーのものを見つけてくるというものだ。日本語処理に関しては今後、コミュニティーが活発になればライブラリとして提供されると期待している。後はAjaxやXMLHttpRequestの開発経験があれば問題はなさそうだ。今回のように普通のサイトを利用する場合はresponseText、RSS FeedのようにXMLでレスポンスが返ってくる場合はresponseXMLを使えばよい。後は描画する情報を切り出して、描画する部分に表示させればよい。

 Appleの開発者向けサイトでは、幾つかのサンプルとライブラリが公開されている。基本の“Hello World”に“Hello Welt(各国言語対応のHello World)”と言ったサンプルや、Stretcher(自動リサイズ)、Scroller(スクロール)、Voices(音声)といったライブラリを実装を含めてダウンロード可能だ。Hello Worldはたった4ファイルで構成されている(アイコンが不要なら3ファイルでも良い)。ウィジェット特有の処理は多少あるが、JavaScriptやCSSの勉強としてチャレンジしてみるのはいかがだろう。

 ウィジェットの利用範囲としては、はじめからインストールされているような電卓や時計、メモ帳などのアクセサリや、株価やオークションなどのように、すぐにかつ手軽にデータを入手したいと思わせるもの、あとは翻訳や国語辞典などの検索系などが考えられる。いずれにせよインターネットおよびシステムへのアクセスができることで、可能性がとても大きくなっているのは間違いない。既に幾つものウィジェット登録サイトが立ち上がっており、開発は活発に行われている。またWindows版Dashboardと言えるKonfabulatorもあり、OSの枠を超えた共有もなされている(動作はすべてが同じ、というわけではない)。Konfabulatorについては、米Yahoo!が買収したこともあり(関連記事参照)、今後の動きに注目したいところだ。

レビューを終えて

 さて、今回のレビューで分かったのは、今回のアップデートがインターネットとデスクトップ、さらにその間でやり取りされる情報を統合しようとしていることだ。WindowsがOSとIEとの融合を図っているとはまた違った、これも1つの答えだろう。

 そして煩雑化する情報に対する答えを検索に対して求めようとしている。これは前述のとおり各検索エンジンと目指す方向性が一致している。しかしOSとの融合という点にあってはSpotlightが一歩、二歩有利だと言わざるを得ない。

 加えて、AppleのIntelプロセッサの採用がある。今までは独自のプラットフォーム、Apple製のみという障壁がユーザーの関心を惹きつつも手軽感が感じられなかった。だが、Intelの採用によってプラットフォームの選択幅が広がる可能性がある。Appleはまだまだ市場を賑わせてくれそうだ。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ