The Ever-Changing Widget Landscape てきとう和訳

Apolloがリリースされてこの記事が書かれた頃と状況が多少変わっていますが、技術的な面でウィジェットの現在を取り巻く環境を知るのにはいい内容だったので、今年の1月末に書かれた The Ever-Changing Widget Landscape をてきとうに和訳しました。ところどころはしょっていたり、語尾も揃っていなかったりですがご容赦ください。

この記事を書いたEdは、まだ Yahoo Widget がkonfabulatorと呼ばれていて、まだWindows版が存在しなかった頃にWindows版を作ってよと言われて"Windows版なんてクレイジー"と吐き捨てつつ2日でWindows版のプロトタイプを作ってきたというオニなひとらしいです。


変わり続けるウィジェットの展望 2007/1/29

2003年にkonfabulatorが現れ、開発者にとって唯一の選択肢だったときと、widgetの世界は大きく変わりました。
Microsoftが先日Vistaの一部として出したり、Appleを含めていくつかの会社から似たものがリリースされています。そしてNewsweekが、2007年は"ウィジェットの年"だと宣言するほどです。

Arlo と Perry が Konfabulator を作ったのは、かっこいいアプリケーションが作りたいけどそういうのを作れるやつがなかったからです。それからずっとKonfabulatorはwidget開発者のニーズ - 強い印象を与えるためのツールを提供すること - にあわせてロードマップを作ってきました。でも選択肢がひとつじゃなくなってよのなか複雑になってきたので、konfabulatorを作ってきたぼくらのスピリット - デベロッパがかっこいいアプリケーションを作るのを手助けする - に立って、ニーズに合わせてどれを選べばいいかながめてみますよ。

で、どのプラットフォームをつかえばいいの?

簡単に言っちゃうと「何を作るかによる」です。 なにを実現したいか、どれくらいパワーがある(ない)か、webオンリーか、デスクトップでも動いてほしいか、再利用するためのコードがもうあるか。 っていうのが、決定に関わってきます。

まず Web Widgets について

widgetには Web Widgets と Desktop Widgets のふたつのカテゴリがあります。Web Widgets はウェブページの中で動くやつでモジュールとかバッジと呼ばれます。(訳注:日本だとブログパーツ) ほかのサイトのコンテンツをうめこむことでだれでも自分のサイトを"マッシュアップ"できます。このタイプのやつは完全にブラウザのテクノロジー依存です。(HTMLとかFlashとか) しばらくはいろんな名前で呼ばれていましたが、"Widgets"と呼ぶようになったのは最近です。 Widgetというのはふつう(すくなくともkonfabulatorがでてからは)デスクトップのちいさなアプリケーションのことを意味します。今日はデスクトップウィジェットの話を掘りさげでいくので、Web widgets の話が知りたい人はここで読むのを止めてもいいですよ。

なんでDesktop Widget を選ぶの?

desktop widget のいいところは
  • ブラウザの外で動く
  • ローカルのリソースにアクセスできる
  • オフラインで使えたり、バックグラウンドでダウンロードできたりする能力がある
  • デスクトップの標準のUIを使って、いいかんじでシステムのほかの部分を扱える
ところで、ブラウザからコンテンツを外に出すことで、webとdesktopの境界を曖昧にします。

デスクトップウィジェットの世界にあるいくつかの選択肢

  • Apple Dashboard
  • Microsoft Windows Vista Sidebar
  • Google Desktop Gadgets
  • Yahoo! Widgets (Konfabulator)
マイナーなのもあるけど、今日は小説を書くわけにはいかないからこの4つだけね。

Apple Dashboard / Microsoft Windows Vista Sidebar

このアプローチは訴求力があります。ネイティブのブラウザを利用していて、widgetのためにengineを作ったりはしていません。
いいところ
  • webで動くバージョンを持ってるなら、かなり簡単にwidgetで動かせるよ
  • 動いてるシステムのにjsオブジェクトを通じてアクセスできるよ
  • DHTMLは身につけるのも使いこなすのも簡単でAJAXのライブラリが即使えるよ
  • HTMLオーサリングツールがいろいろあるよ
よくないところ
  • ぜんぶwebページなのでリソースすごい食いますよ
  • OSとべったりくっついてはがせません

Google Desktop Gadgets

XMLファイルを使っていますが、独自の規格でW3C標準には準拠していません。
いいところ
  • HTMLを知っていたら簡単に理解できます
  • HTMLモデルに縛られません
  • jsとVBが使えます
  • Drag and Drop がいいかんじでサポートされてます
  • Gadget Designerっていう開発ツールがあります
  • そんなにリソース食いません
よくないところ
  • できることが限られます。特に見た目の部分で
  • OSXとかvistaでいまどきありえないくらい、ウインドウ再描画がちらついたり、だっさい動き方をします
  • Google Desktop package を落としてこないといけません
  • 立ち位置としてコンシュマー寄りで、デベロッパーのためのプラットフォームというかんじじゃありません。独自のアプリケーションを作るというよりはプラグインを作るかんじ
  • OSXをサポートしてません

Yahoo! Widgets (nee Konfabulator)

XMLファイルと自作のレンダリングエンジンを使っています。W3C標準には準拠していませんが、ちょっとずつ近づけてはいます。そうすることでDHTMLに慣れ親しんだ人たちを引きつけられるはずだと思ってます。
いいところ
  • cross platformなのでいちばん多くの人に提供することができます
  • Webの標準に足を取られたりしません。(でもXMLHttpRequestみたいに採用できるものは採用しますよ)結果としてwidgetやプラットフォームの仕様を柔軟性ができるっていう利点があります
  • 書くのが簡単です。ぼくらはDHTMLをよく知らなかったけど簡単に書けました。僕らのAPIはほかのに比べてそんなにテッキーじゃないからより多くの人が使えるよ
  • 5年作ってるので、アニメーションとかデザインとかインタラクションがパワフル
  • Drag&Dropとか開くとか保存のダイアログがOSネイティブのやつとうまく統合されてます
  • DHTMLよりもふつうのアプリケーションっぽいのが作れます。DHTMLのやつはちっちゃいHTMLワールドから出られなくて、ウインドウ間でウインドウ間で情報の受け渡しが大変だけど、konfabulatorならかんたん!
よくないところ
  • konfabulatorのXML方言を勉強しないとだめです。だからDHTMLに慣れた人にとってはちょっとだけめんどう
  • OSを持ってないので、1回だけコンポーネントをダウンロードしないといけません。でもいまもっと便利になるようにつくってるところです
  • 正直なところ今のバージョン(3.1)はリソース食い過ぎ。作ってる人も使ってる人も言ってて、次のバージョンはきにいってくれるはず
  • ビデオをサポートしていません

で、結論として

ひとつのプラットフォームで動けばいいって言う人と、ぜったいDHTMLが使いたいっていう人とにとっては、DHTMLだと便利だっていうのを別にしても、DHTMLはよく知っててシンプルで、しかもOSといっしょになっていて追加のソフトウェアが必要ないです。
でも、すんごいリソース使うし、ひとつのプラットフォームにしばられちゃいます。

googleのアプローチは技術的には僕らのに似てるけどwindowsでしか動きません。それに小さなアプリケーションというよりはプラグインです。アートとかブランドを表現する余地が少ないです。

Yahoo Widgets はクロスプラットホームで、もう4000くらいwidgetがあって、widget作ったらいちばん潜在的に多くの人にリーチできます。DHTMLほど一般的じゃないけど、ちょーかっこいいwidgetがつくれるのはパワフルなプレゼンテーションレイヤをつくるためにそうなっていて、ほかにもやらないといけないことはあるけど、ここ数ヶ月そのことに取り組んでますよ。
次のリリースでwidgetにたいするみんなの見方がほんとに変わるから。早くリリースしたいです。

今日はほかのテクノロジーにもちょっと光をあてましたよ。安心してね。ほかのやつもそうだろうけど、僕らのエンジンも新機能のクランクをまわしてるよ。来年はこの分野にあついことがたくさんあるのをたのしみにしてます!

Posted by Ed


書いている人が Yahoo Widgets(めんどうなので以下Konfabulatorと書きます)の開発者なので、やや Yahoo Widgets に好意的な書かれ方になっていますが(特に、書くのが簡単、の部分)、たしかにHTML+jsのアーキテクチャに縛られず、柔軟なアプリケーションが作れる可能性があるのはKonfabulatorの利点だと感じます。
ひとつ、Cross-Platform なのは Konfabulator だけだと主張しているところについて補足を。たしかにKonfabulatorだけが Cross-Platform なものの、実際のところHTML+jsで動くほかのプラットフォームはクロスブラウザで動作するウェブアプリケーションを作る程度の手間ですべてのプラットフォームで動作するウィジェットを作ることが可能です。記事内では google desktop gadget はXMLだと書かれていますが、XMLの中にHTML+jsを入れてあるだけで、基本的には HTML+js になっていて容易に変換が可能です。そのため google desktop widgets を、OSXの dashboard と windows gadget で使えるように変換するコンバータ Convert Google Gadgets to Other Widget Platforms も存在します。(追記: このコンバータは、google gadget のURLをIFRAME内で表示するだけで、中のコードをコンバートするのではなく、中身はそのままで各プラットフォーム上でwidgetとして認識される形式にコンバートするものでした)

特定のプラットフォームにしか存在しないインターフェイスもあるので、この方法では完全な意味でCross-Platformにはなりませんが、大半の部分はローカルのリソースを操作するクラスを抽象化することで、ひとつのソースコードからすべてのプラットフォームで動作するウィジェットを作成することができます。皮肉なことにHTML+jsではなく、独自のW3Cの標準に近いXMLを使っているKonfabulatorを除いて(W3C Widgets 1.0 はwidget自体の記述フォーマットを規定しているものではありませんでした) HTML+js で記述されているほかのプラットフォームは低いながらも互換性があるのです。

tags

  • widget
  • 和訳
  • 「The Ever-Changing Widget Landscape てきとう和訳」のはてなブックマーク数
  • 「The Ever-Changing Widget Landscape てきとう和訳」deliciousブックマーク数
  • 「The Ever-Changing Widget Landscape てきとう和訳」をはてなブックマークに追加
  • save "The Ever-Changing Widget Landscape てきとう和訳" to del.icio.us
  • 「The Ever-Changing Widget Landscape てきとう和訳」をリアルタイムブログ検索
  • permalink
  • Tumblr 小さくてきれいなブロギングツール
  • twitterのコマンドラインクライアント

comments

TypeKey Enabled
スタイル用のHTMLタグが使えます。
*required

trackbacks

トラックバック元エントリにこのエントリへのリンクがない場合はトラックバックを受け付けません。

http://labs.gmo.jp/mt/mt-tb.cgi/114
©2010 Kentaro Kumagai, GMO Internet Labs., GMO Internet, inc.
bits and bytes
2007 .03. 26 16:44

tagcloud

  • API1
  • C/C++2
  • E4X1
  • FUSE2
  • Firefox18
  • HTML4
  • IE1
  • MySQL1
  • OSX4
  • Opera2
  • PHP4
  • XML1
  • XPCOM4
  • XPath3
  • apache2
  • binary2
  • book1
  • data11
  • debug4
  • design1
  • experiments3
  • extension10
  • google gears1
  • google maps API1
  • greasemonkey3
  • httpd5
  • javascript17
  • linux1
  • logging2
  • mobile3
  • perl4
  • tips4
  • tool11
  • vim2
  • visualization2
  • widget1
  • wii1
  • windows7
  • サービス6
  • 和訳1

Archives

  • 2008.02 (6)
  • 2008.01 (3)
  • 2007.12 (4)
  • 2007.11 (5)
  • 2007.10 (4)
  • 2007.09 (4)
  • 2007.08 (4)
  • 2007.07 (8)
  • 2007.06 (7)
  • 2007.05 (4)
  • 2007.04 (5)
  • 2007.03 (6)
  • 2007.02 (4)
  • 2007.01 (6)

about

  • bits and bytesのXML
  • 「bits and bytes」のCreative Commons
  • Powered by Movable Type
  • イベントと地図 - モグ
  • Use ecto to blog!
  • bits and bytesのはてなブックマーク数
  • bits and bytesをMy Yahoo!に追加
  • Subscribe with Bloglines