SlideShare a Scribd company logo
1 of 134
Download to read offline
Putting Real-Time
Voice, Video and Text
into Rails
Now Hear This!
CAN YOU SPEAK MAGIC?
2
Ben Klang
A city well known for our fine airport, and that sacred elixir we call Coca Cola
CAN YOU SPEAK MAGIC?
2
Ben Klang
A city well known for our fine airport, and that sacred elixir we call Coca Cola
CAN YOU SPEAK MAGIC?
2
Ben Klang
A city well known for our fine airport, and that sacred elixir we call Coca Cola
CAN YOU SPEAK MAGIC?
2
Ben Klang
A city well known for our fine airport, and that sacred elixir we call Coca Cola
CAN YOU SPEAK MAGIC?
3
The web today is a lot like outer space
CAN YOU SPEAK MAGIC?
4
On the web, no one can hear you scream
CAN YOU SPEAK MAGIC?
5
The scenario: you’re busy at work, working from home in your corp web application, and you decide you need to speak to a co-worker to answer a question.

Lose context: have to explain what you are looking at and limited ability to invite additional participants

Record of communication not made a part of the app
CAN YOU SPEAK MAGIC?
5
The scenario: you’re busy at work, working from home in your corp web application, and you decide you need to speak to a co-worker to answer a question.

Lose context: have to explain what you are looking at and limited ability to invite additional participants

Record of communication not made a part of the app
CAN YOU SPEAK MAGIC?
6
Web RTC
CAN YOU SPEAK MAGIC?
6
Web RTC
CAN YOU SPEAK MAGIC?
6
Web RTC
CAN YOU SPEAK MAGIC?
6
Web RTC
CAN YOU SPEAK MAGIC?
WHAT IS WEBRTC?
7
CAN YOU SPEAK MAGIC?
WHAT IS WEBRTC?
•Use Camera & Microphone without plugins
7
CAN YOU SPEAK MAGIC?
WHAT IS WEBRTC?
•Use Camera & Microphone without plugins
•Setup peer-to-peer connectivity, 2+ people
7
CAN YOU SPEAK MAGIC?
WHAT IS WEBRTC?
•Use Camera & Microphone without plugins
•Setup peer-to-peer connectivity, 2+ people
•Common codecs for transmitting high-
definition media in real-time
7
CAN YOU SPEAK MAGIC?
WHAT IS WEBRTC?
8
CAN YOU SPEAK MAGIC?
WHAT IS WEBRTC?
•JavaScript Browser API

for real-time communication

(voice & video)
8
CAN YOU SPEAK MAGIC?
WHAT IS WEBRTC?
•JavaScript Browser API

for real-time communication

(voice & video)
•Standards for interoperability
8
CAN YOU SPEAK MAGIC?
WHAT IS WEBRTC?
•JavaScript Browser API

for real-time communication

(voice & video)
•Standards for interoperability
•Opus, G.711, H.264/VP8
8
CAN YOU SPEAK MAGIC?
WHAT IS WEBRTC?
•JavaScript Browser API

for real-time communication

(voice & video)
•Standards for interoperability
•Opus, G.711, H.264/VP8
•SDP
8
CAN YOU SPEAK MAGIC?
WHAT IS WEBRTC?
•JavaScript Browser API

for real-time communication

(voice & video)
•Standards for interoperability
•Opus, G.711, H.264/VP8
•SDP
•ICE/STUN/TURN
8
CAN YOU SPEAK MAGIC?
WHAT IS WEBRTC?
•JavaScript Browser API

for real-time communication

(voice & video)
•Standards for interoperability
•Opus, G.711, H.264/VP8
•SDP
•ICE/STUN/TURN
•DTLS-SRTP
8
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
WHAT IS WEBRTC TO ME?
9
Telephones in Web Browsers!
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
WHAT IS WEBRTC TO ME?
9
Telephones in Web Browsers!
X
Communication
CAN YOU SPEAK MAGIC?
10
CAN YOU SPEAK MAGIC?
11
Communication
Topology
CAN YOU SPEAK MAGIC?
12
Alice
Bob
The Trapezoid
This gives phone companies a lot of control: 

Your identity (phone number)

Features available had to be common across carriers (stifled innovation)

Provides a point of intercept (NSA)

Communications are completely divorced from the function they serve
CAN YOU SPEAK MAGIC?
13
Alice Bob
The Triangle
Identity is better

Feature set is better

Still a common point of intercept

Still not very contextual
CAN YOU SPEAK MAGIC?
14
The WebRTC TriangleAlice Bob
Signaling
Media
CAN YOU SPEAK MAGIC?
14
The WebRTC TriangleAlice Bob
Signaling
Media
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
15
http://
When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
15
http://
Alice
When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
15
http://
Alice Bob
When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
15
http://
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
When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
15
http://
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
When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
15
http://
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
When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
15
http://
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
When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
15
http://
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
When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
15
http://
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
When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
15
http://
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
SRTP
SRTP
When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
15
http://
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
SRTP
SRTP
When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
15
http://
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
SRTP
SRTP
X
When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
15
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
SRTP
SRTP
X
When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
15
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
SRTP
SRTP
X
When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
CAN YOU SPEAK MAGIC?
16
Designing
Communications Apps
That’s enough about the plumbing
CAN YOU SPEAK MAGIC?
THE FIVE TENETS
17
Adaptive: Can use multiple channels; Still useful if any of the channels are missing

Fluid: Can add or remove channels on demand

Reference-able: Conversations can be stored and shared later via URL, with appropriate security

Contextual: Communicating isn’t what you’re doing; it’s what you’re doing while you’re doing something else.
CAN YOU SPEAK MAGIC?
THE FIVE TENETS
17
A Modern Voice Application
should be…
Adaptive: Can use multiple channels; Still useful if any of the channels are missing

Fluid: Can add or remove channels on demand

Reference-able: Conversations can be stored and shared later via URL, with appropriate security

Contextual: Communicating isn’t what you’re doing; it’s what you’re doing while you’re doing something else.
CAN YOU SPEAK MAGIC?
THE FIVE TENETS
•Adaptive
17
A Modern Voice Application
should be…
Adaptive: Can use multiple channels; Still useful if any of the channels are missing

Fluid: Can add or remove channels on demand

Reference-able: Conversations can be stored and shared later via URL, with appropriate security

Contextual: Communicating isn’t what you’re doing; it’s what you’re doing while you’re doing something else.
CAN YOU SPEAK MAGIC?
THE FIVE TENETS
•Adaptive
•Fluid
17
A Modern Voice Application
should be…
Adaptive: Can use multiple channels; Still useful if any of the channels are missing

Fluid: Can add or remove channels on demand

Reference-able: Conversations can be stored and shared later via URL, with appropriate security

Contextual: Communicating isn’t what you’re doing; it’s what you’re doing while you’re doing something else.
CAN YOU SPEAK MAGIC?
THE FIVE TENETS
•Adaptive
•Fluid
•Contextual
17
A Modern Voice Application
should be…
Adaptive: Can use multiple channels; Still useful if any of the channels are missing

Fluid: Can add or remove channels on demand

Reference-able: Conversations can be stored and shared later via URL, with appropriate security

Contextual: Communicating isn’t what you’re doing; it’s what you’re doing while you’re doing something else.
CAN YOU SPEAK MAGIC?
THE FIVE TENETS
•Adaptive
•Fluid
•Contextual
•Trustworthy
17
A Modern Voice Application
should be…
Adaptive: Can use multiple channels; Still useful if any of the channels are missing

Fluid: Can add or remove channels on demand

Reference-able: Conversations can be stored and shared later via URL, with appropriate security

Contextual: Communicating isn’t what you’re doing; it’s what you’re doing while you’re doing something else.
CAN YOU SPEAK MAGIC?
THE FIVE TENETS
•Adaptive
•Fluid
•Contextual
•Trustworthy
•Reference-able
17
A Modern Voice Application
should be…
Adaptive: Can use multiple channels; Still useful if any of the channels are missing

Fluid: Can add or remove channels on demand

Reference-able: Conversations can be stored and shared later via URL, with appropriate security

Contextual: Communicating isn’t what you’re doing; it’s what you’re doing while you’re doing something else.
CAN YOU SPEAK MAGIC?
18
Adaptive
CAN YOU SPEAK MAGIC?
BEING ADAPTIVE
19
Alice joins via browser: gets full experience, chat, wideband voice, hi-def video, visuals

Bob joins via tablet: gets same as above thanks to mobile web, but can’t send video because his browser doesn’t support WebRTC yet??

Charlie joins via smartphone: gets same as above, except no video at all because he has reduced bandwidth or a low battery

Douglas joins via landline, because he’s backward and he really like his desk phone - maybe even get audio hints of text chat?

Edward also joins via browser, but has a sleeping baby, so he only listens to the audio and talks via chat
CAN YOU SPEAK MAGIC?
BEING ADAPTIVE
19
Alice joins via browser: gets full experience, chat, wideband voice, hi-def video, visuals

Bob joins via tablet: gets same as above thanks to mobile web, but can’t send video because his browser doesn’t support WebRTC yet??

Charlie joins via smartphone: gets same as above, except no video at all because he has reduced bandwidth or a low battery

Douglas joins via landline, because he’s backward and he really like his desk phone - maybe even get audio hints of text chat?

Edward also joins via browser, but has a sleeping baby, so he only listens to the audio and talks via chat
CAN YOU SPEAK MAGIC?
BEING ADAPTIVE
19
Alice joins via browser: gets full experience, chat, wideband voice, hi-def video, visuals

Bob joins via tablet: gets same as above thanks to mobile web, but can’t send video because his browser doesn’t support WebRTC yet??

Charlie joins via smartphone: gets same as above, except no video at all because he has reduced bandwidth or a low battery

Douglas joins via landline, because he’s backward and he really like his desk phone - maybe even get audio hints of text chat?

Edward also joins via browser, but has a sleeping baby, so he only listens to the audio and talks via chat
CAN YOU SPEAK MAGIC?
BEING ADAPTIVE
19
Alice joins via browser: gets full experience, chat, wideband voice, hi-def video, visuals

Bob joins via tablet: gets same as above thanks to mobile web, but can’t send video because his browser doesn’t support WebRTC yet??

Charlie joins via smartphone: gets same as above, except no video at all because he has reduced bandwidth or a low battery

Douglas joins via landline, because he’s backward and he really like his desk phone - maybe even get audio hints of text chat?

Edward also joins via browser, but has a sleeping baby, so he only listens to the audio and talks via chat
CAN YOU SPEAK MAGIC?
BEING ADAPTIVE
19
Alice joins via browser: gets full experience, chat, wideband voice, hi-def video, visuals

Bob joins via tablet: gets same as above thanks to mobile web, but can’t send video because his browser doesn’t support WebRTC yet??

Charlie joins via smartphone: gets same as above, except no video at all because he has reduced bandwidth or a low battery

Douglas joins via landline, because he’s backward and he really like his desk phone - maybe even get audio hints of text chat?

Edward also joins via browser, but has a sleeping baby, so he only listens to the audio and talks via chat
CAN YOU SPEAK MAGIC?
BEING ADAPTIVE
19
Alice joins via browser: gets full experience, chat, wideband voice, hi-def video, visuals

Bob joins via tablet: gets same as above thanks to mobile web, but can’t send video because his browser doesn’t support WebRTC yet??

Charlie joins via smartphone: gets same as above, except no video at all because he has reduced bandwidth or a low battery

Douglas joins via landline, because he’s backward and he really like his desk phone - maybe even get audio hints of text chat?

Edward also joins via browser, but has a sleeping baby, so he only listens to the audio and talks via chat
CAN YOU SPEAK MAGIC?
BEING ADAPTIVE
19
Alice joins via browser: gets full experience, chat, wideband voice, hi-def video, visuals

Bob joins via tablet: gets same as above thanks to mobile web, but can’t send video because his browser doesn’t support WebRTC yet??

Charlie joins via smartphone: gets same as above, except no video at all because he has reduced bandwidth or a low battery

Douglas joins via landline, because he’s backward and he really like his desk phone - maybe even get audio hints of text chat?

Edward also joins via browser, but has a sleeping baby, so he only listens to the audio and talks via chat
CAN YOU SPEAK MAGIC?
BEING ADAPTIVE
19
Alice joins via browser: gets full experience, chat, wideband voice, hi-def video, visuals

Bob joins via tablet: gets same as above thanks to mobile web, but can’t send video because his browser doesn’t support WebRTC yet??

Charlie joins via smartphone: gets same as above, except no video at all because he has reduced bandwidth or a low battery

Douglas joins via landline, because he’s backward and he really like his desk phone - maybe even get audio hints of text chat?

Edward also joins via browser, but has a sleeping baby, so he only listens to the audio and talks via chat
CAN YOU SPEAK MAGIC?
BEING ADAPTIVE
19
Alice joins via browser: gets full experience, chat, wideband voice, hi-def video, visuals

Bob joins via tablet: gets same as above thanks to mobile web, but can’t send video because his browser doesn’t support WebRTC yet??

Charlie joins via smartphone: gets same as above, except no video at all because he has reduced bandwidth or a low battery

Douglas joins via landline, because he’s backward and he really like his desk phone - maybe even get audio hints of text chat?

Edward also joins via browser, but has a sleeping baby, so he only listens to the audio and talks via chat
CAN YOU SPEAK MAGIC?
BEING ADAPTIVE
19
Alice joins via browser: gets full experience, chat, wideband voice, hi-def video, visuals

Bob joins via tablet: gets same as above thanks to mobile web, but can’t send video because his browser doesn’t support WebRTC yet??

Charlie joins via smartphone: gets same as above, except no video at all because he has reduced bandwidth or a low battery

Douglas joins via landline, because he’s backward and he really like his desk phone - maybe even get audio hints of text chat?

Edward also joins via browser, but has a sleeping baby, so he only listens to the audio and talks via chat
CAN YOU SPEAK MAGIC?
BEING ADAPTIVE
19
/
Alice joins via browser: gets full experience, chat, wideband voice, hi-def video, visuals

Bob joins via tablet: gets same as above thanks to mobile web, but can’t send video because his browser doesn’t support WebRTC yet??

Charlie joins via smartphone: gets same as above, except no video at all because he has reduced bandwidth or a low battery

Douglas joins via landline, because he’s backward and he really like his desk phone - maybe even get audio hints of text chat?

Edward also joins via browser, but has a sleeping baby, so he only listens to the audio and talks via chat
CAN YOU SPEAK MAGIC?
20
Fluid
CAN YOU SPEAK MAGIC?
BEING FLUID
21
Visual: text -> audio -> + people -> video -> text
CAN YOU SPEAK MAGIC?
•Start with Chat
BEING FLUID
21
Visual: text -> audio -> + people -> video -> text
CAN YOU SPEAK MAGIC?
•Start with Chat
•Add audio
BEING FLUID
21
Visual: text -> audio -> + people -> video -> text
CAN YOU SPEAK MAGIC?
•Start with Chat
•Add audio
•Invite more participants
BEING FLUID
21
Visual: text -> audio -> + people -> video -> text
CAN YOU SPEAK MAGIC?
•Start with Chat
•Add audio
•Invite more participants
•Upgrade to video
BEING FLUID
21
Visual: text -> audio -> + people -> video -> text
CAN YOU SPEAK MAGIC?
•Start with Chat
•Add audio
•Invite more participants
•Upgrade to video
•Downgrade back to Chat
BEING FLUID
21
Visual: text -> audio -> + people -> video -> text
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
21
Visual: text -> audio -> + people -> video -> text
CAN YOU SPEAK MAGIC?
22
Contextual
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
23
CAN YOU SPEAK MAGIC?
24
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
CAN YOU SPEAK MAGIC?
25
CAN YOU SPEAK MAGIC?
26
CAN YOU SPEAK MAGIC?
27
Trustworthy
CAN YOU SPEAK MAGIC?
TRUSTWORTHY
28
CAN YOU SPEAK MAGIC?
TRUSTWORTHY
•Don't surprise the user!
28
CAN YOU SPEAK MAGIC?
TRUSTWORTHY
•Don't surprise the user!
•Don't share the data with unexpected
recipients
28
CAN YOU SPEAK MAGIC?
TRUSTWORTHY
•Don't surprise the user!
•Don't share the data with unexpected
recipients
•Help users make smart choices where
required (with sane defaults)
28
CAN YOU SPEAK MAGIC?
TRUSTWORTHY
•Don't surprise the user!
•Don't share the data with unexpected
recipients
•Help users make smart choices where
required (with sane defaults)
•If identity is asserted, it should be user-
centric and strong
28
CAN YOU SPEAK MAGIC?
29
Reference-able
CAN YOU SPEAK MAGIC?
REFERENCEABILITY
30
All participants are invited to the chat via unique URL

This URL always contains the latest state of the chat, whether in-progress, idle, or archived

May provide enhanced features, such as downloadable copies of the text, audio or video, a summary of links or media shared, or even transcriptions of the conversation

Is searchable!
CAN YOU SPEAK MAGIC?
REFERENCEABILITY
•Make Interactions Shareable
30
All participants are invited to the chat via unique URL

This URL always contains the latest state of the chat, whether in-progress, idle, or archived

May provide enhanced features, such as downloadable copies of the text, audio or video, a summary of links or media shared, or even transcriptions of the conversation

Is searchable!
CAN YOU SPEAK MAGIC?
REFERENCEABILITY
•Make Interactions Shareable
•Every conversation has a URL that:
30
All participants are invited to the chat via unique URL

This URL always contains the latest state of the chat, whether in-progress, idle, or archived

May provide enhanced features, such as downloadable copies of the text, audio or video, a summary of links or media shared, or even transcriptions of the conversation

Is searchable!
CAN YOU SPEAK MAGIC?
REFERENCEABILITY
•Make Interactions Shareable
•Every conversation has a URL that:
•Is permanent & unique
30
All participants are invited to the chat via unique URL

This URL always contains the latest state of the chat, whether in-progress, idle, or archived

May provide enhanced features, such as downloadable copies of the text, audio or video, a summary of links or media shared, or even transcriptions of the conversation

Is searchable!
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
30
All participants are invited to the chat via unique URL

This URL always contains the latest state of the chat, whether in-progress, idle, or archived

May provide enhanced features, such as downloadable copies of the text, audio or video, a summary of links or media shared, or even transcriptions of the conversation

Is searchable!
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
30
All participants are invited to the chat via unique URL

This URL always contains the latest state of the chat, whether in-progress, idle, or archived

May provide enhanced features, such as downloadable copies of the text, audio or video, a summary of links or media shared, or even transcriptions of the conversation

Is searchable!
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
30
All participants are invited to the chat via unique URL

This URL always contains the latest state of the chat, whether in-progress, idle, or archived

May provide enhanced features, such as downloadable copies of the text, audio or video, a summary of links or media shared, or even transcriptions of the conversation

Is searchable!
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)
30
All participants are invited to the chat via unique URL

This URL always contains the latest state of the chat, whether in-progress, idle, or archived

May provide enhanced features, such as downloadable copies of the text, audio or video, a summary of links or media shared, or even transcriptions of the conversation

Is searchable!
CAN YOU SPEAK MAGIC?
31
What Should We Build?
CAN YOU SPEAK MAGIC?
31
What Should We Build?
3 Ideas
CAN YOU SPEAK MAGIC?
1. Live, Anonymous
Matchmaking
32
CAN YOU SPEAK MAGIC?
33
http://funnydate.com/have-a-chat
FunnyDate
FunnyDate
SHErlock
22
Female
Male
Oakdale
Books, Moustaches, Puzzles
Captain Beard
23
Male
Female
Springfield
Books, Moustaches, Puzzles
USERNAME
AGE
GENDER
SEEKING
CITY
MATCHING
INTERESTS
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
LIVE, ANONYMOUS DATING
34
FunnyDate
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
LIVE, ANONYMOUS DATING
•Safe Introductions
34
FunnyDate
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
LIVE, ANONYMOUS DATING
•Safe Introductions
•Strict anonymity
34
FunnyDate
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
LIVE, ANONYMOUS DATING
•Safe Introductions
•Strict anonymity
•No need to exchange

phone numbers
34
FunnyDate
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
LIVE, ANONYMOUS DATING
•Safe Introductions
•Strict anonymity
•No need to exchange

phone numbers
•Low friction interface

enables users to connect in real-time
34
FunnyDate
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
LIVE, ANONYMOUS DATING
•Safe Introductions
•Strict anonymity
•No need to exchange

phone numbers
•Low friction interface

enables users to connect in real-time
•Silly video tricks used to break the ice
34
FunnyDate
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
LIVE, ANONYMOUS DATING
•Safe Introductions
•Strict anonymity
•No need to exchange

phone numbers
•Low friction interface

enables users to connect in real-time
•Silly video tricks used to break the ice
•...or even add more anonymity
34
FunnyDate
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
LIVE, ANONYMOUS DATING
•Safe Introductions
•Strict anonymity
•No need to exchange

phone numbers
•Low friction interface

enables users to connect in real-time
•Silly video tricks used to break the ice
•...or even add more anonymity
•Upsell: Live language translation
34
FunnyDate
CAN YOU SPEAK MAGIC?
2. Incident Response App
35
CAN YOU SPEAK MAGIC?
36
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
INCIDENT RESPONSE
37
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
INCIDENT RESPONSE
•Timely, Contextual Information
37
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
INCIDENT RESPONSE
•Timely, Contextual Information
•Adapt for mobile vs. desktop
37
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
INCIDENT RESPONSE
•Timely, Contextual Information
•Adapt for mobile vs. desktop
•Group-based communication
37
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
37
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)
37
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
37
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
37
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
37
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
37
CAN YOU SPEAK MAGIC?
3. Medical Records
Patient Services
38
CAN YOU SPEAK MAGIC?
39
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
MEDICAL ADVICE/HISTORY
40
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
MEDICAL ADVICE/HISTORY
40
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
MEDICAL ADVICE/HISTORY
•Secure Caller Authentication
40
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
MEDICAL ADVICE/HISTORY
•Secure Caller Authentication
•Reuse primary auth via website
40
CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?
MEDICAL ADVICE/HISTORY
•Secure Caller Authentication
•Reuse primary auth via website
•Verify with voice biometrics
40
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
40
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
40
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
40
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
40
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
40
CAN YOU SPEAK MAGIC?
41
Demo Time
CAN YOU SPEAK MAGIC?
RESOURCES
•WebRTC
•http://webrtc.github.io/samples/
•http://www.webrtc.org/
•http://www.webrtcchallenge.com/
•Voice in Ruby
•http://www.adhearsion.com/
•https://github.com/benlangfeld/ruby_speech
•Ben Klang, Mojo Lingo
•@bklang
•bklang@mojolingo.com
42
CAN YOU SPEAK MAGIC?
RESOURCES
•WebRTC
•http://webrtc.github.io/samples/
•http://www.webrtc.org/
•http://www.webrtcchallenge.com/
•Voice in Ruby
•http://www.adhearsion.com/
•https://github.com/benlangfeld/ruby_speech
•Ben Klang, Mojo Lingo
•@bklang
•bklang@mojolingo.com
42
CAN YOU SPEAK MAGIC?
RESOURCES
•WebRTC
•http://webrtc.github.io/samples/
•http://www.webrtc.org/
•http://www.webrtcchallenge.com/
•Voice in Ruby
•http://www.adhearsion.com/
•https://github.com/benlangfeld/ruby_speech
•Ben Klang, Mojo Lingo
•@bklang
•bklang@mojolingo.com
42

More Related Content

Viewers also liked

안나수이향수
안나수이향수안나수이향수
안나수이향수
hjsoidjgo
 
China micro grid technology progress and prospects forecast report, 2013-2018
China micro grid technology progress and prospects forecast report, 2013-2018China micro grid technology progress and prospects forecast report, 2013-2018
China micro grid technology progress and prospects forecast report, 2013-2018
Qianzhan Intelligence
 
kemberling moreno
kemberling morenokemberling moreno
kemberling moreno
kemberling
 

Viewers also liked (12)

안나수이향수
안나수이향수안나수이향수
안나수이향수
 
Back To School Night 2014
Back To School Night 2014Back To School Night 2014
Back To School Night 2014
 
Ph slideshow for u of m lecture
Ph slideshow for u of m lecturePh slideshow for u of m lecture
Ph slideshow for u of m lecture
 
Neev capabilities in building video and live streaming apps
Neev capabilities in building video and live streaming appsNeev capabilities in building video and live streaming apps
Neev capabilities in building video and live streaming apps
 
Cs in actionn
Cs in actionnCs in actionn
Cs in actionn
 
The Joseph K. Heyman Scholarship for Economics Students
The Joseph K. Heyman Scholarship for Economics StudentsThe Joseph K. Heyman Scholarship for Economics Students
The Joseph K. Heyman Scholarship for Economics Students
 
Welding with ESAB's Warrior
Welding with ESAB's WarriorWelding with ESAB's Warrior
Welding with ESAB's Warrior
 
China micro grid technology progress and prospects forecast report, 2013-2018
China micro grid technology progress and prospects forecast report, 2013-2018China micro grid technology progress and prospects forecast report, 2013-2018
China micro grid technology progress and prospects forecast report, 2013-2018
 
Ganoderma lucidum (lingzhi ή reishi) βοτανοθεραπεία - ncbi βιβλιοθήκη
Ganoderma lucidum (lingzhi ή reishi)   βοτανοθεραπεία - ncbi βιβλιοθήκηGanoderma lucidum (lingzhi ή reishi)   βοτανοθεραπεία - ncbi βιβλιοθήκη
Ganoderma lucidum (lingzhi ή reishi) βοτανοθεραπεία - ncbi βιβλιοθήκη
 
China dental medical industry forward looking and investment strategy report,...
China dental medical industry forward looking and investment strategy report,...China dental medical industry forward looking and investment strategy report,...
China dental medical industry forward looking and investment strategy report,...
 
kemberling moreno
kemberling morenokemberling moreno
kemberling moreno
 
listing output program C
listing output program Clisting output program C
listing output program C
 

Similar to Now Hear This! Putting Voice, Video, and Text into Ruby on Rails

KazooCon 2014 - Kazoo Scalability
KazooCon 2014 - Kazoo ScalabilityKazooCon 2014 - Kazoo Scalability
KazooCon 2014 - Kazoo Scalability
2600Hz
 
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYCPractical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Alexandre Gouaillard
 

Similar to Now Hear This! Putting Voice, Video, and Text into Ruby on Rails (20)

AstriCon 2015: WebRTC: How it Works, and How it Breaks
AstriCon 2015: WebRTC: How it Works, and How it BreaksAstriCon 2015: WebRTC: How it Works, and How it Breaks
AstriCon 2015: WebRTC: How it Works, and How it Breaks
 
ConnectJS 2015: Video Killed the Telephone Star
ConnectJS 2015: Video Killed the Telephone StarConnectJS 2015: Video Killed the Telephone Star
ConnectJS 2015: Video Killed the Telephone Star
 
Speech-Enabling Web Apps
Speech-Enabling Web AppsSpeech-Enabling Web Apps
Speech-Enabling Web Apps
 
Telephony Through Ruby Colored Lenses
Telephony Through Ruby Colored LensesTelephony Through Ruby Colored Lenses
Telephony Through Ruby Colored Lenses
 
Future of Web Apps - Giving Customer Support using WebRTC
Future of Web Apps - Giving Customer Support using WebRTCFuture of Web Apps - Giving Customer Support using WebRTC
Future of Web Apps - Giving Customer Support using WebRTC
 
Twilio Signal 2016 Keynote
Twilio Signal 2016 Keynote Twilio Signal 2016 Keynote
Twilio Signal 2016 Keynote
 
Ccna
CcnaCcna
Ccna
 
WebRTC is [almost] here!
WebRTC is [almost] here!WebRTC is [almost] here!
WebRTC is [almost] here!
 
Twilio Signal 2016 Real-time Communications Overview
Twilio Signal 2016 Real-time Communications OverviewTwilio Signal 2016 Real-time Communications Overview
Twilio Signal 2016 Real-time Communications Overview
 
Adding IPv6 to the application layer
Adding IPv6 to the application layerAdding IPv6 to the application layer
Adding IPv6 to the application layer
 
FISL 15: Continuously serving the OSS community with Continuous Integration a...
FISL 15: Continuously serving the OSS community with Continuous Integration a...FISL 15: Continuously serving the OSS community with Continuous Integration a...
FISL 15: Continuously serving the OSS community with Continuous Integration a...
 
Continuously serving the OSS community with Continuous Integration and Delive...
Continuously serving the OSS community with Continuous Integration and Delive...Continuously serving the OSS community with Continuous Integration and Delive...
Continuously serving the OSS community with Continuous Integration and Delive...
 
KazooCon 2014 - Kazoo Scalability
KazooCon 2014 - Kazoo ScalabilityKazooCon 2014 - Kazoo Scalability
KazooCon 2014 - Kazoo Scalability
 
JanusCon - Building Native Mobile Apps with WebRTC
JanusCon - Building Native Mobile Apps with WebRTCJanusCon - Building Native Mobile Apps with WebRTC
JanusCon - Building Native Mobile Apps with WebRTC
 
An Unbiased Explanation of AV-over-IP
An Unbiased Explanation of AV-over-IPAn Unbiased Explanation of AV-over-IP
An Unbiased Explanation of AV-over-IP
 
We change our orientation to new, microservice architecture with DPS and HAL....
We change our orientation to new, microservice architecture with DPS and HAL....We change our orientation to new, microservice architecture with DPS and HAL....
We change our orientation to new, microservice architecture with DPS and HAL....
 
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYCPractical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
 
WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspective
 
Buildinga billionuserloadbalancer may2015-sre-con15europe-shuff
Buildinga billionuserloadbalancer may2015-sre-con15europe-shuffBuildinga billionuserloadbalancer may2015-sre-con15europe-shuff
Buildinga billionuserloadbalancer may2015-sre-con15europe-shuff
 
WebRTC 101
WebRTC 101WebRTC 101
WebRTC 101
 

More from Mojo Lingo

Infiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando RubyInfiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando Ruby
Mojo Lingo
 

More from Mojo Lingo (20)

FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In SightFreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
FreeSWITCH, FreeSWITCH Everywhere, and Not A Phone In Sight
 
Using Asterisk to Create "Her"
Using Asterisk to Create "Her"Using Asterisk to Create "Her"
Using Asterisk to Create "Her"
 
Tipping the Scales: Measuring and Scaling Asterisk
Tipping the Scales: Measuring and Scaling AsteriskTipping the Scales: Measuring and Scaling Asterisk
Tipping the Scales: Measuring and Scaling Asterisk
 
WebRTC Overview by Dan Burnett
WebRTC Overview by Dan BurnettWebRTC Overview by Dan Burnett
WebRTC Overview by Dan Burnett
 
AdhearsionConf 2013 Keynote
AdhearsionConf 2013 KeynoteAdhearsionConf 2013 Keynote
AdhearsionConf 2013 Keynote
 
WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013WebRTC: What? How? Why? - ClueCon 2013
WebRTC: What? How? Why? - ClueCon 2013
 
Infiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando RubyInfiltrando Telecoms Usando Ruby
Infiltrando Telecoms Usando Ruby
 
Enhancing FreePBX with Adhearsion
Enhancing FreePBX with AdhearsionEnhancing FreePBX with Adhearsion
Enhancing FreePBX with Adhearsion
 
Connecting Adhearsion
Connecting AdhearsionConnecting Adhearsion
Connecting Adhearsion
 
Testing Adhearsion Applications
Testing Adhearsion ApplicationsTesting Adhearsion Applications
Testing Adhearsion Applications
 
Testing Telephony: It's Not All Terrible
Testing Telephony: It's Not All TerribleTesting Telephony: It's Not All Terrible
Testing Telephony: It's Not All Terrible
 
Rayo for XMPP Folks
Rayo for XMPP FolksRayo for XMPP Folks
Rayo for XMPP Folks
 
Talking To Rails
Talking To RailsTalking To Rails
Talking To Rails
 
Building Real Life Applications with Adhearsion
Building Real Life Applications with AdhearsionBuilding Real Life Applications with Adhearsion
Building Real Life Applications with Adhearsion
 
Keeping It Realtime!
Keeping It Realtime!Keeping It Realtime!
Keeping It Realtime!
 
Integrating Voice Through Adhearsion
Integrating Voice Through AdhearsionIntegrating Voice Through Adhearsion
Integrating Voice Through Adhearsion
 
Infiltrating Telecoms Using Ruby
Infiltrating Telecoms Using RubyInfiltrating Telecoms Using Ruby
Infiltrating Telecoms Using Ruby
 
Voice Applications for the Modern Open Source Hacker
Voice Applications for the Modern Open Source HackerVoice Applications for the Modern Open Source Hacker
Voice Applications for the Modern Open Source Hacker
 
Multidextrous Voice Application Framework
Multidextrous Voice Application FrameworkMultidextrous Voice Application Framework
Multidextrous Voice Application Framework
 
Voice Applications with Adhearsion
Voice Applications with AdhearsionVoice Applications with Adhearsion
Voice Applications with Adhearsion
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Now Hear This! Putting Voice, Video, and Text into Ruby on Rails

  • 1. Putting Real-Time Voice, Video and Text into Rails Now Hear This!
  • 2. CAN YOU SPEAK MAGIC? 2 Ben Klang A city well known for our fine airport, and that sacred elixir we call Coca Cola
  • 3. CAN YOU SPEAK MAGIC? 2 Ben Klang A city well known for our fine airport, and that sacred elixir we call Coca Cola
  • 4. CAN YOU SPEAK MAGIC? 2 Ben Klang A city well known for our fine airport, and that sacred elixir we call Coca Cola
  • 5. CAN YOU SPEAK MAGIC? 2 Ben Klang A city well known for our fine airport, and that sacred elixir we call Coca Cola
  • 6. CAN YOU SPEAK MAGIC? 3 The web today is a lot like outer space
  • 7. CAN YOU SPEAK MAGIC? 4 On the web, no one can hear you scream
  • 8. CAN YOU SPEAK MAGIC? 5 The scenario: you’re busy at work, working from home in your corp web application, and you decide you need to speak to a co-worker to answer a question. Lose context: have to explain what you are looking at and limited ability to invite additional participants Record of communication not made a part of the app
  • 9. CAN YOU SPEAK MAGIC? 5 The scenario: you’re busy at work, working from home in your corp web application, and you decide you need to speak to a co-worker to answer a question. Lose context: have to explain what you are looking at and limited ability to invite additional participants Record of communication not made a part of the app
  • 10. CAN YOU SPEAK MAGIC? 6 Web RTC
  • 11. CAN YOU SPEAK MAGIC? 6 Web RTC
  • 12. CAN YOU SPEAK MAGIC? 6 Web RTC
  • 13. CAN YOU SPEAK MAGIC? 6 Web RTC
  • 14. CAN YOU SPEAK MAGIC? WHAT IS WEBRTC? 7
  • 15. CAN YOU SPEAK MAGIC? WHAT IS WEBRTC? •Use Camera & Microphone without plugins 7
  • 16. CAN YOU SPEAK MAGIC? WHAT IS WEBRTC? •Use Camera & Microphone without plugins •Setup peer-to-peer connectivity, 2+ people 7
  • 17. CAN YOU SPEAK MAGIC? WHAT IS WEBRTC? •Use Camera & Microphone without plugins •Setup peer-to-peer connectivity, 2+ people •Common codecs for transmitting high- definition media in real-time 7
  • 18. CAN YOU SPEAK MAGIC? WHAT IS WEBRTC? 8
  • 19. CAN YOU SPEAK MAGIC? WHAT IS WEBRTC? •JavaScript Browser API
 for real-time communication
 (voice & video) 8
  • 20. CAN YOU SPEAK MAGIC? WHAT IS WEBRTC? •JavaScript Browser API
 for real-time communication
 (voice & video) •Standards for interoperability 8
  • 21. CAN YOU SPEAK MAGIC? WHAT IS WEBRTC? •JavaScript Browser API
 for real-time communication
 (voice & video) •Standards for interoperability •Opus, G.711, H.264/VP8 8
  • 22. CAN YOU SPEAK MAGIC? WHAT IS WEBRTC? •JavaScript Browser API
 for real-time communication
 (voice & video) •Standards for interoperability •Opus, G.711, H.264/VP8 •SDP 8
  • 23. CAN YOU SPEAK MAGIC? WHAT IS WEBRTC? •JavaScript Browser API
 for real-time communication
 (voice & video) •Standards for interoperability •Opus, G.711, H.264/VP8 •SDP •ICE/STUN/TURN 8
  • 24. CAN YOU SPEAK MAGIC? WHAT IS WEBRTC? •JavaScript Browser API
 for real-time communication
 (voice & video) •Standards for interoperability •Opus, G.711, H.264/VP8 •SDP •ICE/STUN/TURN •DTLS-SRTP 8
  • 25. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? WHAT IS WEBRTC TO ME? 9 Telephones in Web Browsers!
  • 26. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? WHAT IS WEBRTC TO ME? 9 Telephones in Web Browsers! X Communication
  • 27. CAN YOU SPEAK MAGIC? 10
  • 28. CAN YOU SPEAK MAGIC? 11 Communication Topology
  • 29. CAN YOU SPEAK MAGIC? 12 Alice Bob The Trapezoid This gives phone companies a lot of control: Your identity (phone number) Features available had to be common across carriers (stifled innovation) Provides a point of intercept (NSA) Communications are completely divorced from the function they serve
  • 30. CAN YOU SPEAK MAGIC? 13 Alice Bob The Triangle Identity is better Feature set is better Still a common point of intercept Still not very contextual
  • 31. CAN YOU SPEAK MAGIC? 14 The WebRTC TriangleAlice Bob Signaling Media
  • 32. CAN YOU SPEAK MAGIC? 14 The WebRTC TriangleAlice Bob Signaling Media
  • 33. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 15 http:// When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
  • 34. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 15 http:// Alice When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
  • 35. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 15 http:// Alice Bob When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
  • 36. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 15 http:// 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 When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
  • 37. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 15 http:// 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 When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
  • 38. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 15 http:// 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 When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
  • 39. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 15 http:// 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 When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
  • 40. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 15 http:// 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 When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
  • 41. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 15 http:// 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 When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
  • 42. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 15 http:// 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 SRTP SRTP When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
  • 43. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 15 http:// 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 SRTP SRTP When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
  • 44. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 15 http:// 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 SRTP SRTP X When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
  • 45. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 15 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 SRTP SRTP X When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
  • 46. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? 15 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 SRTP SRTP X When people say that WebRTC does not mandate signaling, this is what they mean: the session setup is up to the application
  • 47. CAN YOU SPEAK MAGIC? 16 Designing Communications Apps That’s enough about the plumbing
  • 48. CAN YOU SPEAK MAGIC? THE FIVE TENETS 17 Adaptive: Can use multiple channels; Still useful if any of the channels are missing Fluid: Can add or remove channels on demand Reference-able: Conversations can be stored and shared later via URL, with appropriate security Contextual: Communicating isn’t what you’re doing; it’s what you’re doing while you’re doing something else.
  • 49. CAN YOU SPEAK MAGIC? THE FIVE TENETS 17 A Modern Voice Application should be… Adaptive: Can use multiple channels; Still useful if any of the channels are missing Fluid: Can add or remove channels on demand Reference-able: Conversations can be stored and shared later via URL, with appropriate security Contextual: Communicating isn’t what you’re doing; it’s what you’re doing while you’re doing something else.
  • 50. CAN YOU SPEAK MAGIC? THE FIVE TENETS •Adaptive 17 A Modern Voice Application should be… Adaptive: Can use multiple channels; Still useful if any of the channels are missing Fluid: Can add or remove channels on demand Reference-able: Conversations can be stored and shared later via URL, with appropriate security Contextual: Communicating isn’t what you’re doing; it’s what you’re doing while you’re doing something else.
  • 51. CAN YOU SPEAK MAGIC? THE FIVE TENETS •Adaptive •Fluid 17 A Modern Voice Application should be… Adaptive: Can use multiple channels; Still useful if any of the channels are missing Fluid: Can add or remove channels on demand Reference-able: Conversations can be stored and shared later via URL, with appropriate security Contextual: Communicating isn’t what you’re doing; it’s what you’re doing while you’re doing something else.
  • 52. CAN YOU SPEAK MAGIC? THE FIVE TENETS •Adaptive •Fluid •Contextual 17 A Modern Voice Application should be… Adaptive: Can use multiple channels; Still useful if any of the channels are missing Fluid: Can add or remove channels on demand Reference-able: Conversations can be stored and shared later via URL, with appropriate security Contextual: Communicating isn’t what you’re doing; it’s what you’re doing while you’re doing something else.
  • 53. CAN YOU SPEAK MAGIC? THE FIVE TENETS •Adaptive •Fluid •Contextual •Trustworthy 17 A Modern Voice Application should be… Adaptive: Can use multiple channels; Still useful if any of the channels are missing Fluid: Can add or remove channels on demand Reference-able: Conversations can be stored and shared later via URL, with appropriate security Contextual: Communicating isn’t what you’re doing; it’s what you’re doing while you’re doing something else.
  • 54. CAN YOU SPEAK MAGIC? THE FIVE TENETS •Adaptive •Fluid •Contextual •Trustworthy •Reference-able 17 A Modern Voice Application should be… Adaptive: Can use multiple channels; Still useful if any of the channels are missing Fluid: Can add or remove channels on demand Reference-able: Conversations can be stored and shared later via URL, with appropriate security Contextual: Communicating isn’t what you’re doing; it’s what you’re doing while you’re doing something else.
  • 55. CAN YOU SPEAK MAGIC? 18 Adaptive
  • 56. CAN YOU SPEAK MAGIC? BEING ADAPTIVE 19 Alice joins via browser: gets full experience, chat, wideband voice, hi-def video, visuals Bob joins via tablet: gets same as above thanks to mobile web, but can’t send video because his browser doesn’t support WebRTC yet?? Charlie joins via smartphone: gets same as above, except no video at all because he has reduced bandwidth or a low battery Douglas joins via landline, because he’s backward and he really like his desk phone - maybe even get audio hints of text chat? Edward also joins via browser, but has a sleeping baby, so he only listens to the audio and talks via chat
  • 57. CAN YOU SPEAK MAGIC? BEING ADAPTIVE 19 Alice joins via browser: gets full experience, chat, wideband voice, hi-def video, visuals Bob joins via tablet: gets same as above thanks to mobile web, but can’t send video because his browser doesn’t support WebRTC yet?? Charlie joins via smartphone: gets same as above, except no video at all because he has reduced bandwidth or a low battery Douglas joins via landline, because he’s backward and he really like his desk phone - maybe even get audio hints of text chat? Edward also joins via browser, but has a sleeping baby, so he only listens to the audio and talks via chat
  • 58. CAN YOU SPEAK MAGIC? BEING ADAPTIVE 19 Alice joins via browser: gets full experience, chat, wideband voice, hi-def video, visuals Bob joins via tablet: gets same as above thanks to mobile web, but can’t send video because his browser doesn’t support WebRTC yet?? Charlie joins via smartphone: gets same as above, except no video at all because he has reduced bandwidth or a low battery Douglas joins via landline, because he’s backward and he really like his desk phone - maybe even get audio hints of text chat? Edward also joins via browser, but has a sleeping baby, so he only listens to the audio and talks via chat
  • 59. CAN YOU SPEAK MAGIC? BEING ADAPTIVE 19 Alice joins via browser: gets full experience, chat, wideband voice, hi-def video, visuals Bob joins via tablet: gets same as above thanks to mobile web, but can’t send video because his browser doesn’t support WebRTC yet?? Charlie joins via smartphone: gets same as above, except no video at all because he has reduced bandwidth or a low battery Douglas joins via landline, because he’s backward and he really like his desk phone - maybe even get audio hints of text chat? Edward also joins via browser, but has a sleeping baby, so he only listens to the audio and talks via chat
  • 60. CAN YOU SPEAK MAGIC? BEING ADAPTIVE 19 Alice joins via browser: gets full experience, chat, wideband voice, hi-def video, visuals Bob joins via tablet: gets same as above thanks to mobile web, but can’t send video because his browser doesn’t support WebRTC yet?? Charlie joins via smartphone: gets same as above, except no video at all because he has reduced bandwidth or a low battery Douglas joins via landline, because he’s backward and he really like his desk phone - maybe even get audio hints of text chat? Edward also joins via browser, but has a sleeping baby, so he only listens to the audio and talks via chat
  • 61. CAN YOU SPEAK MAGIC? BEING ADAPTIVE 19 Alice joins via browser: gets full experience, chat, wideband voice, hi-def video, visuals Bob joins via tablet: gets same as above thanks to mobile web, but can’t send video because his browser doesn’t support WebRTC yet?? Charlie joins via smartphone: gets same as above, except no video at all because he has reduced bandwidth or a low battery Douglas joins via landline, because he’s backward and he really like his desk phone - maybe even get audio hints of text chat? Edward also joins via browser, but has a sleeping baby, so he only listens to the audio and talks via chat
  • 62. CAN YOU SPEAK MAGIC? BEING ADAPTIVE 19 Alice joins via browser: gets full experience, chat, wideband voice, hi-def video, visuals Bob joins via tablet: gets same as above thanks to mobile web, but can’t send video because his browser doesn’t support WebRTC yet?? Charlie joins via smartphone: gets same as above, except no video at all because he has reduced bandwidth or a low battery Douglas joins via landline, because he’s backward and he really like his desk phone - maybe even get audio hints of text chat? Edward also joins via browser, but has a sleeping baby, so he only listens to the audio and talks via chat
  • 63. CAN YOU SPEAK MAGIC? BEING ADAPTIVE 19 Alice joins via browser: gets full experience, chat, wideband voice, hi-def video, visuals Bob joins via tablet: gets same as above thanks to mobile web, but can’t send video because his browser doesn’t support WebRTC yet?? Charlie joins via smartphone: gets same as above, except no video at all because he has reduced bandwidth or a low battery Douglas joins via landline, because he’s backward and he really like his desk phone - maybe even get audio hints of text chat? Edward also joins via browser, but has a sleeping baby, so he only listens to the audio and talks via chat
  • 64. CAN YOU SPEAK MAGIC? BEING ADAPTIVE 19 Alice joins via browser: gets full experience, chat, wideband voice, hi-def video, visuals Bob joins via tablet: gets same as above thanks to mobile web, but can’t send video because his browser doesn’t support WebRTC yet?? Charlie joins via smartphone: gets same as above, except no video at all because he has reduced bandwidth or a low battery Douglas joins via landline, because he’s backward and he really like his desk phone - maybe even get audio hints of text chat? Edward also joins via browser, but has a sleeping baby, so he only listens to the audio and talks via chat
  • 65. CAN YOU SPEAK MAGIC? BEING ADAPTIVE 19 Alice joins via browser: gets full experience, chat, wideband voice, hi-def video, visuals Bob joins via tablet: gets same as above thanks to mobile web, but can’t send video because his browser doesn’t support WebRTC yet?? Charlie joins via smartphone: gets same as above, except no video at all because he has reduced bandwidth or a low battery Douglas joins via landline, because he’s backward and he really like his desk phone - maybe even get audio hints of text chat? Edward also joins via browser, but has a sleeping baby, so he only listens to the audio and talks via chat
  • 66. CAN YOU SPEAK MAGIC? BEING ADAPTIVE 19 / Alice joins via browser: gets full experience, chat, wideband voice, hi-def video, visuals Bob joins via tablet: gets same as above thanks to mobile web, but can’t send video because his browser doesn’t support WebRTC yet?? Charlie joins via smartphone: gets same as above, except no video at all because he has reduced bandwidth or a low battery Douglas joins via landline, because he’s backward and he really like his desk phone - maybe even get audio hints of text chat? Edward also joins via browser, but has a sleeping baby, so he only listens to the audio and talks via chat
  • 67. CAN YOU SPEAK MAGIC? 20 Fluid
  • 68. CAN YOU SPEAK MAGIC? BEING FLUID 21 Visual: text -> audio -> + people -> video -> text
  • 69. CAN YOU SPEAK MAGIC? •Start with Chat BEING FLUID 21 Visual: text -> audio -> + people -> video -> text
  • 70. CAN YOU SPEAK MAGIC? •Start with Chat •Add audio BEING FLUID 21 Visual: text -> audio -> + people -> video -> text
  • 71. CAN YOU SPEAK MAGIC? •Start with Chat •Add audio •Invite more participants BEING FLUID 21 Visual: text -> audio -> + people -> video -> text
  • 72. CAN YOU SPEAK MAGIC? •Start with Chat •Add audio •Invite more participants •Upgrade to video BEING FLUID 21 Visual: text -> audio -> + people -> video -> text
  • 73. CAN YOU SPEAK MAGIC? •Start with Chat •Add audio •Invite more participants •Upgrade to video •Downgrade back to Chat BEING FLUID 21 Visual: text -> audio -> + people -> video -> text
  • 74. 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 21 Visual: text -> audio -> + people -> video -> text
  • 75. CAN YOU SPEAK MAGIC? 22 Contextual
  • 76. 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 23
  • 77. CAN YOU SPEAK MAGIC? 24 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
  • 78. CAN YOU SPEAK MAGIC? 25
  • 79. CAN YOU SPEAK MAGIC? 26
  • 80. CAN YOU SPEAK MAGIC? 27 Trustworthy
  • 81. CAN YOU SPEAK MAGIC? TRUSTWORTHY 28
  • 82. CAN YOU SPEAK MAGIC? TRUSTWORTHY •Don't surprise the user! 28
  • 83. CAN YOU SPEAK MAGIC? TRUSTWORTHY •Don't surprise the user! •Don't share the data with unexpected recipients 28
  • 84. CAN YOU SPEAK MAGIC? TRUSTWORTHY •Don't surprise the user! •Don't share the data with unexpected recipients •Help users make smart choices where required (with sane defaults) 28
  • 85. CAN YOU SPEAK MAGIC? TRUSTWORTHY •Don't surprise the user! •Don't share the data with unexpected recipients •Help users make smart choices where required (with sane defaults) •If identity is asserted, it should be user- centric and strong 28
  • 86. CAN YOU SPEAK MAGIC? 29 Reference-able
  • 87. CAN YOU SPEAK MAGIC? REFERENCEABILITY 30 All participants are invited to the chat via unique URL This URL always contains the latest state of the chat, whether in-progress, idle, or archived May provide enhanced features, such as downloadable copies of the text, audio or video, a summary of links or media shared, or even transcriptions of the conversation Is searchable!
  • 88. CAN YOU SPEAK MAGIC? REFERENCEABILITY •Make Interactions Shareable 30 All participants are invited to the chat via unique URL This URL always contains the latest state of the chat, whether in-progress, idle, or archived May provide enhanced features, such as downloadable copies of the text, audio or video, a summary of links or media shared, or even transcriptions of the conversation Is searchable!
  • 89. CAN YOU SPEAK MAGIC? REFERENCEABILITY •Make Interactions Shareable •Every conversation has a URL that: 30 All participants are invited to the chat via unique URL This URL always contains the latest state of the chat, whether in-progress, idle, or archived May provide enhanced features, such as downloadable copies of the text, audio or video, a summary of links or media shared, or even transcriptions of the conversation Is searchable!
  • 90. CAN YOU SPEAK MAGIC? REFERENCEABILITY •Make Interactions Shareable •Every conversation has a URL that: •Is permanent & unique 30 All participants are invited to the chat via unique URL This URL always contains the latest state of the chat, whether in-progress, idle, or archived May provide enhanced features, such as downloadable copies of the text, audio or video, a summary of links or media shared, or even transcriptions of the conversation Is searchable!
  • 91. 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 30 All participants are invited to the chat via unique URL This URL always contains the latest state of the chat, whether in-progress, idle, or archived May provide enhanced features, such as downloadable copies of the text, audio or video, a summary of links or media shared, or even transcriptions of the conversation Is searchable!
  • 92. 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 30 All participants are invited to the chat via unique URL This URL always contains the latest state of the chat, whether in-progress, idle, or archived May provide enhanced features, such as downloadable copies of the text, audio or video, a summary of links or media shared, or even transcriptions of the conversation Is searchable!
  • 93. 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 30 All participants are invited to the chat via unique URL This URL always contains the latest state of the chat, whether in-progress, idle, or archived May provide enhanced features, such as downloadable copies of the text, audio or video, a summary of links or media shared, or even transcriptions of the conversation Is searchable!
  • 94. 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) 30 All participants are invited to the chat via unique URL This URL always contains the latest state of the chat, whether in-progress, idle, or archived May provide enhanced features, such as downloadable copies of the text, audio or video, a summary of links or media shared, or even transcriptions of the conversation Is searchable!
  • 95. CAN YOU SPEAK MAGIC? 31 What Should We Build?
  • 96. CAN YOU SPEAK MAGIC? 31 What Should We Build? 3 Ideas
  • 97. CAN YOU SPEAK MAGIC? 1. Live, Anonymous Matchmaking 32
  • 98. CAN YOU SPEAK MAGIC? 33 http://funnydate.com/have-a-chat FunnyDate FunnyDate SHErlock 22 Female Male Oakdale Books, Moustaches, Puzzles Captain Beard 23 Male Female Springfield Books, Moustaches, Puzzles USERNAME AGE GENDER SEEKING CITY MATCHING INTERESTS
  • 99. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? LIVE, ANONYMOUS DATING 34 FunnyDate
  • 100. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? LIVE, ANONYMOUS DATING •Safe Introductions 34 FunnyDate
  • 101. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? LIVE, ANONYMOUS DATING •Safe Introductions •Strict anonymity 34 FunnyDate
  • 102. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? LIVE, ANONYMOUS DATING •Safe Introductions •Strict anonymity •No need to exchange
 phone numbers 34 FunnyDate
  • 103. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? LIVE, ANONYMOUS DATING •Safe Introductions •Strict anonymity •No need to exchange
 phone numbers •Low friction interface
 enables users to connect in real-time 34 FunnyDate
  • 104. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? LIVE, ANONYMOUS DATING •Safe Introductions •Strict anonymity •No need to exchange
 phone numbers •Low friction interface
 enables users to connect in real-time •Silly video tricks used to break the ice 34 FunnyDate
  • 105. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? LIVE, ANONYMOUS DATING •Safe Introductions •Strict anonymity •No need to exchange
 phone numbers •Low friction interface
 enables users to connect in real-time •Silly video tricks used to break the ice •...or even add more anonymity 34 FunnyDate
  • 106. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? LIVE, ANONYMOUS DATING •Safe Introductions •Strict anonymity •No need to exchange
 phone numbers •Low friction interface
 enables users to connect in real-time •Silly video tricks used to break the ice •...or even add more anonymity •Upsell: Live language translation 34 FunnyDate
  • 107. CAN YOU SPEAK MAGIC? 2. Incident Response App 35
  • 108. CAN YOU SPEAK MAGIC? 36
  • 109. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? INCIDENT RESPONSE 37
  • 110. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? INCIDENT RESPONSE •Timely, Contextual Information 37
  • 111. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? INCIDENT RESPONSE •Timely, Contextual Information •Adapt for mobile vs. desktop 37
  • 112. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? INCIDENT RESPONSE •Timely, Contextual Information •Adapt for mobile vs. desktop •Group-based communication 37
  • 113. 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 37
  • 114. 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) 37
  • 115. 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 37
  • 116. 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 37
  • 117. 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 37
  • 118. 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 37
  • 119. CAN YOU SPEAK MAGIC? 3. Medical Records Patient Services 38
  • 120. CAN YOU SPEAK MAGIC? 39
  • 121. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? MEDICAL ADVICE/HISTORY 40
  • 122. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? MEDICAL ADVICE/HISTORY 40
  • 123. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? MEDICAL ADVICE/HISTORY •Secure Caller Authentication 40
  • 124. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? MEDICAL ADVICE/HISTORY •Secure Caller Authentication •Reuse primary auth via website 40
  • 125. CAN YOU SPEAK MAGIC?CAN YOU SPEAK MAGIC? MEDICAL ADVICE/HISTORY •Secure Caller Authentication •Reuse primary auth via website •Verify with voice biometrics 40
  • 126. 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 40
  • 127. 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 40
  • 128. 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 40
  • 129. 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 40
  • 130. 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 40
  • 131. CAN YOU SPEAK MAGIC? 41 Demo Time
  • 132. CAN YOU SPEAK MAGIC? RESOURCES •WebRTC •http://webrtc.github.io/samples/ •http://www.webrtc.org/ •http://www.webrtcchallenge.com/ •Voice in Ruby •http://www.adhearsion.com/ •https://github.com/benlangfeld/ruby_speech •Ben Klang, Mojo Lingo •@bklang •bklang@mojolingo.com 42
  • 133. CAN YOU SPEAK MAGIC? RESOURCES •WebRTC •http://webrtc.github.io/samples/ •http://www.webrtc.org/ •http://www.webrtcchallenge.com/ •Voice in Ruby •http://www.adhearsion.com/ •https://github.com/benlangfeld/ruby_speech •Ben Klang, Mojo Lingo •@bklang •bklang@mojolingo.com 42
  • 134. CAN YOU SPEAK MAGIC? RESOURCES •WebRTC •http://webrtc.github.io/samples/ •http://www.webrtc.org/ •http://www.webrtcchallenge.com/ •Voice in Ruby •http://www.adhearsion.com/ •https://github.com/benlangfeld/ruby_speech •Ben Klang, Mojo Lingo •@bklang •bklang@mojolingo.com 42