Slide 1

Slide 1 text

インターネットなしで 快適なデータ同期を実現 シニア・カスタマーエクスペリエンス・エンジニア 近藤 峻輔

Slide 2

Slide 2 text

バークレー, カリフォルニア 2018年 約100名 (内75名エンジニア) https://ditto.live 創業者 CEO Adam Fish オフィス 創業 従業員数 Web

Slide 3

Slide 3 text

https://www.aviationwire.jp/archives/300215 https://ditto.live/customers/chick-fil-a

Slide 4

Slide 4 text

Dittoのインストールで インターネットなしでも 快適なデータ同期が可能に … Vision Pro、RN、Flutter対応!

Slide 5

Slide 5 text

サーバーに依存させない新しい体験 クラウドの障害時も業務を継続!

Slide 6

Slide 6 text

データを効率良く “中継” • メッシュネットワーク • 最適な経路の探索 • 自動切替 • 再接続 • 再送信 • データ中継

Slide 7

Slide 7 text

P2P同期の難しさ • 途切れがちな接続 • コンフリクト対策 (CRDT) • セキュリティ (認証/証明書) • 差分だけ送受信 (メタデータ) • 端末トラッキング • 複数端末でも重複させない同期 • 複数の通信経路 • 低帯域 …など

Slide 8

Slide 8 text

{ "_id": "741mno", "mileage": 8000, "color": "green", "owner": "Sally", "company": "Honda", "year": 2017, "type": "Accord", // ...several properties "used": false } "mileage": 8000, "year": 2017, { "_id": "741mno", "mileage": 15000, "color": "green", "owner": "Sally", "company": "Toyota", "year": 2022, "type": "Accord", // ...several properties "used": true } "company": "Toyota", "used": true

Slide 9

Slide 9 text

{ "_id": "741mno", "mileage": 15000, "color": "green", "owner": "Sally", "company": "Honda", "year": 2022, "type": "Accord", // ...several properties "used": false } { "_id": "741mno", "mileage": 15000, "color": "green", "owner": "Sally", "company": "Honda", "year": 2022, "type": "Accord", // ...several properties "used": false } { "_id": "741mno", "mileage": 15000, "color": "green", "owner": "Sally", "company": "Toyota", "year": 2022, "type": "Accord", // ...several properties "used": true } "company": "Toyota", { "_id": "741mno", "mileage": 8000, "color": "green", "owner": "Sally", "company": "Honda", "year": 2017, "type": "Accord", // ...several properties "used": false } "mileage": 8000, "year": 2017, "used": true 差分だけが送受信されるため高パフォーマンス ポーリングも不要

Slide 10

Slide 10 text

クラウドDittoを通じて 既存のシステム・他の地域とも同期

Slide 11

Slide 11 text

クラウドDitto ● デバイス認証 ● デバイス接続リスト ● データ分析 (クエリ) ● HTTP API ● Kafka, Webhook連携 ● チーム/メンバー権限管理 ● メトリクス/監視 など(今後も追加)

Slide 12

Slide 12 text

複合型 “レインボー” コネクション(自動切替) Data Data

Slide 13

Slide 13 text

1. ローカルエリアネットワーク 長距離かつ高帯域だが アイソレーションをOFFに する必要がある 高帯域幅 ● 〜1GB/s (有線) ● 〜200MB/s (無線) 長距離 ● 200m

Slide 14

Slide 14 text

種類 ● Android Wi-Fi Aware ○ Android 8 ● Apple Wireless Direct Link (AWDL) ○ AirDropの規格 スピード ● ~128MB/s 範囲 ● 〜80m 2. ダイレクト Wi-Fi 高帯域だが クロスプラットフォームではない

Slide 15

Slide 15 text

長距離かつ クロスプラットフォーム 3. Bluetooth Low Energy 低帯域幅 ● 20kb/sec

Slide 16

Slide 16 text

Ditto 利用のメリット ① 既存の機器(スマホ等)をそのまま活用できる ② 障害に強い(端末間の直接通信、データ分散) ③ ペアリング操作不要の通信 ④ ユーザーの “ギガ” を消費しない ⑤ 混雑、僻地に強い(会場、災害、現場...)

Slide 17

Slide 17 text

Use Cases

Slide 18

Slide 18 text

①「店舗システム」 ● 万が一の障害時にも、営業継続 ○ サーバー・クラウドの障害 ○ アクセスポイントの障害 ○ タブレットの故障 ● 顧客満足度・売上の維持 ● 機器の削減 ○ ローカルサーバー ○ ケーブル...等

Slide 19

Slide 19 text

②「航空」 ● CA機内アプリ(JAL、ANA他) ○ 注文・在庫の管理 ○ 座席変更 ○ チャット...等 ● メンテナンスアプリ ● 乗客アプリ ○ スマホ注文 ○ 情報の配布

Slide 20

Slide 20 text

③「工場・倉庫・建設」 ● 通信が難しい現場のアプリ利用 ○ マップ、ステータスの監視 ○ リアルタイムデータの共有 ● 機器を増やす必要がない ○ アクセスポイント、ケーブ ル、SIMカード...等 ● 障害物(金属や人)、広大な 現場、臨時の現場に強い

Slide 21

Slide 21 text

’Hello, World!’

Slide 22

Slide 22 text

サインアップ (portal.ditto.live) 1. アカウント作成 2. Dittoアプリ作成 3. Ditto App ID, Playground Token コピー

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

Slide 28

Slide 28 text

Write to Local Store (Local-First)

Slide 29

Slide 29 text

Subscription(クエリ発行) Query Diffs Update

Slide 30

Slide 30 text

Dittoプラットフォームで 開発してみませんか

Slide 31

Slide 31 text

インストールガイド docs.ditto.live

Slide 32

Slide 32 text

Thank you!