Backnumber

June, 2006
May, 2006
April, 2006
March, 2006
February, 2006
January, 2006
December, 2005
November, 2005
October, 2005
September, 2005
August, 2005
July, 2005
June, 2005
May, 2005
April, 2005
March, 2005
Feburary, 2005
January, 2005
December, 2004
November, 2004
October, 2004
September, 2004
Augsut, 2004
July, 2004
June, 2004
May, 2004
April, 2004
March, 2004
February, 2004
January, 2004
December, 2003
November, 2003
October, 2003
September, 2003
August, 2003

- HMDT archive-
July, 2004

July 28

日本到着。暑いです。現在、家探し中。

ネットワーク環境が整うまで、かなり時間がかかりそう。更新再開は、もう少し先になりそう。

July 21

シイラ nightly build 040721。

  • 「リンクを常に同じタブで開く」、「リンクを常に新規タブで開く」、「リンクを常に新規タブを背面で開く」というブラウズモードを追加。

プロジェクト開始直後から要望の多かった、リンクを開くときの挙動の変更を実装してみた。これは、実装するべきかどうか、実装するとしたらどうするべきか、だいぶ悩んだけど、とりあえず付けてみた。

この機能の目的は、Web ページのリンクをクリックしたときに、新しいページをどこに開くか?を設定することだ。シイラの観点から見ると、候補は次の 5 つだ。

  • 同じタブ(タブを使用していなければウィンドウ)
  • 新規タブを作成して、選択する
  • 新規タブを作成して、選択しない
  • 新規ウィンドウを作成して、前面に出す
  • 新規ウィンドウを作成して、背面に送る

Web ページ制作者からすると、次の 2 つを指定することができる。

  • 指定なし(同じタブまたはウィンドウを想定)
  • ターゲット名を指定(ターゲットがなければ、新規タブまたは新規ウィンドウ)

この要求に対する、シイラの実装は、こうだ。まず、ターゲット名が指定されているリンクを、新規タブで開くか新規ウィンドウで開くかどうかを設定できる。これはすでに実装されていた。環境設定の、タブパネルの、「ターゲットリンクをタブで開く」チェックボックスで指定できる。

そして今回新たに、すべてのリンククリックに対しての設定を加えた。これを「ブラウズモード」と呼んでいて、表示メニューから設定できる。メニューから設定するようにしたのは、けっこう頻繁に切り替えることになると想像するから。

モードは 4 つある。「標準モード」は、いままでと同じ。ターゲット指定なしは同じページで開き、ターゲット名があるときはタブかウィンドウで開く。「常に同じタブ(またはウィンドウ)で開く」は、いわば強制シングルウィンドウモードだ。リンクのターゲットの設定が何であっても、同じタブで開く。「常に新規タブで開く」は、ターゲットの設定があろうがなかろうが、新規タブを作成して開く。「常に新規タブを背面で開く」は、新規タブを作成して開くけど選択はしない。

この設定は、ブックマークを開くときや、URL を入力したときには反映されない。あくまでページのリンクをクリックしたときだけ。また、修飾キーとともに押されたときは、修飾キーが優先される。

ちょっと複雑かな?でも、使い勝手をあーでもない、こーでもないと想像した結果、こういう形になった。ご意見ください。

明日は US 出発の日。

July 18

シイラ nightly build 040718。

  • Web ページ上でのドラッグ処理を改善。
  • 選択部分を検索のバグを修正。
  • URL コンボボックスと検索フィールドの問題をいろいろと修正。

明日は引っ越しの荷物発送の日。

July 16

シイラ nightly build 040716。

  • ブックマ−ク追加ダイアログに、新規フォルダボタンを追加。
  • URL コンボボックスを少し改良。
  • コンテキストメニューに、「戻る」、「進む」、「再読み込み」を追加。
  • 「選択部分を検索」メニューを実装。
  • サイドバー選択時のハイライトを改善。
  • ステータスバーに、非選択タブのメッセージが表示される問題を修正。
  • 履歴サイドバーでコンテキストメニューを表示。

明日は引っ越しの梱包作業の日。

July 14

シイラ nightly build 040714。

  • キャッシュパネルで、キャッシュの容量を設定可能。
  • ツールバーがテキストのみのときに、検索フィールドをシートで表示(バグあり)。
  • ブックマークサイドバーで、複数選択時のコンテキストメニュー対応。

まず、キャッシュパネルの拡張。メモリキャッシュとディスクキャッシュの容量を設定可能に。どのくらい効果があるのか分からんけど、とりあえずやってみた。これはどっちかっていうと、Web Kit の機能テストですな。

次は、検索フィールド。メインのウィンドウで、ツールバーをテキスト表示モードにしているときに、メニューから検索フィールドを選ぶことでシートを表示するようにした。ただし、バグあり。どういうわけか、検索フィールドで URL 補完がされてしまう。いろいろ調べたんだけど、どうにも分からんので、ひとまずこのまま公開。あと、ツールバー上の「URL」と「検索」テキストボタンを有効化させることは、現状の Cocoa では無理でした。NSToolbar の仕様ってことであきらめてください。

最後は、ブックマーク複数選択時のコンテキストメニュー。これで、複数のブックマークを選んでタブで開く、っていう操作がやっとできるようになった。もちろん、検索テーブルでも対応。

ちょっと古いけど、フェーストップの話を。

フェーストップは、Mac につないだ iSight みたいな FireWire カメラからの映像を、デスクトップに重ねて、テレビ会議なんかで使おう、っていうものだ。これだと、たとえばフォルダのアイコンを指定するのにマウスじゃなくて指で直接教えたり、Power Point のスライドの上に話者の顔を表示させたり、っていうことができる。

この技術のポイントは、「ムービーをデスクットプに半透明で重ねる」ということにつきる。これを実現しているのが、Quartz Extreme だ。HotWired の記事では Quartz となっているけど、Quartz Extreme の方が正確。Jaguar から導入された Quartz Extreme では、2D、3D、ビデオといったグラフィック情報を、ビデオカード上の GPU で統合的に処理する。これによって描画スピードのアップと、ビデオの半透明といった画像処理が可能になっていた。

Apple は現在それをさらに押し進めていて、2D 処理の大部分を GPU でやらせようとしている。それが Tiger で導入される CoreImage だ。CoreImage によって、2D 処理の大幅な速度アップが期待できる。さらに、画像処理も強化されて、さまざまなエフェクトがかかる。それが CoreVideo の画像処理。WWDC の基調講演で、iChat の 3 面表示があったでしょ。あれはたぶん、CoreVideo を利用している。

Quartz Extreme や CoreImage は、GPU を OS アーキテクチャの中に取り込んだ、OS としての技術的な進化だ。このアドバンテージはすごく大きいと思う。ほんとに。すべてのアプリケーションが恩恵を受けるけど、いちばん大きく受けるのは画像処理やビデオ編集アプリケーションだ。Tiger に完全に対応したビデオ編集アプリケーションは、いままでのものをちんけなものにしてしまうだろう。

Tiger は期待していいってば。ほんとに。あ、ぜんぜんフェーストップの話にならなかったや。

July 13

昨日のビルドは、古いファイルが入っていたみたいで、ごめんなさい。気づいたときは、今日の作業にどっぷりと入っていてしまったので、新しいビルドとして出します。

というわけで、シイラ nightly build 040713。

  • ブックマーク、履歴、ダウンロードサイドバーで、複数項目の選択、削除を可能に。
  • ダウンロード履歴検索が使用可能。

やっと、履歴とダウンロード履歴を削除できるようにしたよ。

履歴を残さずにブラウズするモードは、Safari 1.3 の Private Browsing モードを使うことになるな。だからシイラ with Safari 1.3 まで待ってください。

July 12

シイラ nightly build 040712。

  • ブックマークサイドバーで、複数ブックマークの選択を可能に。

ブックマークを複数選択して、移動、削除ができる。このぐらいのものは、リリース前にやっておけって。履歴やダウンロードについては、これから。

ただし、複数選択したままコンテキストメニューを表示させる方法が分からなかった。Safari もできないし。誰か、やり方教えて。

この機能は、Cocoa バインディングを使えば簡単にできるんだけど、アウトライン表示での Cocoa バインディングは Tiger までおあずけなので、今回は手でごりごりと実装。

July 11

シイラ nightly build 040711。

  • 「タブを再読み込み」、「すべてのタブを再読み込み」、「すべてのタブをブックマークに追加」、メニューを追加。
  • 全体的な挙動が少し速くなったかも?

ここ数日は、デバッグや機能強化が多いな。現在のシイラだと、すごく乱暴に考えて、1 つの機能を強化、改善するのに 1 時間かかる。少し大きい作業だと 2 時間。作業には、仕様決定、コーディング、テストが含まれる。

今日のビルドだと、「タブを再読み込み」と「すべてのタブを再読み込み」がそれぞれ 1 時間。「すべてのタブをブックマークに追加」が少し大変で 2 時間。合計で 4 時間の作業。1 日の生活から 4 時間を捻出しようとすると、朝早起きして 2 時間、夜遅く寝て 2 時間。これを一週間続ければ 28 時間、一ヶ月続ければ 112 時間を捻出可能。でもシステムの負荷を超えたところで破綻するな。

July 10

シイラ nightly build 040710。

  • ブックマークバー、ブックマークボタンを開くときの修飾キーに対応。

ただし、ブックマークバーのフォルダからドロップダウンされるメニューを選択するときには効かない。これは技術的な問題で、メニューを選択するときは、修飾キーの情報がメニュー側がショートカットを判定するために、とられてしまうのだ。これを変えるのはとても難しい。Safari も同じ問題があるし。

July 7

シイラ nightly build 040707。

  • ダウンロードしたファイルが削除されてしまう問題の修正。
  • ダウンロード中のファイルを、.download パッケージに入れた。ダブルクリックによる再開は未実装。
  • ダウンロードウィンドウの位置を記憶。

Safari の露骨な真似になるので、実装するかどうか迷ったけど、やっぱり .download パッケージを実装した。理由は、ダウンロード中かそうでないかを Finder 上で確認できることと、resume 情報をパッケージに含めて管理できるから。

この後、ダウンロード状況を示すカスタムアイコンを貼付ける予定。カスタムアイコンは Carbon 使わなくてはいけないから、めんどくさいんだよな、これ。

July 6

シイラ nightly build 040706。

  • 「他のブラウザで開く」メニューを追加。

http を開けるアプリケーションを探してみたら、RealPlayer も表示できるようになったのね。これも Web Kit 使っている。

July 5

WWDC から帰ってきました。帰ってきてまずやらなきゃいけなかったことは、WWDC 中にさんざん荒らしたハードディスクの整理。

どうするかなー、と考えた結果、思いあまってバックアップをとって、再インストール。ついでにパーティションを切り直して、OS 入れて、開発環境入れて、復旧作業して。ぐったり。

シイラ nightly build 040705。

  • インフォセンターを一時削除。ダウンロードパネルを復活。
  • ダウンロードに検索ボタンを追加。

ダウンロード周りはいろいろいじった結果、にっちもさっちもいかなくなったので、いったんロールバック。インフォセンター形式をとりあえず退避させて、ダウンロードパネルに戻した。いろいろ変えてしまって、すいません。もう一回考え直す。

半透明ダイアログもいったん撤収。どういうタイミングで半透明にするか、考え直し。シイラが非アクティブになっているときに、半透明で最前面表示、ってのがいいのかな。

あとは、環境設定にオプションを追加したり。

July 2

WWDC 最終日。いやぁー、楽しかったなー。

ここまでのセッションをふまえて、シイラのロードマップを書き直すことにした。シイラのバージョンとは別に、2 つのマイルストーンを設定する。シイラ with Safari 1.3 と、シイラ on Tiger だ。

シイラ with Safari 1.3 では、まず Web ページアーカイブ機能が追加される。現在表示しているページを保存する機能だ。そしてさらに、Web ページ編集機能を付けよう!HTML タグ打ちなんてケチなことは言わない。もちろん WYSIWYG でだ!これを利用して、そうだねぇ、Blog の WYSIWYG 編集サポートとかはどうかな?他にも、リンク抽出ページの DOM 解析とかも付くでしょう。

シイラ on Tiger の目玉は、Spotlight 対応になるはず。ブックマーク、ページ履歴、ダウンロード履歴などが、Spotlight で検索できるぜ。あと Dashboard にも対応する。たとえば、ダウンロード状態とか、アンテナの更新とかを Dashboard で表示しよう。他には Core Image を利用したユーザインタフェースとかかな。

その他の機能、アンテナとか RSS とかは、適時追加するよ。

WWDC の後、家に戻ったら、nightly build を再開しますよ。

July 1

WWDC 4 日目。ここまでの感想をまとめてみた。いつもと違って、ちょっと本気モード。

WWDC 感想:「Panther 疾る、Tiger 咆える

ヘチマさんへ。いいんじゃないすか。どんどんやって。ソースコードは、公開してくれたらうれしいなぁ。強制じゃないけど。


[Home] [Download] [Archives] [BBS] [Cocoa Programming Tips 1001] [Core Foundation の秘密] [Safari Developer Center] [はじめてのブラウザのつくり方] [Sketch BP] [スクリーンセイバーを作ろう] [Objective-C 最適化] [Authorization API 完全理解] [Mac OS X Programming Books Review] [オブジェクト指向の言語比較論] [panther-dev]

mailto: mkino@xd5.so-net.ne.jp