Windowsでは、フォーカスを突然奪うアプリケーションは行儀が悪いと思う。
突然、最前面にViewを表示するのなら、MSNメッセンジャーのようにすべきだ。
(フォーカスとは、一番手前のアクティブなウインドウの事です)
何故フォーカスを突然奪うと行儀が悪いのかというと
Windowsではそれをやると、IMEのフォーカスまで移動してしまうからだ。
Macの場合は「ことえり」で処理しているのか、フォーカスが変わっても入力先は変化しない。
経験ある方も多いと思うが、文字入力中にウインドウフォーカスが変わると
入力先が変わってしまうのだ。最悪、入力中の文章が失われる。
文字入力には2つの段階がある。
1, IME(多言語入力変換ソフト)が入力をバッファしている状態
2, IMEが変換し終わった文字列をアプリケーションが受け取っている状態
この話では、1の状態が危険なのだ。
ただ、Windowsが悪いのかと言うとそういうわけではない。
フォーカスを奪うアプリケーションの仕様が悪いのだ。
IMEを使用する言語圏で開発されるアプリでは、このような問題が起ることを予測できるため、
機能をオフにできたり、最初から機能を付けなかったりする。
しかしながら、IMEを使用しない言語圏ではこのような問題が起こる事を知らない。
ソフトウェアのローカライズとは、ただ言語を変更すればよいと言うだけではない良い例である。
Unicodeに対応すれば国際化ができたと思い込んだ開発者が起こしやすい間違い。
プロのソフトウェアの開発者は、作る人よりも使う人の気持ちを優先しないといけない。
アマチュアの開発者は逆であるべきかもしれないが。
…続きを読む