Creative Selection
(2019/6/8)
2006-2008ごろ がAppleで働いてたとき同僚だった(というか隣で仕事してた)Ken KociendaがAppleでの開発話を出版してたのを知って驚いた。Appleに勤務していた普通のエンジニアがAppleでの仕事ぶりを書いた本というのははじめてではないだろうか。仕事遍歴やJobsへのデモの様子などは大変興味深かった。
Kenは2001年にAppleに入社し、Safariの開発をした後でiPhoneのグループに参加したらしい。大学ではコンピュータが専門ではなかったようだが、いろんな仕事を経てプログラマになってAppleで働くことになったらしい。 がAppleに入社したときはiPhoneの英語キーボードを開発していた。
本のタイトルの「Creative Selection」というのは、「いろいろ試行錯誤/ドッグフーディングしながら良いものを作っていく」という意味で、Appleではそれがうまくいっていたということを書いている。きょうびこれは割と当たり前の話だとは思うが、センスのある奴が / よく考えて / 沢山実験しながら作るのが良いことは間違いないであろう。
Kenはユーザインタフェースの専門家だったわけではないしテキスト入力手法についても何も知らなかったようだが、たまたまそういう仕事を割り振られた結果、いろいろ苦労して工夫した結果iPhoneのQWERTYキーボードを作ったということらしい。小さな画面上で指でソフトキーボードを操作するのは難しいため、T9的な曖昧入力キーボードを提案したりもしていたようである。何ヵ月にもわたるドッグフーディングを行なった結果、「普通のQWERTYキーボードと自動単語修正機能」が一番良いという結論になったらしい。 が入社したとき(2006/10)はT9式はもう消えていた。
Kenが提案したT9的なキーボードというのは以下のようなものである。
y
u
i
を正確に入力しなくても yui
という大きなキーを押せば「 y
か u
か i
」が押されたとシステムが理解して、自然言語辞書を利用して「多分 light
なのだろう」と判断するという方法である。 Kenはこの方法を自分で発明したように書いているのだが、同じコンセプトにもとづくT9はずっと前から商品化されてたわけだから全然新発明とは言えない。なのにKenも上司も全然それに気付かなかったというのは不思議である。
この方式を社内で長い間ドッグフーディングして実験した結果、以下のような問題がみつかったらしい。
"Teemu" のような、「一般的でない人名」を入力できない。
"Arrr!"のような、「一般的でない単語」を入力できない。
「どこまで入力したか」わからなくなる
結果的にT9式は断念し、自動エラー訂正方式を採用することになったらしい。「lkght」とタイプしても「light」が入力されるというような方式である。
ドッグフーディングによって問題点を解明したことは偉いと思ったのだが疑問もある。
そもそもT9は広く使われていたのに知らなかったのか?
上の 1. 2. は自明だと思うが気付かなかったのか?
しかし自動エラー訂正(スペルの自動変換)はウザくないのだろうか? これを無効化する方法がよく質問されている。私はその手のシステムは全然使っていない。勝手に修正されてウザいと思ったことはある。下のページではこれを無効にする方法が解説されている。
好奇心が大きいエンジニアがAppleという環境でいろいろ頑張ったというエッセイとしては面白いが、Appleとはこういうものだ / Jobsはこういう奴だ / 開発は一般にこういうものだ / といったことを知るには不十分かなと思ってしまった。入力単語訂正用のいろんなアルゴリズムを考えたと言って本の中で解説しているのだが、テキスト処理アルゴリズムに詳しい計算機科学者から見れば素人ぽく見えるであろう。 はKenが何故ずっと英語キーボードを開発しているのか不思議だったのだが、単語訂正とかそのインタフェースとかの工夫に時間がかかってたのだということが今頃わかった。かなり不毛である。Kenは天才じゃないエンジニアだったわけだが、Steve JobsやScott Forstallのような天才的指導者がいれば普通のエンジニアでも大きな仕事ができるということだろうか。
この本にはJonathan Iveは出てこない。iPhoneのソフトの動きについては口を出さない立場だったのだろうか。最近はどうなってるのだろう? また、この本に出てくる人物のほとんどが2019現在Appleを離れている。現在は誰がiPhoneを作っているのだろう?
"Kocienda Masui" でググるとテキスト入力の特許が出てくるようだ。何書いたか覚えてないけど...
返事きた 2019/6/9
#ブログ 2019/6/8