2013年4月25日木曜日

チャットワークiPhoneアプリ開発者インタビュー - 全面リニューアルの舞台裏とその苦悩

  • このエントリーをはてなブックマークに追加
チャットワークiPhoneアプリは2013年2月に大きくアップデートしました。

今回は開発の舞台裏や今後の展望などについて、開発者にインタビューした内容をお届けしたいと思います。


モバイルアプリチームについて



── 自己紹介と担当内容についての説明をお願いします


上野: モバイルアプリチームリーダーの上野正大です。iPhoneアプリリニューアルにおいては、基本となる骨組みの設計・開発そして、新しいアプリの開発を主に担当しました。

川村: モバイルアプリチームの川村真史です。私はチャットワークiPhoneアプリの初期バージョンの開発を担当していました。 リニューアルにおいては現行バージョンの仕様を上野に共有しつつ、新しいアプリ開発を進めました。

藤原: インフラエンジニアの藤原吉規です。主にサーバーインフラを担当し、アプリとの連携部分の開発を担当しました。 プロジェクト的にも2人を支える側の立場にいて、スケジュール管理や不具合の調査などもやっていました。



安定性を目指して、思い切った決断



── 今回はアプリを一から作り直したそうですね?


上野: アプリの安定性を改善するというのがこのプロジェクトのミッションでした。 そのためにはちょこちょこ小細工で改善するのではなく、抜本的な解決が必要だったんですね。

コードの書き方が古くモバイルアプリに適していない部分もあったので、すべて書きかえようと決めました。 そうすることにより、安定性の向上が見込めると思ったからです。

数万行レベルのコードを全部書き直すので、かなり大変な作業になるというのは目に見えていましたが、 ここは時間をかけてでも良いものを作るべきだと。 ユーザー数が急速に伸びている中で、安定性の改善を後回しはできないですからね。



コードネーム「Fujiyama」、世界を目指して



── 今回のアップデートにはコードネームがあるそうですね?

川村: コードネームがなかった頃は、「現行バージョン」「新バージョン」などという呼び方をしていたのですが、新バージョンもリリースしてしまえば現行バージョンになってしまうわけで、ややこしいのでコードネームをつけようという話になりました。

AppleのOSがPuma、Tiger、Lionなどネコ科の動物なので同じようなことができないかなと思い、 犬の名前なども考えたのですが、さすがに安易かなと(笑)

色々考えた結果、山の名前シリーズでいくことになりました。
最初の山の名前を決める時に、代表の山本が以前住んでいた神戸にある六甲山から(Rokko)にしようかとも考えましたが、どうせなら世界を目指してまずは日本一だ!ということで富士山「Fujiyama」に決まりました。世界一の山エベレストを目指して頑張っていきたいと思います。



パッと見は分からない改善点



── リニューアルの一番のポイントは何でしょう?


上野: リニューアルしたアプリは見た目はあまり変わっていないんですよね、メッセージ送信画面を使いやすいように改良したのと、細かな点が数点です。

今回は安定性を追求して開発しましたので、そこを感じていただければ嬉しいです。 具体的には長時間使っていてもクラッシュしない、通信状況が不安定な場所でも安定して使うことができる、オンライン・オフラインの判定がスムーズ等です。

地下鉄から出た時などチャットワークアプリを見てみてください。すっーとオフラインメッセージが消えてオンライン状態になります。これはかなり苦労した点だったので見た時はちょっと感動しましたね。

あとは大量にコンタクトやチャットがある方も快適に使えるようになったと思います。弊社の代表は数千人とつながっているのでいいテスターになりました(笑)


見た目の改善の一例、みなさんは気づきましたか?



社員総テスター作戦


── 一番苦労した点は何ですか?


藤原: 一から作り直したので、もちろんテストも全部やり直しです。今回テストパターンも見直しましたが、その数は400個を超えました。

そしてこのテストをiPhone4S,iPhone5,iPad,iPad miniで評価しなければなりません。さらには3G回線、Wifi接続時、地下鉄など電波が不安定な状況、様々なネットワーク環境でのテストも必要でした。これを開発メンバーだけで全てやるような余裕はなかったんですよね。

そこで、30名弱の社員全員にテスターになってもらうことになりました。
その時に役立ったのがTest Flightです。簡単に全員に評価版のアプリを配布することができ、エラーログの収集も可能です。いつ誰がどの端末でどんなエラーを出したというのが分かるので、不具合の原因究明にはかなり役立ちましたね。

そして集まったフィードバックを元に修正をしていったのですが、不具合管理に役立ったのがPivotal Trackerです。
残りの不具合量や対応の進捗が分かりやすいので毎朝確認してから作業を開始しました。 一時期は修正しても一向に減らない不具合に心が折れそうにもなりましたが、なんとか納期までに修正を間に合わせることができました。

最後まで苦労したのは上野も言っている通信関係の改善です。 毎朝通勤の電車の中でログを取りながらiPhoneをさわって調査をしていました。こういったフィールドテストはモバイルアプリ開発では本当に大切ですね。



口頭で話したことはすぐにタスク化、小さなミスを防ぐ



── プロジェクトを進めるにあたって、チャットワークをどう活用しましたか?


上野: これはFujiyamaプロジェクトに限ったことではないですが、毎朝の進捗確認ミーティングや口頭で話し合って決まったことは、すぐにチャットワーク上でタスク化し、漏れがないようにしました。大きな問題というのは小さな勘違いが原因で起こったりするので、ささいな事かもしれませんがすぐにタスクにして見える化しておくことは大事だと思います。

あとはアプリ検証用チャットを作り、社員全員で不具合の状況を報告したりアイデアを出しあったりしました。
不具合発見や原因調査、機能改善に役立ちましたね。


今後の展望について



── 今後のモバイルアプリについての抱負を聞かせてください


上野: 日本だけでなく海外からもたくさんの要望を頂いているので、それに対してスピード感を出して対応していきたいですね。
また、他のアプリにはない機能をつけて差別化していきたいと思っています。

川村: Web版チャットワークにあってモバイルアプリ版にない機能があるので、それをどんどん実装していきたいですね。あとはUIもさらに改善していきたいです。

藤原: Androidアプリの全面リニューアルも進めていきたいと思っています。これも一から作り直すことにより大幅な改善ができると考えています。 あとはインフラ担当としては、チャットワークユーザーが100万を超えても大丈夫なように環境を整えていきたいと思います。


── やることはまだまだ盛りだくさんですね


上野: そうなんですよ!それらを対応していくには、正直開発者が足りていない状況なんです。 チャットワークを自分の手でもっと良くしていきたいという方がいれば、ぜひ面接に来ていただきたいですね。

ChatWorkエンジニア採用情報


── どんな人と一緒に働きたいですか?


上野: 「とんがっている人」ですかね。「チャットワークを自分の手で世界一のアプリにする!」ぐらいのテンションが欲しいです。
あとは、どんどんアイデアをぶつけてくれる人。 自分で言うのも何ですが、うちの会社はアイデアを出せば聞いてもらえる良い環境だと思います。 それも開発者としてはモチベーションにつながるのではないでしょうか。




いかがでしたでしょうか、このようなメンバーでチャットワークモバイルアプリを開発しております。
今後もバージョンアップを重ねてより良いアプリを開発していきたいと思いますので、どうぞよろしくお願いします
  • このエントリーをはてなブックマークに追加

Chatworkをご存知ですか?

Chatworkは、業務の効率化と会社の成長を目的とした、メール・電話・会議に代わるコミュニケーションツールです。
Chatworkを試してみる

導入効果・活用事例などがわかるChatwork製品資料配布中!

Chatwork製品資料配布中!