先日のJavaOneでのJWebPaneに関するスライド

PDF注意。

ダウンロードサイズが2MBってのは、描画機能がJava2Dに頼っていたり、FirefoxやSafariがガワも搭載していることを考えるとあまりフェアな比較ではないように思うが…

あと、FlashのサポートのためにNPAPIでなくActiveXを使うつもりらしいのが意外。

Webアプリケーションに対するジャンプリスト

もしかしたらGoogle Chromeはこういうことを考えているのかもしれないけれど。

Windows7の新機能で、ジャンプリストというのがある。アプリケーションで最近開いたファイルや、よく使うファイルをリスト表示するなどの機能がある(XAMLでカスタマイズできるらしい)。Google ChromeやPrismは、Webアプリケーションを通常のアプリケーションの用に使う機能を持っている。通常のアプリケーションのように、Webアプリケーションに対してもジャンプリスト機能を持たせたいと思うのは当然の発想ではないだろうか。

例えば、ニコニコ動画の場合、「いつも表示」の部分を、「作業用BGM」のマイリストと連動させてみたり。Twitterのfavを「いつも表示」と連動させてみたり。

Bagelモックアップ第2.5版

Bagel2 モックアップ第3版

タイトルバーを取っ払って、タブの段と閉じるボタンの段を同じところに持っていったのはGoogle Chromeと同じ発想。ブックマークツールバーは削除、Windows 7と似たような感じでタブバーと統合する。どう統合するかは第3版で。

このレイアウトの欠点は、最大化しているときにスクロールバーをいじりたいとき、マウスを画面の端まで一気に持っていって、スクロールバー付近に気軽に合わせることができないことか。閉じるボタンが右側だったらよかったのに…。あと、タブへの視線移動量が、左に置いたときよりも大きくなりそうだ。

コマンドラインインターフェースとの相性はいいかもしれない。タブコントロール部分を出力先ととらえた時、リダイレクト記号と「出力先」のある方向が一致する。

Qt4.6から加わるQtWebKitのDOM API

Qt4.5で見合わされたDOM APIが、ついにQt4.6で使えるようになります。

現在、QWebFrameを覗いてみると、こんな感じになっています。

QWebElement documentElement() const;
QList findAllElements(const QString &selectorQuery) const;
QWebElement findFirstElement(const QString &selectorQuery) const;

QWebElementを見ると、appendInsideなどの見慣れないメソッドが見えます。

タブはどのように使われているか

How do people use tabs? とかいうスライドより抜粋:

何のためにタブが使われているか

  • 戻るボタンの代わり
    • 検索結果を一斉に開くといちいち戻って次のページを見るより速く使える
  • 軽量ブックマーク
  • リマインダ
  • マルチタスク
    • 例えば、ネトラジを聞きながら作業するとか
  • 比較

タブの利点

  • 「ただそこにある」
  • 目に見える履歴
  • 戻るボタンより速く、簡単である
  • 信頼性(戻ってきて同じページが確実にみられるということ。livedoor Readerなんかだと、右クリックした画像でうっかり「画像だけを表示」をやってから戻ると、途中まで読んだRSSがパァになるが、新しいタブで開けばそういうことが「確実に」ない)
  • 新しいブラウジング戦略
    • さっきの検索エンジンの話

ReactOS(rev40983)

reactos40983 reactos40983-2

久しぶりに状況を確かめてみた。ReactOS付属の「Download!」というツールでダウンロードできるFirefoxから1.5が削除され、代わりに3.0が入っていた。また、マウスを動かしつづけないとFirefoxが通信してくれないのも直っていた。Webページ内のテキストのレンダリングがおかしいのは相変わらず(ただし、一枚目のスクリーンショットは日本語のページを表示しているが、日本語フォントを導入していないのでこうなるのは当たり前)。

フォントの横幅の計算がおかしいのかね?そのわりにはChrome部分はまともなのよね。

Bagel2について (その2)

ここらへん読めば、Bagel2で目指しているものがおぼろげながらわかってもらえると思う。ただ、2007年くらいの自分のはてブからも拾ってきているので、情報としては古いものも混じっている。

ブラウザはどうあるべきか/スクレイピング

俺がFirefoxの拡張機構に感じていた不満ってのはここにある。簡単にいえば、Piroさんがよく言っている「拡張=野良パッチ」論。Bagel2では、上でいう2の層を実装したいと思っている。正直、ここが最大の障壁。

Plan9

Plan9日記は面白いから全部読むべき。Plan9の「すべてはファイル」という概念はもちろんのこと、acmeについても見ておいたほうがいい。

alohakunのエントリも面白いから全部読むべき。コメントも含めて。

より良いソリューションに対する最も危険な敵というのは、十分に良い既存のコードベースなのだ

AtomPub/XMPP/REST

AtomPubは最近雲行きがあやしくて鬱

Microformat

WecSlicesとかアクセラレータとか、そろそろ実用段階に入ってきた感があるMicroformat。昔は読むばっかりで、はてブを活用してなかったので、もっと重要なエントリはあるはずなのに漏れがひどいなあ…

ユーザーインターフェース

実はBagel2のモックアップをAzaに見せたことがある。

Azaの親父さんの作品。

データは常にアルゴリズムよりも正しいです。

ソフトウェアの機能や特長は、長期的に見たときに優位性にはなりません。これらは時間が経てばコピーされて陳腐化してしまう。

その他

感想

まだ「未来」は訪れてないんだなあ。

あんま関係ないですが、某委員会で挙げられているブラウザの中で見るべきところがあるのはfub, KIKI, Google Chromeくらいなもので、あとは全部ロートルですね。Bagel0.xもDonutのコピーにすぎないですし。今更そんなものを作ってもしょうがない。陳腐な言い回しになるのであまりこんな言い方はしたくないのだけれど、たぶん、OSとしてのWebブラウザを作りたいんだろうな…

データの取り扱い、をいかにうまく設計するか。僕は頭が悪いので、なかなか結論が出ないのでありますよ。