Consumer Service Engineer MeetUp Vol.1 〜iOS編〜に参加した

Consumer Service Engineer MeetUp Vol.1 〜iOS編〜 に参加してみました。

経緯

最近、仕事でスマートフォン向けにネイティブアプリを作る事を検討しています。その一方で、仕事ではずっと Web アプリの開発をしてきたので、アプリ開発に関しては分からない事だらけだったりします。例えば、

…等の疑問がありました。

そして、何よりも、一般的なネイティブアプリ開発者が「何に労力をかけ」、「何に苦労していて」、「そういった環境の中でどういうツールやノウハウがあるのか」等の全体的な感覚が分からないので、一人で調査や検討をしても的外れな印象が拭えませんでした。

そんな中で、Wantedly の @kawasy さんのツイートから、こういうのを見つけました。

最近は勉強会に行きたくても、存在を知った頃には当日で始まっていたとか、どこかのライブと見間違うかのような人気ぶりで発表後数十分くらいで定員になったり とかでチャンスを逃し続けていたのですが、どうやら空いているようでした。チャンス!

という事で金曜日に定時ダッシュをキメて参加してみました。

内容

結局少し遅れて参加しました。 まずはヴァズ株式会社の清田さんによる、開発プロセスの話 (スライド等は見つけられていません…)。しょっぱなから「ユーザーのクラッシュを監視する」とか「A/Bテスト」とか、そういう話が出て圧倒されました。話には聞いたり、クラッシュレポートを送ったりはしますが、開発側としてそういった事をやった経験はなく、別の世界の話を聞いているような感覚。ただ、最後の方で「お客さんからの問い合わせはエンジニアが当番制で対応している」という話を聞いた時は親近感が湧きましたし、偉いなあ、と思いました。

続いて、ウォンテッドリーの川崎さんによる、 Wantedly のフローの話 (スライド等)。モックアップの検証用に POP を使ってプロトタイプを作り、早い段階で実機で検証して使い勝手のフィードバックを得るのが新鮮でした。また、 POP 以外にも、 CI やその他開発用のツールやサービスを色々活用していたのが印象的でした。コーディングスタンダードや使用ライブラリを決めたりと、きっちり決めていたのも、なるほどなあ、と。

エニグモ大川さんによる UICollectionView を使った UI 改善の話 (スライド等)。Objective-C のコードをとても久しぶりに見ました。Objective-C は昔触っていたので、ぱっと見分かる気分にはなるのですが、今実際に書くとダメダメなんだろうなー。ただ、アニメーションについての議論や、APIの裏でやっている事を調べながら作り込んでいく、みたいな話題が、昔の Mac OS X のデスクトップアプリと共通しているような気はしました。むしろ、そういった、Web 開発からするとニッチな方向に力を入れたアプリが普及しているという事に改めて驚かされました。

はてな加藤さんによる、 Web APIiOS テスト技法の話 (スライド等)。API とのやり取りのテストをどうするか、という話で、それはそれで参考になったのですが、Objective-C のブロックや辞書のリテラルが出てきて、そちらに目が奪われてしまいました。今後開発するとしたらWebとの連携が中心になるので、ここら辺で色々苦労するんだろうなあ。

nanapi 小島さんによる、グロースハックの話 (スライド等)。かなりすごそうでしたが、用語が難しかったので正直あまり理解できませんでした…。ただ、最後に「色々な試行錯誤をしていくけど失敗は多く、打率は2割程度。しかしそれは結構良い方だと思っている」というような事を言っていたのが印象的でした。実際に開発を進めていくと、ここら辺の感覚が分かるような気がします。

マインドパレット 小林による、これまたグロースハックの話 (スライド等は見つけられていません…)。「iOS アプリは申請から通過まで一週間程度かかり、その上リジェクトされる恐れがある」「デバッグ機能を作り込んで誰もが検証しやすくする」といった、素人でも比較的想像しやすい話でした。また、「細かなアップデートを目的にしてはいけない、エンジニアは手を止める事を恐れる傾向があるが、勇気を出してその手を止めるのも大事」という話は考えさせられました。

感想

全体的な感想をつらつらと書いておきます(書き疲れたのでだんだん適当になっている…)。

UX への投資が大きい(気がする)

「コンンシューマー向けアプリを開発しているから」というのも大きいのでしょうが、どの会社も UX に対する投資も大きいし、質も高いと思いました。一昔前の Web アプリとは UX に対する投資具合が違うように思いました。

グロースハックや、プロトタイプ、ユーザーの使い方を取得すると言った話題は、ユーザーの実際の行動に注目したアプローチだと思います。また、UICollectionView の話もアニメーションに結構な時間を割いていました。ユーザー体験以外を見ていては手を出す発想にならないと思います。

そもそもネイティブアプリが増えた事自体が、UX の重視抜きで考え辛いとは思うのですが、実際にこういう勉強会に参加してみて、改めて思った次第です。

一方で、じゃあみんなネイティブアプリを開発しよう、 UX を重視しよう、と言ってしまうのも微妙な感じがします。

ある程度市場がある事が分かった上で、ライバルとの競争が熾烈なケースであれば、 UX の差は大きな差になるのではないかと思います。一方で、機能とそれに対する開発コストの面だけ見れば、ネイティブアプリ開発のコストパフォーマンスは(以前より遥かに充実しているとは言え) Web と比べて非常に低そうだなあ、というのが正直な感想です。その見極めを間違えてネイティブアプリの開発を始めると、大きな失敗になるんじゃないかと思いました。

Objective-CCocoa の周辺ツールとコミュニティが非常に充実している

Objective-CiPhone が出る前の2000年代の中頃を中心に趣味で使っていたのですが、その頃と比べると周辺ツールとコミュニティが非常に充実しているなあ、という印象も強かったです。CocoaPods みたいなライブラリ管理ツールとか想像もしていませんでした…。が、昔の事を言っても仕方がないので置いておきます。

iOS Developer Program のサイトが .woa だったり、名前に漢字が使えない(登録は出来るのに後でメールで文句いわれる)とかは昔と変わらない気がするのに…何でもないです。

みんなエンジニア募集している(というか発表者はこれが目的な予感)

懇親会で似たようなことを言われて気づいたのですが、「技術大好きエンジニアー」って感じの人が少なかったかもしれないですね。全体的な運用の話が多く、「魅力的な社内環境を紹介してエンジニア募集して終わる」という流れが多かったかも。

まあ、個人的には素人のつもりで参加したので、難しいことはあまり言われずに、これで良かったとは思っています。

余談

非常に個人的な話ですが、今回の勉強会で、久しぶりに会った人が 3 人いました。この勉強会は元々学生の頃の先輩である @kawasy さん経由で知ったのですが、昔 WWDC に行った時に、(当時)同じ学生という事で一緒に行動していた @ninjinkun さんにたまたま会いました。さらに、勉強会の帰りに六本木駅で別の人に偶然会いました。

東京は狭いですね。そして、久しぶりに会うとそれぞれ人の変化に特徴があって、面白い。