フォーカスを変えたら入力文字列が…

Windowsでは、フォーカスを突然奪うアプリケーションは行儀が悪いと思う。
突然、最前面にViewを表示するのなら、MSNメッセンジャーのようにすべきだ。
(フォーカスとは、一番手前のアクティブなウインドウの事です)

何故フォーカスを突然奪うと行儀が悪いのかというと
Windowsではそれをやると、IMEのフォーカスまで移動してしまうからだ。
Macの場合は「ことえり」で処理しているのか、フォーカスが変わっても入力先は変化しない。
経験ある方も多いと思うが、文字入力中にウインドウフォーカスが変わると
入力先が変わってしまうのだ。最悪、入力中の文章が失われる。

文字入力には2つの段階がある。
 1, IME(多言語入力変換ソフト)が入力をバッファしている状態
 2, IMEが変換し終わった文字列をアプリケーションが受け取っている状態
この話では、1の状態が危険なのだ。

ただ、Windowsが悪いのかと言うとそういうわけではない。
フォーカスを奪うアプリケーションの仕様が悪いのだ。
IMEを使用する言語圏で開発されるアプリでは、このような問題が起ることを予測できるため、
機能をオフにできたり、最初から機能を付けなかったりする。
しかしながら、IMEを使用しない言語圏ではこのような問題が起こる事を知らない。

ソフトウェアのローカライズとは、ただ言語を変更すればよいと言うだけではない良い例である。
Unicodeに対応すれば国際化ができたと思い込んだ開発者が起こしやすい間違い。
プロのソフトウェアの開発者は、作る人よりも使う人の気持ちを優先しないといけない。
アマチュアの開発者は逆であるべきかもしれないが。

「職場の隣の人が怖い」
という話を、昨日一人で出張したときに、出張先でプロジェクトメンバに言ってみました。
同志がいた…

隣の人は完璧主義で融通が利かないので、
細かいことでも自分の中の正解以外は許しません。(まぁいいかという考え方と笑いが無い)
だから怒られる理由が納得できません。反省すべき所がわかりません。
自分が全て把握していないと嫌みたいですが、他人の面倒を見るのも嫌みたいです。
あと、自分に厳しい分、他人にも相当厳しいです。
真面目なので、仕事中はコード製造機と化しています。仕事に関係ない話はできません。

でも、そんな性格なので、アウトプットのクオリティは高いです。

同志はこう言っていました。
「男性は、一緒に仕事をする人がどんなに嫌でも、仕事のために何とかできる人が多いらしい」
「女性はその逆で、人としてすごく嫌だと思ったら一緒に仕事できなくなる人が多いらしい」
そうなんじゃろか?
客先の同期の一人(女性)は「無理」って言ってましたが…