Google日本語入力Tech-talkに行ってきました
数日前から続いているごにょごにょエントリですが、5日目はばたんぎゅーしてしまったため、お休みします。
今日Googleさんにお邪魔してきました!
折角2週間居るのだから、勉強会充しようと色々探したのですが…
たまたま時期が悪いらしく、興味のある勉強会が見つからず、抽選だろうから当たらないだろうーと思い、日本語入力のイベントに登録したところ当たっちゃいました!という経緯です。
以下取れた分のメモです。
Google日本語入力ができるまで
20%プロジェクトとして生まれました。
→「もしかして」の大部分が既存のIMEの誤変換によるもの
プロジェクトが立ち上がるまで
- 半年はディスカッションのみ
- ある時コードが1行もないことに気づく(デザインばかりだった)
作って、レビューなどを繰り返しているうちに本プロジェクトになった。
-
- 社内でのドッグフード(自分で使う)
- 既存IMEとの互換性の要望が多かった
- 本質としては必要ないが、ユーザに取って必要な細かい事(サジェストの内容等)を重視した。その細かい要望を実現する事を良さとしようとした。
機能追加→バグが増える→悪循環
なので、最初は本当に基本的な部分のみしか作らなかった。
※テストは実装の2・3倍
リリースプロセス
- 社内
- ドッグフード(毎日更新)→多くても100人単位
- 落ちないかテスト
- 一般
- 開発版で一般ユーザに使ってもらう
→クラッシュレポート(落ちたときにミニダンプを保存・送信)
→利用統計(キータイプ数・第一候補が選ばれた回数とか)
この2つが送信される
※入力された文字は一切収集していません※
質問タイム
Q.テストの十分・不十分さの判定はどうやって?
A.最終的には人間の感覚。クラッシュレポート。すべてのバグをトラッキングしている。そのバクの優先順位を見る
Q.ユニットテストが書きにくいテストの仕方は?(UIのテストはどうやって?)
A.出来るだけユニットテストに落とし込めるところは、落としこむ
オートメーションをかけて、チェックしていきたい+手で動かしてみてやってみる。触ってみる。 みんなに集まってもらってやってみる+ドッグフード
Q.開発は何人月?2人でやったの?
A.具体的な人数は言えない。が、2人でやっているわけでもないし、20%ルールでだけではない。結構な時間+人が掛かっている。今はフルタイムでやっている
あと残りは
『Google 日本語入力の設計概要』
『Mozc ソースコードレビュー』
『ライトニングトーク』
があるのですが…
手でメモを取っていたり等という言い訳で、力尽きています…
公開するレベルではないため、ここまでにします。
守備範囲外+場違いすぎでした^^;
ただ、折角の機会だったので、聞いたお話を覚えておこうと思います。