SlideShare a Scribd company logo
1 of 67
インドの低速な
ネットワーク環境の攻略法
About Me
• 辰濱健一(Kenichi Tatsuhama)
• 徳島県生まれ、徳島県神山町在住
• Sansan株式会社@神山ラボ
• リモートワークで Eight アプリの開発
• GDG Shikoku スタッフ(Google Developer Group)
• Contacts
• Twitter : @tatsuhama50
• Facebook : kenichi.tatsuhama
徳島県神山町
2
古民家再生や、サテ
ライトオフィスの進
出等で、地方創生の
事例になっている
Sansan 株式会社 神山ラボ
3
インドの低速な
ネットワーク環境の攻略方法
Agenda
5
• Eight のインド展開
• インドのネットワーク事情
• 分析
• 対応
Agenda
6
• Eight のインド展開
• インドのネットワーク事情
• 分析
• 対応
Eight のインド進出
7
https://jp.corp-sansan.com/news/2017/171122_8932.html https://jp.techcrunch.com/2017/11/22/sansan-eight-india/
8
日本でそれなりに動いているので、
英訳をあてたら大丈夫!
と思ってました。。。
Global Feedback
9
日本では再現しない問題ばかり…
• 起動のスプラッシュから切り替わらない
• 名刺画像送信が1分経っても終わらない
• 編集を確定しても全然画面が遷移しない
• 「通信エラー」のトーストがよく出る
etc…
10
これらの問題の
調査・解決のために…
Go India(3/12-24)
11
Go India(3/12-24)
12
↓エベレスト
ランチ約60円
Agenda
13
• Eight のインド展開
• インドのネットワーク事情
• 分析
• 対応
インドのネットワーク事情
14
https://www.sankeibiz.jp/macro/print/180406/mcb1804060500007-c.htm
インドのネットワーク事情
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
インドのネットワーク事情
16
• 3GB/Day が 約500円/月 の激安プラン( 1.6 JPY / Rs )
→ インターネット人口急増中
https://www.jio.com/
インドのネットワーク事情
17
• そんな環境では、重たいアプリはそもそもユーザに届かない
• 自動アップデート、YouTube 連続再生もデフォルトでオフ…
https://youtu.be/AdfKNgyT438?t=149
Agenda
19
• Eight のインド展開
• インドのネットワーク事情
• 分析
• 対応
分析
20
• 現地で受け入れられているアプリの UX
• New Relic Mobile による分析
• その他のツール
分析
21
• 現地で受け入れられているアプリの UX
• New Relic Mobile による分析
• その他のツール
現地で受け入れられているアプリの UX
22
• 現地で受け入れられているアプリ
• Facebook, Twitter, Instagram, WhatsApp(like LINE), Uber, …
• いずれも低速なネットワーク環境でも、さほど不自由ない
• 送信に時間が掛かる前提の設計
• 送信に失敗してもオンラインになったら自動的に再送
• 送信中コンテンツの表示
• 画像の段階的表示
Twitter の投稿 UX
23
• 投稿ボタンを押したら即画面遷移
(投稿完了まで待たない)
• 投稿が完了していない Tweet も表示
(網掛け)
• 上部に Progress 表示
↑Progress 表示
投稿中 Twieet
普通の Twieet
Facebook の投稿
24
• 投稿後、即画面遷移
• トップ画面で送信中であることが
わかる
• Notification に進捗表示
オンラインになったら自動再送
25
• オフラインでメッセージを送信しても
UI には送信中として反映する
• オンラインになったら自動で再送する
送信失敗とは出さずに
送信中の UI
オンラインになったら
自動で再送される
オンライン
になった
Instagram の読み込み UX
26
• 画像の読み込みが4段階ぐらいで行われている
動画
27
現地で受け入れられているアプリは、
低速ネットワーク環境を
ちゃんと考慮できていました。
分析
28
• 現地で受け入れられているアプリの UX
• New Relic Mobile による分析
• その他のツール
New Relic Mobile による分析
29
• https://newrelic.com/resource/mobile-monitoring-jp
• 30日間の無料トライアルもあり
New Relic Mobile による分析
30
• HttpRequest Sort
• Response time
• Requests per time
• Total Time
• Total size
New Relic Mobile による分析
31
• Geography Sort
• Response time
• Request per minute
• Total transfer size
• App launches
• Network failure late
New Relic Mobile による分析
32
• Interactions
• Memory
• CPU
• Network
• Threads
New Relic Mobile による分析
33
• Dashboard
34
New Relic Mobile を使うと
様々な角度からの
分析が可能になります。
分析
35
• 現地で受け入れられているアプリの UX
• New Relic Mobile による分析
• その他のツール
その他のツール
36
• Stetho
• Network Link Conditioner
• Charles
• 低速 SIM
その他のツール
37
• Stetho
• Network Link Conditioner
• Charles
• 低速 SIM
Stetho
38
• http://facebook.github.io/stetho/
• Android アプリの通信を Chrome Developer Tools で確認できる
操作したタイミングで
どんな通信が
行われているかわかる
(並列度も!)
その他のツール
39
• Stetho
• Network Link Conditioner
• Charles
• 低速 SIM
Network Link Conditioner
40
• https://developer.apple.com/download/more/
• Mac の通信速度をコントロールできる
• インターネット共有をすれば、スマホの通信速度を低速にできる
その他のツール
41
• Stetho
• Network Link Conditioner
• Charles
• 低速 SIM
Charles
42
• https://www.charlesproxy.com/
• プロキシをたてて通信内容をキャプチャできる
• レスポンスの書き換えも可能
その他のツール
43
• Stetho
• Network Link Conditioner
• Charles
• 低速 SIM
ロケットモバイル(神プラン)
44
• https://rokemoba.com/
↑本家アカウントからの Like
45
これらのツールを使って
改善点を洗い出しています
Agenda
46
• Eight のインド展開
• インドのネットワーク事情
• 分析
• 対応
対応
47
• アプリのバイナリサイズ削減
• 画像の送受信サイズを削減
• 直列通信を並列化する
• 通信結果を待たない UX に変更
• 通信に失敗しても、オンラインになったら自動リトライ
対応
48
• アプリのバイナリサイズ削減
• 画像の送受信サイズを削減
• 直列通信を並列化する
• 通信結果を待たない UX に変更
• 通信に失敗しても、オンラインになったら自動リトライ
アプリのバイナリサイズ削減
49
• 日本国内とバイナリを分けて機能整理&軽量化
• 海外で利用しない機能を決め、関連コード&リソースを含めないようにした
• 60MB → 20MB(66%減)
• アプリ内画像の Webp 化
• minSdk 19 なので、透過 png も webp 化
• 16MB → 12MB(23%減)
• App Bundle 形式での Google Play Store へのアップロード(予定)
• 12MB → 9MB(25%減)
App Bundle
50
• Google I/O 2018 で発表された、Google Play Store への新しいアップロー
ド形式
• その端末に必要なリソースのみをダウンロードできるようになる
対応
51
• アプリのバイナリサイズ削減
• 画像の送受信サイズを削減
• 直列通信を並列化する
• 通信結果を待たない UX に変更
• 通信に失敗しても、オンラインになったら自動リトライ
画像の送受信サイズを削減
52
• 送信
• 形式変更:Base64 → Multipart (25%減)
• Multipart → MessagePack にするかも?
• 長辺 max サイズを設定して、必要十分なサイズにリサイズ
• 受信
• 表示に適切な画像サイズ(サムネイル / 中繊細 / 高画質)でリクエスト
対応
53
• アプリのバイナリサイズ削減
• 画像の送受信サイズを削減
• 直列通信を並列化する
• 通信結果を待たない UX に変更
• 通信に失敗しても、オンラインになったら自動リトライ
直列通信を並列化する
54
• 直列通信
• A の取得(通信) → B の取得(通信) → C の取得(通信)→ 完了
• 並列化
• A, B, C の取得 ー(待ち合わせ)→ 完了
※もちろん、できる範囲に限る
flatMap を見ると
疑うようになった
対応
55
• アプリのバイナリサイズ削減
• 画像の送受信サイズを削減
• 直列通信を並列化する
• 通信結果を待たない UX に変更
• 通信に失敗しても、オンラインになったら自動リトライ
通信結果を待たない UX に変更
56
即画面遷移
&
送信中名刺も一覧に表示
撮影 送信
送信
完了
対応
57
• アプリのバイナリサイズ削減
• 画像の送受信サイズを削減
• 直列通信を並列化する
• 通信結果を待たない UX に変更
• 通信に失敗しても、オンラインになったら自動リトライ
通信に失敗しても自動リトライ
58
• 従来
• 送信完了まで Progress Dialog を表示して待つ
• 一度通信に失敗したら、ユーザによるリトライが必要
• 対応後
• 送信したら即画面遷移
• オフラインでも、オンラインになったら自動リトライ
• 成功するまでリトライさせる
• これらを WorkManager により実現
WorkManager
59
• Google I/O 2018 で発表されたバックグラウンド処理のためのライブラリ
• 実行条件を指定して、実行可能になったら実行される
• 例)オンライン、充電中、バッテリーが少ない
• リトライ設定も容易
• 並列で実行される
• 処理のチェーンや複数処理の結果の待ち合わせもできる
WorkManager 調査メモ
60
• WorkManager に enqueue した Work は何並列で実行されるのか?
https://qiita.com/tatsuhama/items/83af70d57a1e7b9c9a21
• WorkManager に enqueue されている Worker クラスをアプリのアップ
デート時にリネームした場合の挙動
https://qiita.com/tatsuhama/items/0b8d190665cd632f798f
61
インド展開に向けて
日々日々改善施策を行っています
62
まとめ
まとめ
63
インドの低速なネットワークの攻略法
まとめ
64
インドの低速なネットワークの攻略法
• アプリを軽く
→ Flavor による機能整理・画像のWebp 化・App Bundle 対応
まとめ
65
インドの低速なネットワークの攻略法
• アプリを軽く
→ Flavor による機能整理・画像のWebp 化・App Bundle 対応
• 通信結果を待たない UX に
→ 機内モードによる UX 確認を!
まとめ
66
インドの低速なネットワークの攻略法
• アプリを軽く
→ Flavor による機能整理・画像のWebp 化・App Bundle 対応
• 通信結果を待たない UX に
→ 機内モードによる UX 確認を!
• ツールを活用して分析&改善を
→ NewRelic Mobile, Stetho, Charles etc…
Fin.

More Related Content

Similar to インドの低速なネットワーク環境の攻略法

多対多のクラウド利用を支えるデータ標準化技術
多対多のクラウド利用を支えるデータ標準化技術 多対多のクラウド利用を支えるデータ標準化技術
多対多のクラウド利用を支えるデータ標準化技術 CData Software Japan
 
A 2a:アジャイルなオフショア開発
A 2a:アジャイルなオフショア開発A 2a:アジャイルなオフショア開発
A 2a:アジャイルなオフショア開発Arata Fujimura
 
楽天の中のわたしと勉強会
楽天の中のわたしと勉強会楽天の中のわたしと勉強会
楽天の中のわたしと勉強会Rakuten Group, Inc.
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト健一 辰濱
 
HTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことHTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことMasakazu Muraoka
 
JDBCで繋がるクラウドDB・NoSQL連携
JDBCで繋がるクラウドDB・NoSQL連携JDBCで繋がるクラウドDB・NoSQL連携
JDBCで繋がるクラウドDB・NoSQL連携CData Software Japan
 
Io t,ai時代のソフトウェア
Io t,ai時代のソフトウェアIo t,ai時代のソフトウェア
Io t,ai時代のソフトウェアToshiaki Kurokawa
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とToru Takahashi
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とToru Takahashi
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップKoichiro Sumi
 
.NET 6の期待の新機能とアップデート
.NET 6の期待の新機能とアップデート.NET 6の期待の新機能とアップデート
.NET 6の期待の新機能とアップデートTomomitsuKusaba
 
WebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWebWebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWebKensaku Komatsu
 
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダJAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダKenichi Yoshida
 
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化gree_tech
 
Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介健一 辰濱
 
Hueによる分析業務の改善事例
Hueによる分析業務の改善事例Hueによる分析業務の改善事例
Hueによる分析業務の改善事例Masahiro Kiura
 
Web技術勉強会 20100424
Web技術勉強会 20100424Web技術勉強会 20100424
Web技術勉強会 20100424guest17bfe2
 
Web技術勉強会 20100424
Web技術勉強会 20100424Web技術勉強会 20100424
Web技術勉強会 20100424龍一 田中
 
SORACOM Conference Discovery 2017 | E4. IoTにおけるビッグデータとリアルタイム処理
SORACOM Conference Discovery 2017 | E4. IoTにおけるビッグデータとリアルタイム処理SORACOM Conference Discovery 2017 | E4. IoTにおけるビッグデータとリアルタイム処理
SORACOM Conference Discovery 2017 | E4. IoTにおけるビッグデータとリアルタイム処理SORACOM,INC
 

Similar to インドの低速なネットワーク環境の攻略法 (20)

多対多のクラウド利用を支えるデータ標準化技術
多対多のクラウド利用を支えるデータ標準化技術 多対多のクラウド利用を支えるデータ標準化技術
多対多のクラウド利用を支えるデータ標準化技術
 
A 2a:アジャイルなオフショア開発
A 2a:アジャイルなオフショア開発A 2a:アジャイルなオフショア開発
A 2a:アジャイルなオフショア開発
 
楽天の中のわたしと勉強会
楽天の中のわたしと勉強会楽天の中のわたしと勉強会
楽天の中のわたしと勉強会
 
JDBCで繋がるSaas連携
JDBCで繋がるSaas連携JDBCで繋がるSaas連携
JDBCで繋がるSaas連携
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
 
HTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なことHTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なこと
 
JDBCで繋がるクラウドDB・NoSQL連携
JDBCで繋がるクラウドDB・NoSQL連携JDBCで繋がるクラウドDB・NoSQL連携
JDBCで繋がるクラウドDB・NoSQL連携
 
Io t,ai時代のソフトウェア
Io t,ai時代のソフトウェアIo t,ai時代のソフトウェア
Io t,ai時代のソフトウェア
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
 
.NET 6の期待の新機能とアップデート
.NET 6の期待の新機能とアップデート.NET 6の期待の新機能とアップデート
.NET 6の期待の新機能とアップデート
 
WebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWebWebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWeb
 
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダJAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
 
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化
 
Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介
 
Hueによる分析業務の改善事例
Hueによる分析業務の改善事例Hueによる分析業務の改善事例
Hueによる分析業務の改善事例
 
Web技術勉強会 20100424
Web技術勉強会 20100424Web技術勉強会 20100424
Web技術勉強会 20100424
 
Web技術勉強会 20100424
Web技術勉強会 20100424Web技術勉強会 20100424
Web技術勉強会 20100424
 
SORACOM Conference Discovery 2017 | E4. IoTにおけるビッグデータとリアルタイム処理
SORACOM Conference Discovery 2017 | E4. IoTにおけるビッグデータとリアルタイム処理SORACOM Conference Discovery 2017 | E4. IoTにおけるビッグデータとリアルタイム処理
SORACOM Conference Discovery 2017 | E4. IoTにおけるビッグデータとリアルタイム処理
 

More from 健一 辰濱

地方創生ワカモノ会合
地方創生ワカモノ会合地方創生ワカモノ会合
地方創生ワカモノ会合健一 辰濱
 
Google Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオンGoogle Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオン健一 辰濱
 
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 Sansan Tech Meetup Androidエンジニアが振り返る Google I/O   Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O 健一 辰濱
 
知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について健一 辰濱
 
Android 開発の昔と今
Android 開発の昔と今Android 開発の昔と今
Android 開発の昔と今健一 辰濱
 
Firebase Extensions はじめの一歩
Firebase Extensions はじめの一歩Firebase Extensions はじめの一歩
Firebase Extensions はじめの一歩健一 辰濱
 
Firebase & BigQuery で Android アプリの成⻑を支える
Firebase & BigQuery で Android アプリの成⻑を支えるFirebase & BigQuery で Android アプリの成⻑を支える
Firebase & BigQuery で Android アプリの成⻑を支える健一 辰濱
 
GDG DevFest Tokyo 2019 Day2 Special Hands-on
GDG DevFest Tokyo 2019 Day2 Special Hands-onGDG DevFest Tokyo 2019 Day2 Special Hands-on
GDG DevFest Tokyo 2019 Day2 Special Hands-on健一 辰濱
 
Firebase Summit 2019 Recap
Firebase Summit 2019 RecapFirebase Summit 2019 Recap
Firebase Summit 2019 Recap健一 辰濱
 
Cloud Firestore を使って、Polling をやめたい話
Cloud Firestore を使って、Polling をやめたい話Cloud Firestore を使って、Polling をやめたい話
Cloud Firestore を使って、Polling をやめたい話健一 辰濱
 
Firebase hands on in Matsuyama
Firebase hands on in MatsuyamaFirebase hands on in Matsuyama
Firebase hands on in Matsuyama健一 辰濱
 
DroidKaigi 2018 参加報告会 Closing
DroidKaigi 2018 参加報告会 ClosingDroidKaigi 2018 参加報告会 Closing
DroidKaigi 2018 参加報告会 Closing健一 辰濱
 
企業スポンサー
企業スポンサー企業スポンサー
企業スポンサー健一 辰濱
 
参加したセッションの ピックアップ
参加したセッションのピックアップ参加したセッションのピックアップ
参加したセッションの ピックアップ健一 辰濱
 
CFP(Call For Paper) を出す話
CFP(Call For Paper)を出す話CFP(Call For Paper)を出す話
CFP(Call For Paper) を出す話健一 辰濱
 
DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会健一 辰濱
 
DroidKaigi アプリの内部を見る
DroidKaigi アプリの内部を見るDroidKaigi アプリの内部を見る
DroidKaigi アプリの内部を見る健一 辰濱
 
Java で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていくJava で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていく健一 辰濱
 
20171209エンジニアの移住相談会 自己紹介スライド
20171209エンジニアの移住相談会 自己紹介スライド20171209エンジニアの移住相談会 自己紹介スライド
20171209エンジニアの移住相談会 自己紹介スライド健一 辰濱
 
Java で書かれたAndroid アプリに Kotlin を適用させていく
Java で書かれたAndroid アプリに Kotlin を適用させていくJava で書かれたAndroid アプリに Kotlin を適用させていく
Java で書かれたAndroid アプリに Kotlin を適用させていく健一 辰濱
 

More from 健一 辰濱 (20)

地方創生ワカモノ会合
地方創生ワカモノ会合地方創生ワカモノ会合
地方創生ワカモノ会合
 
Google Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオンGoogle Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオン
 
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 Sansan Tech Meetup Androidエンジニアが振り返る Google I/O   Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 
知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について
 
Android 開発の昔と今
Android 開発の昔と今Android 開発の昔と今
Android 開発の昔と今
 
Firebase Extensions はじめの一歩
Firebase Extensions はじめの一歩Firebase Extensions はじめの一歩
Firebase Extensions はじめの一歩
 
Firebase & BigQuery で Android アプリの成⻑を支える
Firebase & BigQuery で Android アプリの成⻑を支えるFirebase & BigQuery で Android アプリの成⻑を支える
Firebase & BigQuery で Android アプリの成⻑を支える
 
GDG DevFest Tokyo 2019 Day2 Special Hands-on
GDG DevFest Tokyo 2019 Day2 Special Hands-onGDG DevFest Tokyo 2019 Day2 Special Hands-on
GDG DevFest Tokyo 2019 Day2 Special Hands-on
 
Firebase Summit 2019 Recap
Firebase Summit 2019 RecapFirebase Summit 2019 Recap
Firebase Summit 2019 Recap
 
Cloud Firestore を使って、Polling をやめたい話
Cloud Firestore を使って、Polling をやめたい話Cloud Firestore を使って、Polling をやめたい話
Cloud Firestore を使って、Polling をやめたい話
 
Firebase hands on in Matsuyama
Firebase hands on in MatsuyamaFirebase hands on in Matsuyama
Firebase hands on in Matsuyama
 
DroidKaigi 2018 参加報告会 Closing
DroidKaigi 2018 参加報告会 ClosingDroidKaigi 2018 参加報告会 Closing
DroidKaigi 2018 参加報告会 Closing
 
企業スポンサー
企業スポンサー企業スポンサー
企業スポンサー
 
参加したセッションの ピックアップ
参加したセッションのピックアップ参加したセッションのピックアップ
参加したセッションの ピックアップ
 
CFP(Call For Paper) を出す話
CFP(Call For Paper)を出す話CFP(Call For Paper)を出す話
CFP(Call For Paper) を出す話
 
DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会
 
DroidKaigi アプリの内部を見る
DroidKaigi アプリの内部を見るDroidKaigi アプリの内部を見る
DroidKaigi アプリの内部を見る
 
Java で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていくJava で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていく
 
20171209エンジニアの移住相談会 自己紹介スライド
20171209エンジニアの移住相談会 自己紹介スライド20171209エンジニアの移住相談会 自己紹介スライド
20171209エンジニアの移住相談会 自己紹介スライド
 
Java で書かれたAndroid アプリに Kotlin を適用させていく
Java で書かれたAndroid アプリに Kotlin を適用させていくJava で書かれたAndroid アプリに Kotlin を適用させていく
Java で書かれたAndroid アプリに Kotlin を適用させていく
 

インドの低速なネットワーク環境の攻略法