2005年11月28日

10月のカウンタートラックバック

もう12月も間近になってしまい、10月の記事はだいぶ昔になってしまいましたが、一応、毎月恒例ということでカウンタートラックバックを送るとともに、お礼を込めてコメントなどを書かせて頂きたいと思います。

(10/3)RSSリーダーを仕入れてみた~heimdallr編

確かに見落としは良くありますね。
見落としたくないRSS Feedは別のビューに分けると若干見落とし難くなるので試して頂ければと思います。

(10/10)RSSリーダー

Heimdallrも実はBASIC認証に対応しています。ヘルプに書いていませんけど(^^;
URLに、
http://username:password@www.example.com/index.rdf
という形でユーザ名とパスワードを含めると認証してくれます。

(10/21)【このツールが熱い!シリーズ:第4回】RSSリーダ

役に立っているのか立っていないのか良く分からない自動学習機能ですが、 こういう記事を読むと、なんとなく狙い通りの効果を挙げているような感じがします。 いずれ本当に役に立っているのか評価する必要がありそうですね。

(11/27)みなさんRSSリーダーどう使ってます?

RSSリーダーの使い分けについては私もあまり考えたことがありませんでした。参考になります。
使い分けのときに気になるのが各RSSリーダー間の設定の移動。あるRSS Feedだけ他のRSSリーダーに移すって簡単じゃないですよね。何かする必要があるのかなぁ・・・。

(10/27)Soft:Heimdallr 1.10

デフォルトで登録されているサイトは、一般受けしそうなところをチョイスしています。 デフォルト設定のまま使う人も多いと思うので、選択には気を使いますね。

(10/27)Heimdallr 1.10 安定版

実は1.10beta1と1.11は、初期登録されているサイトが違ったりします。 1.10beta1には一部間違えがあったので・・・。どうでも良い話ですが。

(10/30)RSSリーダーというものを仕入れてみた

「しかも更新されているブログが反映されていなかったことがある」
バグですかね・・・。実は良くあるバグだったりします。RSS Feedは様々なアプリケーションが生成するので、細かい実装の違いから生まれるバグがたくさん発生します。 私は長いことこの手のバグに付き合ってきて、解析が簡単にできるようになりました。お気軽に報告して頂ければと思います。

2005年11月20日

C++ coding standards

C++ coding standards―101のルール、ガイドライン、ベストプラクティスという本を読みましたので感想を書きます。

内容は、C++コードの品質向上などを目的とした101の項目から構成されています。

幾つか項目を抜粋してみます。

時期尚早な最適化を行わない
時期尚早に最不適化してしまわない
あまり早い段階から最適化しても、それは的外れな最適化になりますし、かといって最不適化してしまうと、後で頑張っても取り戻せません。難しいものですね。
非メンバーかつ非friendの関数を書くようにしよう
メンバー関数よりも非メンバー関数の方が依存関係が少ないのですね。必要ないものまでメンバー関数にしてしまわないよう気をつけましょう。
些細なことにこだわるな
一番忘れるべきではない項目です。「プログラミングのプロならば、自分の書き方と少々違っているコードでも簡単に読み書きできるはずだ。」という言葉が心に響きます。この項目さえ忘れなければ、コーディングスタイルの宗教戦争からはおさらばできます。

こんな感じの項目が101つ。
C++に慣れた人にとってはあたりまえとも思える内容かもしれませんが、自分のコードを見直したり、人のコードをチェックしたりするときに便利です。
お仕事でC++を使っている方にはお奨めの一冊です。

2005年11月09日

ログビューの設計

Heimdallrのログビューについて色々とコメントを頂いたので、 今後設計をどう進めていくのか考えてみたいと思います。

Heimdallrはフリーソフトなので、必ずしも真面目に考える必要は無いものだとは思いますが、頭の体操にもなるのでちょっと真面目に考えてみます。

トラックバックを頂いた以下の2件の記事から感想を抜粋させて頂きます。
「Soft:Heimdallr1.11alpha1 リリース」
「Heimdallr1.11alpha1」

どちらかと言えばポジティブ系感想

  • (1)ダブルクリックでWindows標準ブラウザに再表示が出来るのは助かる
  • (2)いい新機能
  • (3)狙い通りの効果が得られている
  • (4)以前読んだ記事を振り返りたいときは結構ある
  • (5)一時的に閲覧できない記事があったので密かに欲しい機能だった
  • (6)シンプル
  • (7)UNDO機能はいらない。ログビューで十分
  • (8)デザインがシンプルなのでスキンはなくても良い

どちらかと言えばネガティブ系感想

  • (9)2種類のブラウザを使い分けている環境では違うブラウザで表示される
  • (10)閲覧しようとした記事と既読チェックして記事の区別がつかない
  • (11)一見したところ何もできない
  • (12)マウスジェスチャーにログビューを開くコマンドがない

提案系感想

  • (13)URLコピー機能が欲しい
  • (14)罫線があるといい
  • (15)右クリックしたら記事の詳細を表示ができるようにして欲しい
  • (16)アイコンをまともにするかアイコンなしにした方が良い

ではまずは言い訳から始めます。(9)(12)については、
ログビューの機能を味わうためのは必ずしも必要だとは思わなかったので、とりあえずalpha1からは外したという事情があります。いずれ実装されるでしょう。

(10)(11)(13)(15)を見て思うのは、
今のインターフェースは直感的に操作できないということです。これは、改善するべきだと思います。私は開発者なので、どうやって操作すれば何が起こるか知り尽くしてしまっているので、直感的に操作できるかどうか良く分からないのです。こういう意見は大変助かります。

(14)(16)は、
他の件が決まれば追々決まっていくでしょう。

(2)(3)(4)(5)(7)からすると、
たぶん、UNDO機能よりログビューの方が良いのでしょう。これは、私も同意見です。ログビューを外してUNDO機能のみ実現する、という選択はありえないでしょう。もしかしたらUNDO機能とログビューの両方を実現する、という選択はありえるかもしれませんが。

まとめてみます。

  • ログビューは狙い通り機能している
  • UNDO機能よりログビュー
  • ログビューは直感的に操作できない
最後の項目が、課題ですね。
今のところ、この課題に対するベストの対策は、ログビューのユーザインターフェースをHeimdallrの標準ビューと合わせることだと考えています。 「ログビューを開く」を選択すると、標準ビューと同じ外見のウィンドウが開き、同じように操作できれば、直感的でしょう。 但し完全に合わせてしまうと、スクロールバーがなくなってしまいます。ログビューにスクロールバーは必須なので、これは追加する必要があります。

というわけで、今後はログビューと標準ビューのユーザインターフェースを合わせる方向で設計を進める予定です。 どうやって合わせるかは色々と選択肢があると思いますが、順当に考えると、標準ビューのようにスキンを適用可能なビューにするべきなんでしょう。 これをやるとなると、現状のスキン周りの実装を変更することは避けられないのですが、やらねばならない所なんでしょうねぇ・・・

2005年11月08日

Norton AntiVirus

343日間にわたって70760ウィルスからコンピュータを保護してくれたようです。
Norton AntiVirus

ごくろうさまでした。

・・・。

70760?
ちょっと待て、その数はなんだ。
Norton AntiVirusがインストールされていなかったら70760ウィルスに汚染されていたということか?
いくらなんでもそんなことはないだろう。実際に毎週行われるスキャンで発見されるウィルスはいつも0だしウィルス警告だって見たことがない。
恐らく、これはNorton AntiVirusが対応しているウィルスの種類だろう。

実際にこのソフトがやっていたのは、HDDのヘッドを無駄に動かし、無意味にCPUパワーを費やして、存在しないウィルスを探していただけのはずだ。

もう一度メッセージを確認してみる。

「過去343日間にわたって70760ウイルスからコンピュータを保護しました。」

ううむ、間違えではない。誇張も無いと思う。しかし、このソフトが実際にやったことより、遥かに頑張って働いてくれた印象を受けるメッセージだ。思わず更新サービスを申し込みたくなってしまう。

なんていうか、見事だ。営業とはこうやるものなのか・・・。

2005年11月07日

Heimdallr 1.11alpha1リリース

Heimdallr 1.11alpha1をリリースします。
安定版ではありません。

Heimdallr 1.11alpha1 ダウンロード

安定版はHeimdallr 1.10です。

以前の記事で紹介したログビューを追加しました。自分で使った感触や、フィードバックを参考にして、最終的にログビュー、UNDO機能、スキン周りの設計をどうするのか考えたいので、色々感想など頂ければと思います。

1.10→1.11alpha1の変更点詳細

  • ログビューを追加しました。

2005年11月06日

特製ブックカバー

梅田のダンジョン商店街をうろつきつつジュンク堂大阪本店まで行き、トランプくじを景品と交換してきました。
ジュンク堂特製ブックカバー
景品はジュンク堂特製文庫本サイズのブックカバーでした。

良く読む本にでも取り付けて運用しようかと思います。

2005年11月05日

ログビュー

Heimdallrにログビューという新しいビューを追加しようとしています。
今のところこんな感じのビューにする予定です。
ログビュー

表示されている記事は、最近閲覧した記事や既読化(削除)した記事です。
このビューを追加する主な目的は2つほどあります。

  • 既読化(削除)した記事を閲覧可能とすること。
    Heimdallrのビューは、既読ボタンやマウスジェスチャなど様々な方法で、ビューから簡単に記事を削除することができます。それはそれで便利なのですが、簡単すぎるので、誤操作も発生してしまいます。誤操作で削除してしまうと、もう取り戻せません。これはあんまりなので、救済策が必要です。
  • ブラウザで開けなかった記事を再度閲覧可能とすること。
    Heimdallrからブラウザで記事を開いて読もうとした際、サーバ側の負荷、URLミスなど様々な要因によって読むことができない場合があります。しかし、Heimdallrは、ブラウザ内蔵ではないので、ブラウザで開いた後何がおきたか検出できず、その記事を読んだものとしてビューから消してしまいます。ユーザがなんらかの対策を行った後、再度記事を読もうとしても、もうURLは失われていて読むことができません。これもあんまりなので、救済策が必要です。

実は、この目的を達成するためのアイデアとして、直前の閲覧又は削除した記事を元に戻すUNDO機能と、上記のようなログビューを追加する2つのものがありました。

前者の方がスマートなアイデアのような気がします。しかし、UNDO機能の実装経験がある人は分かると思いますが、これは実装へのインパクトがとても大きいのです。特に、Heimdallrのようにデータ構造がUNDOをまったく考慮せずに設計されていると、データ構造の改変から行う必要があるでしょう。これは、大量のコーディングを伴い、大変です。

それに比べ、ログビューは、既存のデータ構造の変更は必要ないため、楽そうです。

というわけで楽な方に流れてログビューを選択しました。

ログビューとしても、スキンを適用可能なビューと、Windows標準のGUIを使ったビューのどちらにするかという選択肢がありました。
前者は可愛いスキン(ゴミ箱を漁っている猫とか?)にするととても素敵な感じがしたのですが、残念ながら現状のスキン周りの実装を変更することは避けられず、大変そうでした。
それに対し、Windows標準のGUIを使ったログビューであれば、既存の実装を修正する必要はほとんどなく、新規に追加すれば良いので、楽です。

というわけで、実装が楽な方に流れて今の形になりました。妥協の産物です。いやー素晴らしくないですね。

実装が楽な方に流れたのは確かですが、今の形には、履歴機能が備わると言う他の選択肢には無かった副作用があります。これにちょっと期待してます。この副作用がユーザの利便性を向上させれば、今の形のログビューにも多少は救いがあるでしょう。

もしも利便性が向上しそうになければ・・・。UNDO機能を実装するべきでしょうねぇ・・・。