ソフトを開発しようと思った動機、背景
仕事中にメールの到着を確認したいと思い、Windows用のメールチェッカを探していたのですが、自分のセンスに合っているなと思えるものがありませんでした(もちろんいいものはたくさんありますが)。逆に「こういうメールチェッカがあれば使いたいのに」というアイデアがありまして、それを実現させるために開発を決めました。あと、組み込み系ソフト開発の仕事をしているのですが、入社まもない当時は組み込みに関する知識の習得に精一杯で、ソフトの設計・実装から離れていたことから、何かを作ってみたかったという背景もあります。
開発中に苦労した点
苦労した点はたくさんあるのですが、その中でも特に苦労したところが2点あります。まず、ひとつは「電光掲示板風のスムーズな文字のスクロールを実現させるにはどのようにすればいいか」です。「LedBiff」の試作段階ではWindowsの標準描画機能(GDI)を用いて画面を描画させていたのですが、描画速度が追いつかず、きれいなスクロールができませんでした。そこでDirectX 3の採用に踏み切ったのですが、DirectX 3の解説書は少ない上、DirectXに起因する不具合にも遭遇して、開発に結構手間取ってしまいました。
また、スムーズなスクロールを実現させるために垂直同期を行ったのですが、Windowsの垂直同期機能が曲者で、CPU使用率を格段に上昇させてしまうという副作用があります。ほかの処理を工夫してもCPU使用率が高くなってしまうため、垂直同期をやめようかとも考えたのですが、「スムーズな文字のスクロール」を実現させるために敢えてデフォルトの設定では垂直同期を行うようにして、ユーザによって垂直同期を行わないようにも選択できるようにしたという経緯があります。
そしてもうひとつは「マルチアカウント対応」です。「LedBiff」は当初、シングルアカウントのメールチェッカとして開発したのですが、マルチアカウント化してほしいという要望が非常に多くのユーザから寄せられ、マルチアカウント化に踏み切りました。しかし、このマルチアカウント化のためには、従来の表示方法の雰囲気を変えずにどのアカウントから来たメールであるかがわかるような表示方法の設計、そして格段に複雑になる内部構造への対処に取り組む必要があり、解決に苦労しました。
ユーザにお勧めする使い方
すべてのみなさまにお勧めするわけではありませんが……、「LedBiff」を使うとパソコンの動作が重くなったと感じる人もいると思います。これは先ほど書いた垂直同期が原因です。設定ダイアログの「高度な設定」にある「垂直同期待ち」の項目を「行わない」に変更していただくと解決します。若干文字のスクロールがちらつきますが、CPU使用率はかなり低減しますので、重く感じる人は一度お試しください。
今後のバージョンアップ予定
現在、私のホームページで「LedBiff」のベータ版を公開しています。これは次期バージョンとして開発中のもので、APOP/IMAPへの対応や、ユーザにとって便利な機能の追加を行っています。
そして「LedBiff」の設定ダイアログにある「表示」の「メール未着時の表示」を見ると、項目ひとつ分の空きがあります。そこにはいったい何が入るのか? それが次々期バージョンの追加機能です。
ほかにもいろいろなアイデアがありまして、順次追加する予定です。
(Reliant Robbin)