When you want to talk to someone, where do you turn? Skype? Slack or HipChat? Maybe even an old-fashioned telephone? As great (or not) as these are, they all fail in one important way: Context. As developers, why don’t we enable our users to communicate where they are doing everything else, right inside the browser or mobile app The technology to create contextual communications is evolving quickly with exciting technologies like WebRTC. This talk is about how to use WebRTC with Rails to enhance almost any application with voice, video & text. We will cover some of the ways communications can be best employed, including design considerations, as well as available Open Source projects. We will feature a recently released Rails Engine called Talking Stick that makes adding WebRTC to any Rails app a snap.
8. CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS
•Javascript access to Camera and Mic
4
9. CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS
•Javascript access to Camera and Mic
•High Quality Video & Audio Codecs
4
10. CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS
•Javascript access to Camera and Mic
•High Quality Video & Audio Codecs
•Techniques for traversing NAT
4
11. CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS
•Javascript access to Camera and Mic
•High Quality Video & Audio Codecs
•Techniques for traversing NAT
•Peer-to-Peer
4
12. CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS
•Javascript access to Camera and Mic
•High Quality Video & Audio Codecs
•Techniques for traversing NAT
•Peer-to-Peer
•A Data Channel
4
13. CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS
•Javascript access to Camera and Mic
•High Quality Video & Audio Codecs
•Techniques for traversing NAT
•Peer-to-Peer
•A Data Channel
•A Tool for Developers
4
15. CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS NOT
•…a Polished, End-User-Ready Product
5
16. CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS NOT
•…a Polished, End-User-Ready Product
•…the same thing to every application
5
17. CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS NOT
•…a Polished, End-User-Ready Product
•…the same thing to every application
•…required to interop…but may
5
18. CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS NOT
•…a Polished, End-User-Ready Product
•…the same thing to every application
•…required to interop…but may
•…finished.
5
19. CAN YOU SPEAK MAGIC?
WHAT WEBRTC IS NOT
•…a Polished, End-User-Ready Product
•…the same thing to every application
•…required to interop…but may
•…finished.
5
But don’t sweat it
37. CAN YOU SPEAK MAGIC?
14
Signaling
STUN & TURN
NAT Traversal
38. CAN YOU SPEAK MAGIC?
14
Signaling
STUN & TURN
SFU or MCU
NAT Traversal
Larger Multiparty
Video Conferences
39. CAN YOU SPEAK MAGIC?
14
Signaling
Recording
Conferencing
PSTN Gateway
STUN & TURN
SFU or MCU
NAT Traversal
Larger Multiparty
Video Conferences
Media Server
42. CAN YOU SPEAK MAGIC?
WEBRTC SIGNALING
•Can be anything you like
16
43. CAN YOU SPEAK MAGIC?
WEBRTC SIGNALING
•Can be anything you like
16
44. CAN YOU SPEAK MAGIC?
WEBRTC SIGNALING
•Can be anything you like
16
45. CAN YOU SPEAK MAGIC?
WEBRTC SIGNALING
•Can be anything you like
16
46. CAN YOU SPEAK MAGIC?
WEBRTC SIGNALING
•Can be anything you like
16
47. CAN YOU SPEAK MAGIC?
WEBRTC SIGNALING
•Can be anything you like
•Select based on application
requirements
16
48. CAN YOU SPEAK MAGIC?
WEBRTC SIGNALING
•Can be anything you like
•Select based on application
requirements
•Integrate with existing comms
or greenfield?
16
49. CAN YOU SPEAK MAGIC?
WEBRTC SIGNALING
•Can be anything you like
•Select based on application
requirements
•Integrate with existing comms
or greenfield?
•Federate? Or Not?
16
50. CAN YOU SPEAK MAGIC?
WEBRTC SIGNALING
•Can be anything you like
•Select based on application
requirements
•Integrate with existing comms
or greenfield?
•Federate? Or Not?
•Anonymous, Social,
or Legal Identities?
16
51. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
17
52. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
17
Alice
53. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
17
Alice Bob
54. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
17
H
aveBob
callm
ehere!
SDP:
v=0o=alice20518
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio54609
RTP/SAVPF
109
Alice Bob
55. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
17
H
aveBob
callm
ehere!
SDP:
v=0o=alice20518
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio54609
RTP/SAVPF
109
Alice Bob
56. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
17
H
aveBob
callm
ehere!
SDP:
v=0o=alice20518
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio54609
RTP/SAVPF
109
Bob
is
at:
SDP:
v=0o=bob
19915
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio
61001
RTP/SAV
PF
109
Alice Bob
57. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
17
H
aveBob
callm
ehere!
SDP:
v=0o=alice20518
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio54609
RTP/SAVPF
109
Bob
is
at:
SDP:
v=0o=bob
19915
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio
61001
RTP/SAV
PF
109
Alice Bob
58. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
17
H
aveBob
callm
ehere!
SDP:
v=0o=alice20518
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio54609
RTP/SAVPF
109
Bob
is
at:
SDP:
v=0o=bob
19915
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio
61001
RTP/SAV
PF
109
Alice Bob
59. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
17
H
aveBob
callm
ehere!
SDP:
v=0o=alice20518
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio54609
RTP/SAVPF
109
Bob
is
at:
SDP:
v=0o=bob
19915
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio
61001
RTP/SAV
PF
109
Alice Bob
61. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
19
Alice Bob
H
aveBob
callm
ehere!
SDP:
v=0o=alice20518
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio54609
RTP/SAVPF
109
Bob
is
at:
SDP:
v=0o=bob
19915
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio
61001
RTP/SAV
PF
109
62. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
19
Alice Bob
SRTP
SRTP
H
aveBob
callm
ehere!
SDP:
v=0o=alice20518
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio54609
RTP/SAVPF
109
Bob
is
at:
SDP:
v=0o=bob
19915
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio
61001
RTP/SAV
PF
109
63. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
19
Alice Bob
SRTP
SRTP
H
aveBob
callm
ehere!
SDP:
v=0o=alice20518
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio54609
RTP/SAVPF
109
Bob
is
at:
SDP:
v=0o=bob
19915
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio
61001
RTP/SAV
PF
109
64. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
19
Alice Bob
SRTP
SRTP
X
H
aveBob
callm
ehere!
SDP:
v=0o=alice20518
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio54609
RTP/SAVPF
109
Bob
is
at:
SDP:
v=0o=bob
19915
0
IN
IP4
0.0.0.0
s=-t=0
0m
=audio
61001
RTP/SAV
PF
109
65. CAN YOU SPEAK MAGIC?
20
Designing
Communications Apps
87. CAN YOU SPEAK MAGIC?
•Start with Chat
BEING FLUID
25
88. CAN YOU SPEAK MAGIC?
•Start with Chat
•Add audio
BEING FLUID
25
89. CAN YOU SPEAK MAGIC?
•Start with Chat
•Add audio
•Invite more participants
BEING FLUID
25
90. CAN YOU SPEAK MAGIC?
•Start with Chat
•Add audio
•Invite more participants
•Upgrade to video
BEING FLUID
25
91. CAN YOU SPEAK MAGIC?
•Start with Chat
•Add audio
•Invite more participants
•Upgrade to video
•Downgrade back to Chat
BEING FLUID
25
92. CAN YOU SPEAK MAGIC?
•Start with Chat
•Add audio
•Invite more participants
•Upgrade to video
•Downgrade back to Chat
•Switch devices and continue
BEING FLUID
25
94. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
“Communicating isn’t going
to be what you’re doing -
it’s what you’ll be doing
while you’re doing
something else”
- Geoff Hollingworth
Ericsson Head of AT&T Foundry
27
95. CAN YOU SPEAK MAGIC?
28
How many sales reps
are still in homes?
How much have we sold
so far this month?
How many callers
are in the queue
right now?
Add my manager to this call
When is the next
available appointment?
BEING CONTEXTUAL
98. CAN YOU SPEAK MAGIC?
TRUSTWORTHY
•Don't surprise the user!
30
99. CAN YOU SPEAK MAGIC?
TRUSTWORTHY
•Don't surprise the user!
•User data stays property of user
30
100. CAN YOU SPEAK MAGIC?
TRUSTWORTHY
•Don't surprise the user!
•User data stays property of user
•Help users make smart choices where
required (with sane defaults)
30
101. CAN YOU SPEAK MAGIC?
TRUSTWORTHY
•Don't surprise the user!
•User data stays property of user
•Help users make smart choices where
required (with sane defaults)
•Asserted identity should be
user-centric and strong
30
104. CAN YOU SPEAK MAGIC?
REFERENCEABILITY
•Make Interactions Shareable
32
105. CAN YOU SPEAK MAGIC?
REFERENCEABILITY
•Make Interactions Shareable
•Every conversation has a URL that:
32
106. CAN YOU SPEAK MAGIC?
REFERENCEABILITY
•Make Interactions Shareable
•Every conversation has a URL that:
•Is permanent & unique
32
107. CAN YOU SPEAK MAGIC?
REFERENCEABILITY
•Make Interactions Shareable
•Every conversation has a URL that:
•Is permanent & unique
•Represents the latest state of the communication or
request
32
108. CAN YOU SPEAK MAGIC?
REFERENCEABILITY
•Make Interactions Shareable
•Every conversation has a URL that:
•Is permanent & unique
•Represents the latest state of the communication or
request
•May contain content alternatives: recording +
transcription + annotation
32
109. CAN YOU SPEAK MAGIC?
REFERENCEABILITY
•Make Interactions Shareable
•Every conversation has a URL that:
•Is permanent & unique
•Represents the latest state of the communication or
request
•May contain content alternatives: recording +
transcription + annotation
•Is searchable & downloadable
32
110. CAN YOU SPEAK MAGIC?
REFERENCEABILITY
•Make Interactions Shareable
•Every conversation has a URL that:
•Is permanent & unique
•Represents the latest state of the communication or
request
•May contain content alternatives: recording +
transcription + annotation
•Is searchable & downloadable
•Can be shared (respecting privacy limits)
32
112. CAN YOU SPEAK MAGIC?
33
What Should We Build?
3 Ideas
113. CAN YOU SPEAK MAGIC?
1. Contextual, Remote
Job Interviews
34
114. CAN YOU SPEAK MAGIC?
35
http://interview.example
Interview Me
Katharine Klang
115. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
JOB INTERVIEW APP
36
116. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
JOB INTERVIEW APP
•Self Service
36
117. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
JOB INTERVIEW APP
•Self Service
•Candidate signs up, uploads résumé
36
118. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
JOB INTERVIEW APP
•Self Service
•Candidate signs up, uploads résumé
•Easy timeslot scheduling
36
119. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
JOB INTERVIEW APP
•Self Service
•Candidate signs up, uploads résumé
•Easy timeslot scheduling
•No exchange of phone numbers or Skype names -
works on any device
36
120. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
JOB INTERVIEW APP
•Self Service
•Candidate signs up, uploads résumé
•Easy timeslot scheduling
•No exchange of phone numbers or Skype names -
works on any device
•Contextual Interviews
36
121. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
JOB INTERVIEW APP
•Self Service
•Candidate signs up, uploads résumé
•Easy timeslot scheduling
•No exchange of phone numbers or Skype names -
works on any device
•Contextual Interviews
•Text chat alongside video conversation
36
122. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
JOB INTERVIEW APP
•Self Service
•Candidate signs up, uploads résumé
•Easy timeslot scheduling
•No exchange of phone numbers or Skype names -
works on any device
•Contextual Interviews
•Text chat alongside video conversation
•See resume next to candidate
36
123. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
JOB INTERVIEW APP
•Self Service
•Candidate signs up, uploads résumé
•Easy timeslot scheduling
•No exchange of phone numbers or Skype names -
works on any device
•Contextual Interviews
•Text chat alongside video conversation
•See resume next to candidate
•Track and save notes during interview
36
124. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
JOB INTERVIEW APP
•Self Service
•Candidate signs up, uploads résumé
•Easy timeslot scheduling
•No exchange of phone numbers or Skype names -
works on any device
•Contextual Interviews
•Text chat alongside video conversation
•See resume next to candidate
•Track and save notes during interview
•Record and share interviewee responses
36
127. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
INCIDENT RESPONSE
39
128. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
INCIDENT RESPONSE
•Timely, Contextual Information
39
129. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
INCIDENT RESPONSE
•Timely, Contextual Information
•Adapt for mobile vs. desktop
39
130. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
INCIDENT RESPONSE
•Timely, Contextual Information
•Adapt for mobile vs. desktop
•Group-based communication
39
131. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
INCIDENT RESPONSE
•Timely, Contextual Information
•Adapt for mobile vs. desktop
•Group-based communication
•Inherit from existing organization groups
39
132. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
INCIDENT RESPONSE
•Timely, Contextual Information
•Adapt for mobile vs. desktop
•Group-based communication
•Inherit from existing organization groups
•Allow ad-hoc participants (guests)
39
133. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
INCIDENT RESPONSE
•Timely, Contextual Information
•Adapt for mobile vs. desktop
•Group-based communication
•Inherit from existing organization groups
•Allow ad-hoc participants (guests)
•Federate with external services
39
134. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
INCIDENT RESPONSE
•Timely, Contextual Information
•Adapt for mobile vs. desktop
•Group-based communication
•Inherit from existing organization groups
•Allow ad-hoc participants (guests)
•Federate with external services
•Incident recording/logging
39
135. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
INCIDENT RESPONSE
•Timely, Contextual Information
•Adapt for mobile vs. desktop
•Group-based communication
•Inherit from existing organization groups
•Allow ad-hoc participants (guests)
•Federate with external services
•Incident recording/logging
•“Lessons learned” and process improvement
39
136. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
INCIDENT RESPONSE
•Timely, Contextual Information
•Adapt for mobile vs. desktop
•Group-based communication
•Inherit from existing organization groups
•Allow ad-hoc participants (guests)
•Federate with external services
•Incident recording/logging
•“Lessons learned” and process improvement
•Links from/to issue tracking systems
39
137. CAN YOU SPEAK MAGIC?
3. Medical Records
Patient Services
40
139. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
MEDICAL ADVICE/HISTORY
42
140. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
MEDICAL ADVICE/HISTORY
42
141. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
MEDICAL ADVICE/HISTORY
•Secure Caller Authentication
42
142. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
MEDICAL ADVICE/HISTORY
•Secure Caller Authentication
•Reuse primary auth via website
42
143. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
MEDICAL ADVICE/HISTORY
•Secure Caller Authentication
•Reuse primary auth via website
•Verify with voice biometrics
42
144. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
MEDICAL ADVICE/HISTORY
•Secure Caller Authentication
•Reuse primary auth via website
•Verify with voice biometrics
•Cross-check against caller location
42
145. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
MEDICAL ADVICE/HISTORY
•Secure Caller Authentication
•Reuse primary auth via website
•Verify with voice biometrics
•Cross-check against caller location
•Automate Medical Claims
42
146. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
MEDICAL ADVICE/HISTORY
•Secure Caller Authentication
•Reuse primary auth via website
•Verify with voice biometrics
•Cross-check against caller location
•Automate Medical Claims
•Call recording/transcription
42
147. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
MEDICAL ADVICE/HISTORY
•Secure Caller Authentication
•Reuse primary auth via website
•Verify with voice biometrics
•Cross-check against caller location
•Automate Medical Claims
•Call recording/transcription
•Medical advice given to patient automatically
added to patient file
42
148. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
MEDICAL ADVICE/HISTORY
•Secure Caller Authentication
•Reuse primary auth via website
•Verify with voice biometrics
•Cross-check against caller location
•Automate Medical Claims
•Call recording/transcription
•Medical advice given to patient automatically
added to patient file
•Easy Auditing/Service Quality Assurance
42