Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
クックパッドマートのアプリ開発について
Search
yosuke
October 09, 2018
2
3.2k
クックパッドマートのアプリ開発について
yosuke
October 09, 2018
Tweet
Share
More Decks by yosuke
See All by yosuke
クックパッドマートにジョインして2年が経ちました
nakayama
0
1.5k
Featured
See All Featured
Writing Fast Ruby
sferik
626
61k
What's in a price? How to price your products and services
michaelherold
243
12k
Automating Front-end Workflow
addyosmani
1366
200k
Unsuck your backbone
ammeep
668
57k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
Gamification - CAS2011
davidbonilla
80
5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
800
Speed Design
sergeychernyshev
24
580
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
1.9k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
680
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Transcript
クックパッドマートのアプリ開発について 買物事業部 / 中山陽介
本日はクックパッドマート アプリリリースまでの道のりを お話させていただきます
その前に自己紹介させてください
• iOS・Androidのアプリエンジニアです • 個人アプリ開発者 ( 累計110万DL )でもある • 価格比較アプリ、賞味期限管理アプリ リミッターで検索 •
subscription課金アプリを作るのが好き • FireBase / Kotlin / Swift が好き • 2児の父 ( 4歳男の子 1歳女の子 ) 自己紹介 中山陽介
現在クックパッドマートの iOSアプリを作っています
クックパッドマートのiOSアプリ開発の進め方
Sprintで価値検証 (4月) デザインスプリントとは、デザイン上の問 題を解決するために、5日間という短い期 間で高速にプロトタイピングと検証を行う 方法論 (フレームワーク)のこと。
WebでECサイトを作り社内テストを運用 (2月ー6月)
社内でiOSアプリリリース 社内で運用開始( 7月 〜 9月 )
クックパッドマートのiOSアプリは 9月20日にリリースしました
なぜアプリでなければならないのか?
パーソナライゼーション
ぱ、ぱーそならいぜーしょん?
ユーザーの好み、位置情報、利用状況など に基づいてサービスを提供したい
None
お腹が空いているタイミングに 通知したい
注文はサクサクパフォーマンスが重要
毎日使ってもらいたいので ヌルヌル買い物してほしい
ということでアプリの開発スタート
序盤はこういう感じで作った 1. デザイナーが機能込みでSketch/ Marvel で画面を作る 機能部分は都度相談 2. 一旦実現できるかわからないが画面を実際に実装してみる 議論する 3. 壊してみる・なかったことにする 生かす部分と理想を追求
4. バイナリ配信 or prototypeツールで 使いやすさを試す / ユーザーテストを行う 5. 再デザイン 6. 以下ループ
大切なことは
こまめに仲間へ実装を自慢しに行く頻度
お互いを褒め称える
そしてデザインと仕様は何度も変更
楽しい!喜んで!
クックパッドマートアプリの デザインの歴史
phase1 シンプルでいいですね! Top画面
phase2 お! Top画面
phase3 おおっ! Top画面
phase4 おおおっ! Top画面
phase5 おおおおっ! Top画面
どんどん良くなってる
デザイン変更は柔軟に
スケジュールの問題でデザインの表現が狭まるのは良くない
実装して触ることが大切 • 細かいcommitで実際に作りながらチームへアプリを配信しデザイナーからフィードバックを受けコミュニ ケーションをとり良いものが作られる • 実装してから気がつくことがある • 実装してみて課題が生まれ、セレンディピティを起こしやすくする • デザインFix後に実装すると制約が生まれる。レビューをこまめに
一度すべての画面を遷移付きで実装してみては?
None
全ての画面をStoryboard上に一旦作る
実装を本格的に始めたら
None
1 Storyboard 1 ViewControllerへ
そのサイクルを出来るだけ早くしたい
開発速度を上げる為具体的にやったこと
開発方針 (序盤) • 何度でも壊せるような作りに • できるだけデザインはパーツ化。差し替えが容易な状態でパーツを俯瞰できるように • debugはbuildを極力せずLLDBを主に使う • ファイル数は少なく
• ダミーのJSONを用意して一旦すべてのデザインを組み込んで見る • ディレクトリごと削除してもbuildできるくらいの疎結合 • 極力コードは書かない方針(SwiftGen, Snippetをフル活用)
強くてニューゲーム
None
常にプロジェクト開始前から道具を揃えておく • XcodeのProjectTemplateや自前のTemplateなど、ある程度作られている状態からスタート • CocoaPodsやCarthageなど予め自分用のAssetとして管理する どんなプロジェクトでも最低限入れる事が予測されているものを把握しておく • 過去の開発でコードレビューが通ったものは貪欲にXcodeのスニペットへ追加する
None
プロジェクトが終わるたびに強くなる
None
画面をパーツ化
xibを俯瞰できるように(TableViewCell除く)※モック時点推奨
パーツの比較と変更・管理が楽になった
自分がアプリを開発する上で最も 大切にしていること
自分が開発しているアプリを普段使いする
皆さん普段自分が開発している アプリ使っていますか?
本当に毎日使ってますか?
なるほど!さすが皆さん 使っていらっしゃる
普段使いしないと便利なのか 不便なのか欲しい機能すらわからない
本当に自分がよく使うアプリを集めました
None
None
None
None
None
もちろん ボクは クックパッドマートをよく使ってます
普段の生活において 食料の調達は高い頻度で行われる
お腹は誰でも空く
土日は買い物だけで多くの時間を費やす
None
クックパッドマートは 買い物の時間を節約できる
しかも美味しい食材が手に入る!
None
ネットスーパーで良いのでは?
ネットスーパーは送料が高く送料無料 にするための最後1000円くらいはいら ないものを買う
送料無料の金額までじっくり商品選定
注文するだけで30分くらいかかる
常に受け取る人が必要 働いている人は再配達必須
今後配送ドライバーは更に不足
None
クックパッドマートは 商品1つから送料無料
必要なものを都度注文すればいい
商品は自分が好きなタイミングで 受け取りに行ける
だから毎日つかえる
よく使われているアプリは 生活に欠かせないものばかり 毎日使う
アプリはリテンション(維持率)がすべて
Martは生活に欠かせません
今後Martは多くの人に使われるでしょう
まだまだ受け取れる店舗は少なく課題は多い
700万人
60歳以上の買い物弱者数 2015年の経済産業省調査
買い物には課題がある
今後のクックパッドマートにご期待下さい!
None