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
WebRTCで実現する次世代英会話と旧世代式開発手法
Search
Ken Jumbo Haneda
November 08, 2017
Programming
0
2k
WebRTCで実現する次世代英会話と旧世代式開発手法
エンジニアの力でサービス・組織をスケール化させるには?〜Web現場MeetUP #2 〜
Ken Jumbo Haneda
November 08, 2017
Tweet
Share
More Decks by Ken Jumbo Haneda
See All by Ken Jumbo Haneda
Vue.jsのない会社にVue.jsを入れていく
jumbo_ken
0
550
20200115_skyway_ug_6
jumbo_ken
0
510
サブスクミートアップ2.pdf
jumbo_ken
0
880
20180614_AppsJapan
jumbo_ken
1
420
WebRTCリリースで辛かったこと
jumbo_ken
2
1.6k
アプリを作ってて気づいた、 教育サービスの難しいところ
jumbo_ken
1
1.5k
bonfire android #2
jumbo_ken
1
1.1k
iOSでのSkyWay開発の勘所とTips (リリース後・新SDK編)
jumbo_ken
0
5.9k
両OSやるマンという選択
jumbo_ken
9
6k
Other Decks in Programming
See All in Programming
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
330
VS Code Update for GitHub Copilot
74th
2
670
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
5
8.2k
AI駆動のマルチエージェントによる業務フロー自動化の設計と実践
h_okkah
0
210
チームで開発し事業を加速するための"良い"設計の考え方 @ サポーターズCoLab 2025-07-08
agatan
1
450
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
2
970
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
580
ニーリーにおけるプロダクトエンジニア
nealle
0
890
AIプログラマーDevinは PHPerの夢を見るか?
shinyasaita
1
240
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
220
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
5
1.4k
生成AI時代のコンポーネントライブラリの作り方
touyou
1
260
Featured
See All Featured
Become a Pro
speakerdeck
PRO
29
5.4k
Agile that works and the tools we love
rasmusluckow
329
21k
A Tale of Four Properties
chriscoyier
160
23k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
How to Think Like a Performance Engineer
csswizardry
25
1.7k
Building Adaptive Systems
keathley
43
2.7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Designing for Performance
lara
610
69k
Facilitating Awesome Meetings
lara
54
6.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
How GitHub (no longer) Works
holman
314
140k
Transcript
WebRTCͰ࣮ݱ͢Δ࣍ੈӳձͱچੈࣜ։ ൃख๏ ΤϯδχΞͷྗͰαʔϏεɾ৫ΛεέʔϧԽͤ͞Δʹʁʙ8FCݱ .FFU61ˌʙ
δϟϯϘ@jumboOrNot Kentaro Haneda Mobile Engineer@RareJob Tech Lead@LandSkip Swift/kotlin/golang/WebRTC
ࠓͷ ɾ͢͜ͱ - ࣍ੈӳձΛͲ͏ઃܭɾ։ൃ͢Δ͔ͱ͍͏ - چੈతΞϓϩʔνඞཁͩͬͨ ɾ͜Μͳਓ - ৽͍͠ମݧΛϓϩμΫτࢹɾٕज़ࢹͰͲ͏ઃܭ͢Δ͔ ʹڵຯͷ͋ΔΤϯδχΞ
ࠓͷ ɾ͞ͳ͍͜ͱ - WebRTCͷࡉ͔͍ٕज़ ͪ͜ΒΛ͝ཡ͍ͩ͘͞ https://www.slideshare.net/iwashi86/skyway-how-to-use-skyway-webrtc?ref=https:// skyway.connpass.com/event/65697/presentation/ - ΞϓϦͷΞʔΩςΫνϟͳͲ ͪ͜ΒΛ͝ཡ͍ͩ͘͞
https://qiita.com/jumbOrNot/items/4f143c8dcf9620080382 - ϨΞδϣϒΞϓϦαʔϏεʹ͍ͭͯ ͪ͜ΒΛ͝ཡ͍ͩ͘͞ https://speakerdeck.com/jumbo_ken/liang-osyarumantoiuxuan-ze
࣍ੈӳձΛͲ͏ઃܭɾ։ൃ͢Δ͔ͱ͍͏ KPIπϦʔΛઃܭɾ࣮ɾσβΠϯ·Ͱੜ͔ͪ͠Ό͓͏
8/11 ver1.4.0ΑΓϦϦʔε͠·ͨ͠ ʮεϚϗͰϨοεϯʯ SkyWayΛͬͨWebRTCͰͷϨοεϯఏڙΛ ݕূ͍ͯ͠·͢ ʢiOSܦ༝ͷແྉମݧϨοεϯͷҰ෦ߨࢣͷΈʣ
10͍ؒଓ͚ͨ Skype͔Βͷ٫Λ ɾ৽͍͠ͷΛಋೖ ɾମݧΛϦσβΠϯ ͠ͳ͕ΒͲ͏ਐΊ͔ͨʁ ࣍ੈӳձΛͲ͏ઃܭɾ։ൃ͢Δ͔ʁʁ
WebRTCػೳϦϦʔε·ͰͷಓͷΓ ɾىҊ ɾٕज़ݕূ ɾଞ෦ͱͷௐ ɾاըɺຉɺ༷ࡦఆ ɾσβΠϯ ɾ։ൃ ɾϓϩμΫτݕূ etc…
WebRTCػೳϦϦʔε·ͰͷಓͷΓ ɾىҊ ɾٕज़ݕূ ɾଞ෦ͱͷௐ ɾاըɺຉɺ༷ࡦఆ ɾσβΠϯ ɾ։ൃ ɾϓϩμΫτݕূ etc…
༷ࡦఆͰͷ՝ Ұ൪࠷ॳͷஈ֊Ͱܾ·͍ͬͯͨͷɺ ʮWebRTCΛͬͨݕূΛԿͱͯ͠ϦϦʔε͢Δʯ ͱ͍͏͜ͱ͚ͩɻ ·ͣߟ͑ͨࣄ • ٕज़ΛࣗࣾͰ͕࣋ͭނɺࣗ༝ʮߴʯ͕ͩ ʮͰͳʹΛΔͷ͔ʁʁʯʹ͍ͭͯ • skypeͱͷ༗ҙࠩΛԿΛ࣋ͬͯݕূ͢Δ͔ʹ͍ͭͯ
Q. ࣗ༝ͷߴ͍ϓϩδΣΫτͷઃܭͲ͏͢Δʁ
༷ࡦఆͰͷ՝ Q. ࣗ༝ͷߴ͍ϓϩδΣΫτͷઃܭͲ͏͢Δʁ A. ϢʔβʔετʔϦʔɾKPIπϦʔʹపఈతʹ४ڌ
Goal. ӳޠ͕ͤΔ Α͏ʹͳΔ ϨοεϯΛड͚Δ ΞϓϦΛىಈ͢Δ Ϩοεϯ༧ ɾɾɾ ϢʔβʔετʔϦʔ CVR XX%
CVR XX% CVR XX% ϢʔβʔετʔϦʔ ʴ KPIπϦʔΛ༻ҙ͢Δ
Goal. ӳޠ͕ͤΔ Α͏ʹͳΔ ϨοεϯΛड͚Δ ༗ྉԽ Ϩοεϯ༧ ɾɾɾ ϢʔβʔετʔϦʔ CVR XX%
CVR XX% CVR XX% ମݧͷఆྔԽ ϝΠϯKPIͷܭଌ ՄࢹԽ: re:dash αϒKPIͷܭଌ Πϕϯτπʔϧ: Firebase + Flurry + Answers + MixPanel
༷ࡦఆ ΰʔϧͱͦ͜·Ͱͷܦ࿏ΛΫϦΞʹ͢Δɺ ͦͷͨΊͷՄࢹԽूܭΛదͳπʔϧͰָʹ˕ ͜ΕʹΑ্༷ͬͯͷൈ͚࿙ΕɺޮՌଌఆͷෆͳ͘ ϓϩδΣΫτΛϦϦʔεͰ͖ͨ Q. ࣗ༝ͷߴ͍ϓϩδΣΫτͷઃܭͲ͏͢Δʁ A. ϢʔβʔετʔϦʔɾKPIπϦʔʹపఈతʹ४ڌ
WebRTCػೳϦϦʔε·ͰͷಓͷΓ ɾىҊ ɾٕज़ݕূ ɾଞ෦ͱͷௐ ɾاըɺຉɺ༷ࡦఆ ɾσβΠϯ ɾ։ൃ ɾϓϩμΫτݕূ etc…
σβΠϯɾ։ൃͰͷ ొਓ͕ੜెɾߨࢣ͕͍Δɾɾɾ ༧ˠϨοεϯྃ·Ͱ͕ͯ͘ෳࡶɾɾɾ Q. ঢ়ଶ͕ଟ͍ͷͰఆٛʹൈ͚࿙Ε͕ग़͕ͪ → σβΠϯɾ։ൃʹӨڹ
༷ࡦఆͰͷ՝ Q. ঢ়ଶ͕ଟ͍ͷͰఆٛʹൈ͚࿙Ε͕ग़͕ͪ A. ͜ΕϢʔβʔετʔϦʔɾKPIπϦʔʹపఈతʹ४ڌ
ߨࢣ͕ୀग़ Ϩοεϯ։࢝ ϧʔϜʹೖΔ ɾɾɾ ϢʔβʔετʔϦʔ CVR XX% CVR XX% CVR
XX% ϢʔβʔετʔϦʔ͔Βঢ়ଶͷநग़ͱ ͦΕʹର͢ΔσβΠϯͷఆٛͱ࣮ ঢ়ଶɿߨࢣͪ ঢ়ଶɿϨοεϯத ঢ়ଶɿߨࢣୀग़
ঢ়ଶ͝ͱʹσβΠϯΛఆٛɾվળ͢Δ͜ͱͰɺ ༷࿙ΕϨοεϯମݧΛ্ͤ͞Δ
ঢ়ଶΛMVVMͰ࣮͞ΕͯΫϥΠΞϯτͷViewModelʹ ࣮ͯ͠ϦΞΫςΟϒʹUIΛมߋ https://gist.github.com/jumbo-in-Jap/29abf2cefcf0848700915f7b6ace37f8 class LessonViewModel { let disposeBag = DisposeBag()
var connectionStatus = Variable<ConnectionStatus>(.none) enum ConnectionStatus:String{ case none case loading case connectedWithTutor case disConnectedWithTutor case leaveTutor } }
ͦΜͳऔΓΈͷ݁Ռͱͯ͠ SkypeͰ࣮ݱͰ͖ͳ͔ͬͨΞϨίϨ͕٧·͍ͬͯ·͢ ઌੜͷإΛݟͯ͠ͳ͕Β ΞϓϦΛಈ͔ͤΔ ڭࡐΛݟͳ͕ΒεϚϗͰϨοεϯ
چੈతΞϓϩʔνඞཁͩͬͨ
WebRTCػೳϦϦʔε·ͰͷಓͷΓ ɾىҊ ɾٕज़ݕূ ɾଞ෦ͱͷௐ ɾاըɺຉɺ༷ࡦఆ ɾσβΠϯ ɾ։ൃ ɾϓϩμΫτݕূ etc…
Ұ෦։ൃ͕ϑΟϦϐϯ ฐࣾͷߨࢣଆͷαΠτ શͯPHͷΤϯδχΞ͕୲ɻ ʮݴޠͷน͋Δ͚Ͳɺ ࣌ࠩ1͔࣌ؒ͠ͳ͍͠ɺӳޠ ·͊ͪΐͬͱͤΔ͠ɺ ͍͚ΔΖʂʂʯ
ͬͺ༷ॻͱςϨϏձ͚ٞͩ͡Όμϝ ͳΜ͔͜͏ݴޠԽ͢Δͷ͍͚͠Ͳɺ৽͍͠ମݧͩ͠ ΤϯδχΞ͔ΒͬͱओମతͳఏҊཉ͍͠͠ɺ ՝ʹੵۃతʹऔΓΜͰ΄͍͠ɾɾɾ →What do i say??
ͬͺ༷ॻͱςϨϏձ͚ٞͩ͡Όμϝ →What do i say?? A. ݁ՌਓੜॳͷϑΟϦϐϯग़ுɻ ͲΜͳʹ͕Μͬͯߟ͑ͯ݁ہߦ͔ͬͯ͢͠ͳ͍ɻ ର໘Ͱ͞ͳ͍ͱʢӳޠͩ͠ʣχϡΞϯεԹײ
ΘΒͳ͍ɻ
·ͱΊ • ΤϯδχΞ͕ϓϩμΫτΛߟ͑ΔʹԿࣄ KPIπϦʔϕʔεͰମݧΛཧ͢Δͷ͕͓͢͢Ί • ԕͯ͘ߦ͜͏ɺϑΟϦϐϯ
͍ΖΜͳ৬छ༻ҙ͍ͯ͠·͢ɺ͝Ԡื͓͓ͪͯ͠Γ·͢ IUUQTXXXXBOUFEMZDPNDPNQBOJFTSBSFKPCQSPKFDUT “ฐࣾਓɺΓͯ·ͤry)”