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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Ken Jumbo Haneda
November 08, 2017
Programming
2.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
WebRTCで実現する次世代英会話と旧世代式開発手法
エンジニアの力でサービス・組織をスケール化させるには?〜Web現場MeetUP #2 〜
Ken Jumbo Haneda
November 08, 2017
More Decks by Ken Jumbo Haneda
See All by Ken Jumbo Haneda
Vue.jsのない会社にVue.jsを入れていく
jumbo_ken
0
600
20200115_skyway_ug_6
jumbo_ken
0
560
サブスクミートアップ2.pdf
jumbo_ken
0
910
20180614_AppsJapan
jumbo_ken
1
480
WebRTCリリースで辛かったこと
jumbo_ken
2
1.6k
アプリを作ってて気づいた、 教育サービスの難しいところ
jumbo_ken
1
1.6k
bonfire android #2
jumbo_ken
1
1.1k
iOSでのSkyWay開発の勘所とTips (リリース後・新SDK編)
jumbo_ken
0
6k
両OSやるマンという選択
jumbo_ken
9
6.4k
Other Decks in Programming
See All in Programming
dRuby over BLE
makicamel
2
380
技術的負債解消で開発者の未来を開く- AIの力でコード刷新
kmd2kmd
0
100
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
180
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
120
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
13k
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
270
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.3k
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
360
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
170
Lessons from Spec-Driven Development
simas
PRO
0
210
A2UI という光を覗いてみる
satohjohn
1
140
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.3k
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
4 Signs Your Business is Dying
shpigford
187
22k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
410
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
420
Agile that works and the tools we love
rasmusluckow
331
21k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The SEO Collaboration Effect
kristinabergwall1
1
490
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Are puppies a ranking factor?
jonoalderson
1
3.6k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
250
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)”