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
2.1k
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
590
20200115_skyway_ug_6
jumbo_ken
0
540
サブスクミートアップ2.pdf
jumbo_ken
0
900
20180614_AppsJapan
jumbo_ken
1
460
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
6.3k
Other Decks in Programming
See All in Programming
ノイジーネイバー問題を解決する 公平なキューイング
occhi
0
110
Package Management Learnings from Homebrew
mikemcquaid
0
230
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1.7k
CSC307 Lecture 07
javiergs
PRO
1
560
並行開発のためのコードレビュー
miyukiw
1
1.3k
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
1k
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
230
Fluid Templating in TYPO3 14
s2b
0
130
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
140
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
210
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
120
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
180
Featured
See All Featured
Mind Mapping
helmedeiros
PRO
0
90
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Are puppies a ranking factor?
jonoalderson
1
2.7k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
440
Making the Leap to Tech Lead
cromwellryan
135
9.7k
How to build a perfect <img>
jonoalderson
1
4.9k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.4k
The Limits of Empathy - UXLibs8
cassininazir
1
220
Color Theory Basics | Prateek | Gurzu
gurzu
0
200
Facilitating Awesome Meetings
lara
57
6.8k
How to train your dragon (web standard)
notwaldorf
97
6.5k
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)”