自分好みのガジェットを作る! Windowsサイドバーガジェット作り入門

第1回 Windowsサイドバーの概要

この記事を読むのに必要な時間:およそ 6 分

Windowsサイドバーとそれ以外のガジェット系アプリケーション

ところでガジェットのような小物ツールを常駐しておいて必要なときに使うというのは,Windowsサイドバーのみではありません。むしろこの手のアプリケーションとしてWindowsサイドバーは比較的後発のものになります。

まず火付け役として有名なMac OS Xに搭載されたDashboard,Googleの提供するGoogle ガジェット・サイドバー,Opera ブラウザに搭載されたOpera Widgetなどがあります。Yahoo!が提供しているYahoo! WidgetsはDashboardよりも古く,Konfabulatorと呼ばれていたアプリケーションがベースとなっています。KonfabulatorはシェアウェアでしたがYahoo!によって買収されYahoo! Widgetとして無償配布となりました。

DashboardやOperaなどのそれはガジェットではなくウィジットなどと呼ばれていますが,これらの名前や動作環境,実行方法などに違いはあれども基本的に実現・表現できることに大きな違いはありません。

以下に代表的なガジェット系アプリケーションの特徴をまとめました。

表1 ガジェット系アプリケーションの特徴

アプリケーション動作環境インストールガジェット・ウィジットの開発言語
Windows サイドバーWindows Vista不要HTML+JScript(IE)
Google ガジェットWindows必要XML+JavaScript
Yahoo! WidgetsWindows / Mac OS X必要XML+JavaScript
DashboardMac OS X 10.4不要HTML+JavaScript(Safari/WebKit)
Opera WidgetOpera 9必要HTML+JavaScript(Opera)

この表を見ていただければ分かるかと思うのですが,どのアプリケーションにおいても,ガジェットまたはウィジットを開発するために利用するのはJavaScript(Microsoftの実装はJScriptと呼ばれますが大体同じ)とHTMLまたはXMLです。またHTMLを利用するものに関しては,表示のベースにWebブラウザを利用しているという点も共通しています。

ガジェットの開発に既存のWebサイトで利用されているテクノロジを利用したことによって,普通のアプリケーションよりも作成のための敷居が低くなっているという点も,ガジェットアプリケーションの人気につながっているのだと思います。特にDashboard,Windowsサイドバー,Opera Widgetは,UI記述に一般的なHTMLを利用することが大きいでしょう。

ところでWindowsサイドバーガジェットなどについて調べようとすると,WebポータルのiGoogleやWindows Live!のカスタマイズの際にぺたぺた貼り付けたりするガジェット・ウィジットと呼ばれますものも見つかります。

ですが,これらはデスクトップのガジェットアプリケーションとの互換性はありません。同じような名前のサービスで使われている言葉なので多少混乱してしまうことがあります。特にWindows Live GalleryはサイドバーとWebのガジェットが同じように公開されているので一段とややこしくなっています。

ガジェットの原点

余談ですがマークアップ言語でUIを記述し,JavaScriptでロジックを記述するという形をとって普及したアプリケーションの原点はKonfabulator(Yahoo! Widgets)かもしれません。

Dashboardが登場したときKonfaburatorにとても似通っていることから「マネをしたのではないか?」というような話題もあったようです。もちろん実際にマネをしたかどうかは判りかねますが,Dashboardに限らずガジェット系アプリケーションは多少なりとも影響は受けていると考えられそうです。

Windows サイドバーの作成と利用の流れ

細かい点については次回以降で説明するとして,ここでは作る→配布→利用の流れを簡単にですが説明します。利用に関しては特別すごいことをするでもなく普通にガジェットをインストールするだけなのでVistaを使っているとすれば特に迷うこともないのではないかと思いますが,利用していない人のためにも簡単に説明します。

まずガジェットができるところから配布まで

ガジェットは通常以下のもので構成されます。

  • ガジェットについての情報・アイコン
  • UI記述のためのHTML
  • ロジック記述のためのスクリプト
  • 必要であれば画像やビデオなどのリソース

これらを作成したのちユーザに配布してインストールしてもらえるよう,ひとまとめのパッケージ(1つのファイル)にします。

パッケージ化できたら実際にダウンロードしてもらえるようWindows Live Galleryや配布するためのウェブサーバなどにアップロードし,どこかのページからリンクをはります。配布の手順は実質この程度です。

インストール,利用するところまでの流れ

配布されているものを利用することはとても簡単です。

ガジェットを利用したいユーザは配布ページのリンクをクリックするなどしてガジェットのパッケージファイルをダウンロードし開きます,その際サーバ側で適切な設定が行われていればサイドバーに追加するかどうかというダイアログが表示されます。

メッセージに従い追加を行うとガジェットの一覧にダウンロードしたガジェットが追加されます。また自動的にそのガジェットが1つ,サイドバーに追加されすぐ利用可能な状態となります。

インストールした後は一覧に追加されるので,削除や追加などを自由に行えるようになります。

Windowsサイドバーガジェットの仕組み

表示周り

Windows サイドバーは前の表にもあるとおり,HTML+JScript(正確にはActiveScript)というInternet Explorerを利用して動作しています。

元々Internet ExplorerはブラウザのエンジンをInternet Explorer以外のアプリケーションで再利用できる仕組みが用意されているのでそれを利用しているということです。

そのため,基本的にInternet Explorerで表現できることはWindows サイドバーのガジェットでも表現できるということになります。加えてWindowsサイドバー特有の機能をガジェット側から利用するためにAPIなどの拡張が提供されます。

例えばガジェットがサイドバーから切り離されたことなどを検知するためのイベントやガジェットの背景を透過させるためのHTMLの拡張要素,リソースアクセス機能などを利用できるようになります。

ブラウザをベースとしているDashboardやOperaなども,似たような仕組みになっていると同じです。

ところでInternet Explorerにはゾーンというセキュリティレベルの仕組みが存在していますが,⁠ガジェットの場合はどうなるのか?」という疑問が出てきます。セキュリティゾーンをご存じない方のために簡単に説明すると,インターネットのサイト上のスクリプトからはローカルのデータの読み取りができないが,マイコンピュータゾーンの場合にはデータの読み取りからプログラムの実行まで自由になるなど,そのページの所在によって許可される機能を変化する仕組みのことです。

ガジェットの場合にはマイコンピュータゾーンとして実行されます。ですからガジェットのスクリプトはローカルコンピュータのデータの読み書きやCOMオブジェクトの作成(たとえばiTunesの操作)などを行えることになります。HTA(HTML Application)をご存知であればほぼ同等と思っていただければよいと思います。

著者プロフィール

沢渡真雪(さわたりまゆき)

普段はASP.NETやPerlでWebアプリケーションを書くのが主。興味の向きはWindows一般から.NET Framework,Perl(Plaggerとか)やMac OS Xなど。

URLhttp://www.misuzilla.org/

コメント

コメントの記入