Submit Search
インドの低速なネットワーク環境の攻略法
Download as PPTX, PDF
•
4 likes
•
2,950 views
Kenichi Tatsuhama
Mobile Act OSAKA #5 発表資料 https://mobileact.connpass.com/event/86668/
Software
Read more
1 of 67
Download now
Downloaded 10 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
More Related Content
PPTX
インドのインターネット環境との戦い方
Kenichi Tatsuhama
PDF
さくらのひやおろし
法林浩之
PDF
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
Masahiro NAKAYAMA
PDF
Kinesis→Redshift連携を、KCLからFirehoseに切り替えたお話
Hajime Sano
PDF
CKAN日本語コミュニティミートアップ
Fumihiro Kato
PDF
Rancher/k8sを利用した運用改善の取り組み
Michitaka Terada
PDF
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasia
Masayuki Ishikawa
PDF
さくらのIoT Platformを使ってみよう ~OSC大阪編~
法林浩之
インドのインターネット環境との戦い方
Kenichi Tatsuhama
さくらのひやおろし
法林浩之
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
Masahiro NAKAYAMA
Kinesis→Redshift連携を、KCLからFirehoseに切り替えたお話
Hajime Sano
CKAN日本語コミュニティミートアップ
Fumihiro Kato
Rancher/k8sを利用した運用改善の取り組み
Michitaka Terada
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasia
Masayuki Ishikawa
さくらのIoT Platformを使ってみよう ~OSC大阪編~
法林浩之
Similar to インドの低速なネットワーク環境の攻略法
(20)
PPTX
多対多のクラウド利用を支えるデータ標準化技術
CData Software Japan
PDF
A 2a:アジャイルなオフショア開発
Arata Fujimura
PDF
楽天の中のわたしと勉強会
Rakuten Group, Inc.
PPTX
JDBCで繋がるSaas連携
CData Software Japan
PPTX
Device Farm を使ったスマホアプリの自動テスト
Kenichi Tatsuhama
KEY
HTML5時代のwebクリエイターに必要なこと
Masakazu Muraoka
PPTX
JDBCで繋がるクラウドDB・NoSQL連携
CData Software Japan
PDF
Io t,ai時代のソフトウェア
Toshiaki Kurokawa
PPTX
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
PPTX
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
PDF
おすすめインフラ! for スタートアップ
Koichiro Sumi
PDF
.NET 6の期待の新機能とアップデート
TomomitsuKusaba
PPTX
WebIntentsにより拓かれる次のWeb
Kensaku Komatsu
PDF
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
Kenichi Yoshida
PPTX
長寿なゲーム事業におけるアプリビルドの効率化
gree_tech
PPTX
Android 開発, 運用時に使いたいライブラリやサービスの紹介
Kenichi Tatsuhama
PPTX
Hueによる分析業務の改善事例
Masahiro Kiura
PDF
Web技術勉強会 20100424
guest17bfe2
PDF
Web技術勉強会 20100424
龍一 田中
PPTX
SORACOM Conference Discovery 2017 | E4. IoTにおけるビッグデータとリアルタイム処理
SORACOM,INC
多対多のクラウド利用を支えるデータ標準化技術
CData Software Japan
A 2a:アジャイルなオフショア開発
Arata Fujimura
楽天の中のわたしと勉強会
Rakuten Group, Inc.
JDBCで繋がるSaas連携
CData Software Japan
Device Farm を使ったスマホアプリの自動テスト
Kenichi Tatsuhama
HTML5時代のwebクリエイターに必要なこと
Masakazu Muraoka
JDBCで繋がるクラウドDB・NoSQL連携
CData Software Japan
Io t,ai時代のソフトウェア
Toshiaki Kurokawa
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
おすすめインフラ! for スタートアップ
Koichiro Sumi
.NET 6の期待の新機能とアップデート
TomomitsuKusaba
WebIntentsにより拓かれる次のWeb
Kensaku Komatsu
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
Kenichi Yoshida
長寿なゲーム事業におけるアプリビルドの効率化
gree_tech
Android 開発, 運用時に使いたいライブラリやサービスの紹介
Kenichi Tatsuhama
Hueによる分析業務の改善事例
Masahiro Kiura
Web技術勉強会 20100424
guest17bfe2
Web技術勉強会 20100424
龍一 田中
SORACOM Conference Discovery 2017 | E4. IoTにおけるビッグデータとリアルタイム処理
SORACOM,INC
Ad
More from Kenichi Tatsuhama
(20)
PDF
【技術的負債LT会】私たちの技術負債最前線〜過去と未来について〜 2024/08/01
Kenichi Tatsuhama
PDF
地方創生ワカモノ会合
Kenichi Tatsuhama
PDF
Google Analytics のデータ分析ハンズオン
Kenichi Tatsuhama
PDF
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Kenichi Tatsuhama
PDF
知っておきたいFirebase の色んな上限について
Kenichi Tatsuhama
PDF
Android 開発の昔と今
Kenichi Tatsuhama
PDF
Firebase Extensions はじめの一歩
Kenichi Tatsuhama
PDF
Firebase & BigQuery で Android アプリの成⻑を支える
Kenichi Tatsuhama
PPTX
GDG DevFest Tokyo 2019 Day2 Special Hands-on
Kenichi Tatsuhama
PPTX
Firebase Summit 2019 Recap
Kenichi Tatsuhama
PPTX
Cloud Firestore を使って、Polling をやめたい話
Kenichi Tatsuhama
PPTX
Firebase hands on in Matsuyama
Kenichi Tatsuhama
PPTX
DroidKaigi 2018 参加報告会 Closing
Kenichi Tatsuhama
PPTX
企業スポンサー
Kenichi Tatsuhama
PPTX
参加したセッションのピックアップ
Kenichi Tatsuhama
PPTX
CFP(Call For Paper)を出す話
Kenichi Tatsuhama
PPTX
DroidKaigi 2018 参加報告会
Kenichi Tatsuhama
PPTX
DroidKaigi アプリの内部を見る
Kenichi Tatsuhama
PPTX
Java で書かれた Android アプリに Kotlin を適用させていく
Kenichi Tatsuhama
PPTX
20171209エンジニアの移住相談会 自己紹介スライド
Kenichi Tatsuhama
【技術的負債LT会】私たちの技術負債最前線〜過去と未来について〜 2024/08/01
Kenichi Tatsuhama
地方創生ワカモノ会合
Kenichi Tatsuhama
Google Analytics のデータ分析ハンズオン
Kenichi Tatsuhama
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Kenichi Tatsuhama
知っておきたいFirebase の色んな上限について
Kenichi Tatsuhama
Android 開発の昔と今
Kenichi Tatsuhama
Firebase Extensions はじめの一歩
Kenichi Tatsuhama
Firebase & BigQuery で Android アプリの成⻑を支える
Kenichi Tatsuhama
GDG DevFest Tokyo 2019 Day2 Special Hands-on
Kenichi Tatsuhama
Firebase Summit 2019 Recap
Kenichi Tatsuhama
Cloud Firestore を使って、Polling をやめたい話
Kenichi Tatsuhama
Firebase hands on in Matsuyama
Kenichi Tatsuhama
DroidKaigi 2018 参加報告会 Closing
Kenichi Tatsuhama
企業スポンサー
Kenichi Tatsuhama
参加したセッションのピックアップ
Kenichi Tatsuhama
CFP(Call For Paper)を出す話
Kenichi Tatsuhama
DroidKaigi 2018 参加報告会
Kenichi Tatsuhama
DroidKaigi アプリの内部を見る
Kenichi Tatsuhama
Java で書かれた Android アプリに Kotlin を適用させていく
Kenichi Tatsuhama
20171209エンジニアの移住相談会 自己紹介スライド
Kenichi Tatsuhama
Ad
インドの低速なネットワーク環境の攻略法
1.
インドの低速な ネットワーク環境の攻略法
2.
About Me • 辰濱健一(Kenichi
Tatsuhama) • 徳島県生まれ、徳島県神山町在住 • Sansan株式会社@神山ラボ • リモートワークで Eight アプリの開発 • GDG Shikoku スタッフ(Google Developer Group) • Contacts • Twitter : @tatsuhama50 • Facebook : kenichi.tatsuhama
3.
徳島県神山町 2 古民家再生や、サテ ライトオフィスの進 出等で、地方創生の 事例になっている
4.
Sansan 株式会社 神山ラボ 3
5.
インドの低速な ネットワーク環境の攻略方法
6.
Agenda 5 • Eight のインド展開 •
インドのネットワーク事情 • 分析 • 対応
7.
Agenda 6 • Eight のインド展開 •
インドのネットワーク事情 • 分析 • 対応
8.
Eight のインド進出 7 https://jp.corp-sansan.com/news/2017/171122_8932.html https://jp.techcrunch.com/2017/11/22/sansan-eight-india/
9.
8 日本でそれなりに動いているので、 英訳をあてたら大丈夫! と思ってました。。。
10.
Global Feedback 9 日本では再現しない問題ばかり… • 起動のスプラッシュから切り替わらない •
名刺画像送信が1分経っても終わらない • 編集を確定しても全然画面が遷移しない • 「通信エラー」のトーストがよく出る etc…
11.
10 これらの問題の 調査・解決のために…
12.
Go India(3/12-24) 11
13.
Go India(3/12-24) 12 ↓エベレスト ランチ約60円
14.
Agenda 13 • Eight のインド展開 •
インドのネットワーク事情 • 分析 • 対応
15.
インドのネットワーク事情 14 https://www.sankeibiz.jp/macro/print/180406/mcb1804060500007-c.htm
16.
インドのネットワーク事情 15 • 半径数百mの弱いアンテナを数立て ている(らしい) • 町中でも電波にムラあり •
細い回線をみんなで取り合い • 瞬断も多い https://opensignal.com/networks/%E0%A4%AD%E0%A4%BE%E0%A4%B0%E0%A4%A4/jio- %E0%A4%B5%E0%A5%8D%E0%A4%AF%E0%A4%BE%E0%A4%AA%E0%A5%8D%E0%A4%A4%E0%A4%BF
17.
インドのネットワーク事情 16 • 3GB/Day が
約500円/月 の激安プラン( 1.6 JPY / Rs ) → インターネット人口急増中 https://www.jio.com/
18.
インドのネットワーク事情 17 • そんな環境では、重たいアプリはそもそもユーザに届かない • 自動アップデート、YouTube
連続再生もデフォルトでオフ… https://youtu.be/AdfKNgyT438?t=149
19.
Agenda 19 • Eight のインド展開 •
インドのネットワーク事情 • 分析 • 対応
20.
分析 20 • 現地で受け入れられているアプリの UX •
New Relic Mobile による分析 • その他のツール
21.
分析 21 • 現地で受け入れられているアプリの UX •
New Relic Mobile による分析 • その他のツール
22.
現地で受け入れられているアプリの UX 22 • 現地で受け入れられているアプリ •
Facebook, Twitter, Instagram, WhatsApp(like LINE), Uber, … • いずれも低速なネットワーク環境でも、さほど不自由ない • 送信に時間が掛かる前提の設計 • 送信に失敗してもオンラインになったら自動的に再送 • 送信中コンテンツの表示 • 画像の段階的表示
23.
Twitter の投稿 UX 23 •
投稿ボタンを押したら即画面遷移 (投稿完了まで待たない) • 投稿が完了していない Tweet も表示 (網掛け) • 上部に Progress 表示 ↑Progress 表示 投稿中 Twieet 普通の Twieet
24.
Facebook の投稿 24 • 投稿後、即画面遷移 •
トップ画面で送信中であることが わかる • Notification に進捗表示
25.
オンラインになったら自動再送 25 • オフラインでメッセージを送信しても UI には送信中として反映する •
オンラインになったら自動で再送する 送信失敗とは出さずに 送信中の UI オンラインになったら 自動で再送される オンライン になった
26.
Instagram の読み込み UX 26 •
画像の読み込みが4段階ぐらいで行われている 動画
27.
27 現地で受け入れられているアプリは、 低速ネットワーク環境を ちゃんと考慮できていました。
28.
分析 28 • 現地で受け入れられているアプリの UX •
New Relic Mobile による分析 • その他のツール
29.
New Relic Mobile
による分析 29 • https://newrelic.com/resource/mobile-monitoring-jp • 30日間の無料トライアルもあり
30.
New Relic Mobile
による分析 30 • HttpRequest Sort • Response time • Requests per time • Total Time • Total size
31.
New Relic Mobile
による分析 31 • Geography Sort • Response time • Request per minute • Total transfer size • App launches • Network failure late
32.
New Relic Mobile
による分析 32 • Interactions • Memory • CPU • Network • Threads
33.
New Relic Mobile
による分析 33 • Dashboard
34.
34 New Relic Mobile
を使うと 様々な角度からの 分析が可能になります。
35.
分析 35 • 現地で受け入れられているアプリの UX •
New Relic Mobile による分析 • その他のツール
36.
その他のツール 36 • Stetho • Network
Link Conditioner • Charles • 低速 SIM
37.
その他のツール 37 • Stetho • Network
Link Conditioner • Charles • 低速 SIM
38.
Stetho 38 • http://facebook.github.io/stetho/ • Android
アプリの通信を Chrome Developer Tools で確認できる 操作したタイミングで どんな通信が 行われているかわかる (並列度も!)
39.
その他のツール 39 • Stetho • Network
Link Conditioner • Charles • 低速 SIM
40.
Network Link Conditioner 40 •
https://developer.apple.com/download/more/ • Mac の通信速度をコントロールできる • インターネット共有をすれば、スマホの通信速度を低速にできる
41.
その他のツール 41 • Stetho • Network
Link Conditioner • Charles • 低速 SIM
42.
Charles 42 • https://www.charlesproxy.com/ • プロキシをたてて通信内容をキャプチャできる •
レスポンスの書き換えも可能
43.
その他のツール 43 • Stetho • Network
Link Conditioner • Charles • 低速 SIM
44.
ロケットモバイル(神プラン) 44 • https://rokemoba.com/ ↑本家アカウントからの Like
45.
45 これらのツールを使って 改善点を洗い出しています
46.
Agenda 46 • Eight のインド展開 •
インドのネットワーク事情 • 分析 • 対応
47.
対応 47 • アプリのバイナリサイズ削減 • 画像の送受信サイズを削減 •
直列通信を並列化する • 通信結果を待たない UX に変更 • 通信に失敗しても、オンラインになったら自動リトライ
48.
対応 48 • アプリのバイナリサイズ削減 • 画像の送受信サイズを削減 •
直列通信を並列化する • 通信結果を待たない UX に変更 • 通信に失敗しても、オンラインになったら自動リトライ
49.
アプリのバイナリサイズ削減 49 • 日本国内とバイナリを分けて機能整理&軽量化 • 海外で利用しない機能を決め、関連コード&リソースを含めないようにした •
60MB → 20MB(66%減) • アプリ内画像の Webp 化 • minSdk 19 なので、透過 png も webp 化 • 16MB → 12MB(23%減) • App Bundle 形式での Google Play Store へのアップロード(予定) • 12MB → 9MB(25%減)
50.
App Bundle 50 • Google
I/O 2018 で発表された、Google Play Store への新しいアップロー ド形式 • その端末に必要なリソースのみをダウンロードできるようになる
51.
対応 51 • アプリのバイナリサイズ削減 • 画像の送受信サイズを削減 •
直列通信を並列化する • 通信結果を待たない UX に変更 • 通信に失敗しても、オンラインになったら自動リトライ
52.
画像の送受信サイズを削減 52 • 送信 • 形式変更:Base64
→ Multipart (25%減) • Multipart → MessagePack にするかも? • 長辺 max サイズを設定して、必要十分なサイズにリサイズ • 受信 • 表示に適切な画像サイズ(サムネイル / 中繊細 / 高画質)でリクエスト
53.
対応 53 • アプリのバイナリサイズ削減 • 画像の送受信サイズを削減 •
直列通信を並列化する • 通信結果を待たない UX に変更 • 通信に失敗しても、オンラインになったら自動リトライ
54.
直列通信を並列化する 54 • 直列通信 • A
の取得(通信) → B の取得(通信) → C の取得(通信)→ 完了 • 並列化 • A, B, C の取得 ー(待ち合わせ)→ 完了 ※もちろん、できる範囲に限る flatMap を見ると 疑うようになった
55.
対応 55 • アプリのバイナリサイズ削減 • 画像の送受信サイズを削減 •
直列通信を並列化する • 通信結果を待たない UX に変更 • 通信に失敗しても、オンラインになったら自動リトライ
56.
通信結果を待たない UX に変更 56 即画面遷移 & 送信中名刺も一覧に表示 撮影
送信 送信 完了
57.
対応 57 • アプリのバイナリサイズ削減 • 画像の送受信サイズを削減 •
直列通信を並列化する • 通信結果を待たない UX に変更 • 通信に失敗しても、オンラインになったら自動リトライ
58.
通信に失敗しても自動リトライ 58 • 従来 • 送信完了まで
Progress Dialog を表示して待つ • 一度通信に失敗したら、ユーザによるリトライが必要 • 対応後 • 送信したら即画面遷移 • オフラインでも、オンラインになったら自動リトライ • 成功するまでリトライさせる • これらを WorkManager により実現
59.
WorkManager 59 • Google I/O
2018 で発表されたバックグラウンド処理のためのライブラリ • 実行条件を指定して、実行可能になったら実行される • 例)オンライン、充電中、バッテリーが少ない • リトライ設定も容易 • 並列で実行される • 処理のチェーンや複数処理の結果の待ち合わせもできる
60.
WorkManager 調査メモ 60 • WorkManager
に enqueue した Work は何並列で実行されるのか? https://qiita.com/tatsuhama/items/83af70d57a1e7b9c9a21 • WorkManager に enqueue されている Worker クラスをアプリのアップ デート時にリネームした場合の挙動 https://qiita.com/tatsuhama/items/0b8d190665cd632f798f
61.
61 インド展開に向けて 日々日々改善施策を行っています
62.
62 まとめ
63.
まとめ 63 インドの低速なネットワークの攻略法
64.
まとめ 64 インドの低速なネットワークの攻略法 • アプリを軽く → Flavor
による機能整理・画像のWebp 化・App Bundle 対応
65.
まとめ 65 インドの低速なネットワークの攻略法 • アプリを軽く → Flavor
による機能整理・画像のWebp 化・App Bundle 対応 • 通信結果を待たない UX に → 機内モードによる UX 確認を!
66.
まとめ 66 インドの低速なネットワークの攻略法 • アプリを軽く → Flavor
による機能整理・画像のWebp 化・App Bundle 対応 • 通信結果を待たない UX に → 機内モードによる UX 確認を! • ツールを活用して分析&改善を → NewRelic Mobile, Stetho, Charles etc…
67.
Fin.
Download