Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
東京メトロの電車遅延を 1分単位で推定する Webサービスを作った 2020/02/28 Takuya Yamaguchi (@no_clock)
Slide 2
Slide 2 text
通勤しなくなり、 使わなくなりましたとさ 作ったが… おわり
Slide 3
Slide 3 text
東京メトロの電車遅延を 1分単位で推定する Webサービスを作った 2020/02/28 2020/06/12 Takuya Yamaguchi (@no_clock) 供養
Slide 4
Slide 4 text
すき:京都、百合 近況1: GoとTSとインフラ沼 パケットの気持ちになった 近況2: 好きな百合作家さんが推 しているVTuberコンビの 配信を見始めてしまった https://twitter.com/no_clock/status/1270034176364830720
Slide 5
Slide 5 text
メトロ遅延なう https://bit.ly/metro_delay 東京メトロの 電車の位置と 電車の遅延がわかる Webサービス
Slide 6
Slide 6 text
メトロ遅延なう https://bit.ly/metro_delay フロントエンド - TypeScript, React - MUI (Material Design) サーバサイド - Ruby, Sinatra
Slide 7
Slide 7 text
東京圏の電車は よく 遅れる
Slide 8
Slide 8 text
東京圏の電車は よく 遅れる リモートの方々は3ヶ月前くらいの 通勤していた頃を思い出してください ていましたよね
Slide 9
Slide 9 text
遅延証明書の発行日数 JR 中央線(快速) 19.0日/20日 (95%) 出典: 国土交通省 東京圏の鉄道路線の遅延「見える化」(平成30年度) http://www.mlit.go.jp/report/press/tetsudo02_hh_000126.html 東京メトロ 千代田線 19.2日/20日 (96%)
Slide 10
Slide 10 text
証明書発行時の遅延時間(平均) 出典: 国土交通省 東京圏の鉄道路線の遅延「見える化」(平成30年度) http://www.mlit.go.jp/report/press/tetsudo02_hh_000126.html
Slide 11
Slide 11 text
遅れているときにありがちなこと 遅れている電車の すぐ後の電車は 比較的空いている ことがある 5分遅れ 1分遅れ
Slide 12
Slide 12 text
遅れているときにありがちなこと 遅れている電車の すぐ後の電車は 比較的空いている ことがある 5分遅れ 1分遅れ 遅延がわかれば 混雑した電車を回避できる かもしれない
Slide 13
Slide 13 text
鉄道各社の公式サービス 左: JR東日本公式スマートフォンアプリ 右:東京メトロ公式アプリ JR東日本: 1 分〜 東京メトロ: 5分〜 (要タップ) 微妙に不便
Slide 14
Slide 14 text
そこで… 東京メトロ オープンデータ
Slide 15
Slide 15 text
東京メトロオープンデータ https://developer.tokyometroapp.jp/info RESTful API、JSON-LD 時刻表、列車位置など取得可 ユーザ登録のみで利用可能 商用利用・有料アプリ・広告掲載など不可
Slide 16
Slide 16 text
東京メトロオープンデータ 列車時刻表 虎ノ門 23:10 新橋 23:13 銀座 23:14
Slide 17
Slide 17 text
東京メトロオープンデータ 列車ロケーション情報 銀座線 B2227 渋谷発 浅草ゆき 現在地:虎ノ門→新橋 遅延0秒 ※5分未満切捨
Slide 18
Slide 18 text
東京メトロオープンデータ 次のように遅延を推定 1. 全列車の時刻表をキャッシュしておく 2. 列車位置と時刻表を照らし合わせて 遅延を1分単位で推定
Slide 19
Slide 19 text
サーバサイド - Ruby, Sinatra メトロ遅延なう 134 viewer/src/App.tsx 47 viewer/src/railway/RailwayList.tsx 295 viewer/src/railway/RailwayMap.tsx 230 server/app.rb 72 server/get_railway.rb フロントエンド - TypeScript, React
Slide 20
Slide 20 text
PWA (Progressive Web Apps) アプリっぽく見せたかった (何もキャッシュしていない) (これだけのために Service Workerが入っている) メトロ遅延なう
Slide 21
Slide 21 text
デザイン 脱Bootstrapしたと思ったら MUIを無加工で使っていた アイコン Public domain画像をGIMP加工 (いい方法教えて下さい…) メトロ遅延なう
Slide 22
Slide 22 text
● 便利。ほぼ毎日使用していた ● 切り替わる電光掲示板を 見つめ続けなくてよい ● CX (Commuter Experience) が向上した メトロ遅延なう
Slide 23
Slide 23 text
つらみポイント
Slide 24
Slide 24 text
つらみポイント 平日ダイヤか土休日ダイヤかわからない どちらのダイヤで運転しているか情報がない ▶ Ruby holiday_japan gemで対処 種別や駅の定義(150行)
Slide 25
Slide 25 text
つらみポイント 上り/下りがわからない 上下どちらの列車にも 「池袋方面 (Direction:Ikebukuro)」 と入っていたりする(副都心線など) ▶ いい感じにした 引用: 副都心線/F | 路線・駅の情報 | 東京メトロ https://www.tokyometro.jp/station/line_fukutoshin/index.html
Slide 26
Slide 26 text
つらみポイント Google「モバイルフレンドリーではありません」 Before After
Slide 27
Slide 27 text
つらみポイント Google「モバイルフレンドリーではありません」 Before After 確かにめちゃくちゃ 誤タップした 正直まだ 誤タップする
Slide 28
Slide 28 text
通勤しなくなり、使わなくなった (スマートフォンのホーム画面からも消した) 一番のつらみポイント
Slide 29
Slide 29 text
メトロ遅延なう https://bit.ly/metro_delay 東京メトロの 電車の位置と 電車の遅延がわかる Webサービス -完-