ActiveDesktop_01

Last-modified: 2014-08-16 (土) 12:41:50 (2014d)

蘇る Active Desktop

Microsoft Windows に古くから搭載されているもので、Active Desktop というものがある。Windowsのデスクトップ上にWebページを常に表示しておくことができるというものだ。

Windows95あたりから登場した技術だと思うので、もう10年以上も前からこの機能は存在する。だが、「システムリソースを消費する」「動作が不安定で鈍重」などの理由により、あまり使われてこなかった。実際、知人のデスクトップが Active Desktop していた、というのは見たことがない。

そんな忘れ去っていた機能をごく最近思いだし、「ひょっとして今のハードウェアリソースなら機能を十分に活用できるんじゃないか。トライデントの機能も昔とは比較にならないほど強化されているし。」と考えた次第である。具体的にはMSXMLオブジェクトの使いやすさに気づいたことと、IE7より透過PNGが標準で使えるようになったことが刺激になった。

ActiveDesktop画像

目的

以下の機能をActiveDesktopで提供することを目標とする。

  • デジタル時計
  • GoogleとWikipediaの検索フォーム
  • 壁紙切り替え機能
  • RSSリーダー
  • 現在放送中のテレビ番組表示

また、Active Desktop のソースとなるHTMLファイルは、httpサーバではなくローカルのハードディスクもしくはWindowsファイル共有(CIFS)でアクセスできる所にある、ということを前提としている。

たとえば、Samurize(http://www.samurize.com/)を使えば簡単に実現可能な機能が多いし、RSSが見たいだけならフィードリーダーを常駐させておけばよい。だが、今回は「手作り感」を追求してみたいため、それらの機能を提供するコードをJScript(JavaScript?)で書いてみることにした。

基本設計

Active Desktop で読み込むのは単一のHTMLファイル(以下index.html)とする。

デザインは極力単一のCSSファイル(default.css)に記述する。各機能の表示位置も含む。

壁紙切替やRSS表示の各機能は外部JSファイルに記述する。このスクリプトファイルをBODY内でインクルードするだけで、すぐさまその機能が使えるようにする。極力グローバル変数の定義は避けるが、場合によってはコードの見通しの良さ、メンテナンス性を優先してグローバル変数を作る場合もある。