Consumer Service Engineer MeetUp Vol.1 ~iOS編~の参加メモ
Consumer Service Engineer MeetUp Vol.1 ~iOS編~ - dots.
コンシューマ向けのWEBサービス(アプリ)の企画・開発・運営をしている会社によるエンジニア向けの講演、パネルディスカッション、懇親会を含めたMeetUpです!
に参加してきたのでメモを晒しておきます。
※その場で一気に書いてるので、誤字脱字はあるかも。
「禁断の開発話」 ヴァズ株式会社 清田氏
- SnapDishについて
- 料理好きのお料理SNS
- 開発から含めると3年で、ユーザー数は50万
- 開発環境について
- テストとデバッグ
- InstrumentsのLeaksとAutomationを利用
- CrittercismとCrashlytics
- A/B Testing(androidでやってる)
- 開発スタイル
- リリースサイクル
- KPIベース 1-2週間
- Scopeベース 2-4週間
- サポート
- zendeskを使ってエンジニア当番制
- 実際の開発
- 構成署(設計画面)を元に開発
- 紙を使って話し合い
- パッケージ配信
- Testfightを利用
- アクセス解析
- GA、スクリーンビューやイベントを多様
- サーバーサイドのロギングも多様
「Wantedlyを支える技術と開発フロー」ウォンテッドリー株式会社 川崎氏
- ウォンテッドリーのCTOで、社員第1号
- 開発フロー紹介
- プロトタイピング
- 開発
- iOS側
- フルネイティブでWebviewなし
- 定番のCocoaPodsを活用
- StoryboardとContainerを多用
- APIサーバー側
- Rails4でJSONAPIを用意
- Webと同じコードベース
- Webと同様にHerokuで運用
- インフラ
- AWSとかCloudFrontやS3、PostgreSQL使ってる(図なので、文字に書き起こすのはしんどい)
- iOS側
- CocoaPodsで管理するライブラリも事前に決めている
- http://cocoapods.wantedly.com/
- githubの盛り上がりとか分かるサイト
- コード管理
- テスト
UICollectionViewを使った商品一覧UIの改善(BUYMAアプリ) 株式会社エニグモ 大川氏
- アプリコンセプト
- 趣味のあった商品の出会い
- 好きな商品を気軽にチェックできる
- 旬な商品を把握できる
- 商品をリアルに感じさせるUI(Webと同じだと仕方ないので)
- リリースして、フィードバック
- 改善
- テーブルレイアウトとグリッドレイアウトの2パターンを用意
- VITableViewとUIConllectionViewをのハイブリッド
- content offsetを同期させて切り替えるようにする
- 改善した結果
- 問題はないが、アイテムがどこに行ったかという、キュー(手がかり)がない
- 2つのViewを作りこむ必要があるのでちょっと…
- その結果
- UICollectionViewのCollectionViewLayoutを使って解決した(よくわからんかったがデモがすげぇわかりやすかった)
- テーブルレイアウトとグリッドレイアウトをCollectionVeiwで切り替えるっぽい
- その他
- Reveal Appというアプリがとてもよい
- レイアウト周りで使える
- Reveal Appというアプリがとてもよい
- まとめ
「Web APIを利用するiOSアプリのテスト技法」 株式会社はてな 加藤氏
- id:cockscomb
- 京都からきました。
- はてなブログ作ってて、今日の感想とかはてなブログに書けばいいよ
- はてなで教科書作ってて、オススメ
- Hatena-Textbook/ios-app-development-with-web-api.md at master · hatena/Hatena-Textbook
- webAPI
- 何をテストするか
- 期待通りのHTTPRequestが発行される
- URL(ホストやパス、クエリ)、Http method,header,body
- 様々なHttpResponseに対するふるまい
- OHHTTpStubs
- HTTPの通信をstubする
- NSURLProtocolを利用している
- NLTHTTPStubServer
- アプリの内部でサーバーを動かす
- CocoaHTTPServerを利用
- http://localhost:12345 がデフォルト
- 実際のサーバーのように振る舞う
- HTTP bodyの様子を見ることができる
- エラーは発生させられない(ネットワークエラーとか無理)
- HTTP requestは一部使えない
- テストのメリット
- 自由なHTTPresponceが作れる
- 実際にサーバーにrequestしなくいてよい
- サーバーサイドの実装を待つ必要がない
- サーバーサイドの変更を事前に試せる
- いきなり壊れるのを防げる
「アンサーのグロースハックと開発手法」株式会社nanapi 小島氏
- Twitter:kozyty
- アンサーについて
- 今、8人で開発
- 限りなくフラットなチーム
- アンサーの場合
- ユーザーテスト
- 開発初期について
- ユーザーヒアリング
- 社内アルバイトスタッフさんに強力してもらう
- PMFを40%以上獲得するために
- Nの要素はあるか(スケーラブルポイント)
- ブレないためにもステータスメントの共有必須
- スケーラブルポイントがあるかどうかを念頭に
- ROIドリブンで要件プライオリティを決める
- PDCAサイクルを絶対に回す
- マネジメント対応版のアプリ
- 運用に便利な機能を備えたアプリを提供
- 複アカ機能
- 接続環境の選択
- KPI見れるとか
- 開発環境
- DebugとReleaseのみ
- TestFlightを利用
- JenkinsなどのCIによる配布はやめた
- 監視・解析
- kibana3でログ監視
- elasticsearch
- NewRelic
- 非エンジニアも見る見る
- グロースハックやってる?
- ミッション
- 細かな改善の積み重ねでユーザー体験を最大化していく
- ダイアログ表示、開発フロー、
- 分析
- 実行する前でもある程度わかる
- 分析結果によっては仮説を変更する必要がある
- 1%の改善に気づくための監視・解析環境は必須条件
- 削除人ボランティア募集
- 楽しく安全に使ってもらうために
- ガイドラインに沿わない投稿を監視
- 削除人というロイヤリティを得るだけ
- 募集したところ、かなりの数の応募があった
- 失敗体験は?
- 打率的には2割ぐらい
- まとめ
- 小さなことをコツコツと
- プレないステータスメントの共有
- ROI観点でのプライオリティの設定
- 最小単位での検証を行う
- 神速PDCA
「グロースハックにおけるiOSアプリのリリースサイクル最適化について」株式会社マインドパレット 小林氏
- Twitter:yuji_nano
- Snapeeeという女性向け写真サービス
- 改善サイクルの高速化
- iOSアプリにたちはだかる問題
- 申請から通過まで時間がかかる
- リジェクトされることがある
- iOSとAndroidで異なる仮設検証を行う
- 同じことをやるのは非効率
- それぞれ効果があったものだけを移植する
- WebViewを使う
- メリット
- アプリの申請なしでも仮設検証が回せる
- デメリット
- 初期実装が結構たいへん
- 専任の開発が必要なことが多い
- メリット
- デバッグ用の機能を作りこんで、テストを効率化する
- 毎週申請することに意味がある?
- 細かなアップデートを目的にしてはいけない
- アップデートのこういそのものによる一時的なアクティブ増は長続きしない
- 勇気を出して、手を動かすのをやめましょう
- 最低限作りこむと中途半端に作りこむは違う
- 細かなアップデートを目的にしてはいけない
- Garbage in garbage out
- 意識しよう
- グロースハックは何を目的にしているのか
- 正解に早くたどり着くため
- まとめ
- リリースサイクルの正解はない