keeping it realtime!

86
Realtime != Web Ben Langfeld @benlangfeld

Upload: mojo-lingo

Post on 18-Dec-2014

179 views

Category:

Technology


0 download

DESCRIPTION

Keeping It Realtime! = Web presented by Ben Langfeld at Realtime Conference 2012

TRANSCRIPT

Page 1: Keeping It Realtime!

Realtime != Web

Ben Langfeld@benlangfeld

Page 2: Keeping It Realtime!

BlatherCelluloidruby_speech

punchblock nokogiri

github.com/benlangfeld

Page 15: Keeping It Realtime!

Why Telephony

Brasil

20MM home computers for 194MM people

http://www.itu.int/ITU-D/ict/newslog/Brazil+Has+More+Mobile+Phones+Than+People.aspx

http://www.internetworldstats.com/sa/br.htm

Page 16: Keeping It Realtime!

Why Telephony

Brasil

20MM home computers for 194MM people

194,439,250 mobile phones

http://www.itu.int/ITU-D/ict/newslog/Brazil+Has+More+Mobile+Phones+Than+People.aspx

http://www.internetworldstats.com/sa/br.htm

Page 17: Keeping It Realtime!

Why Telephony

Brasil

20MM home computers for 194MM people

194,439,250 mobile phones

That is slightly more than one phone per person

http://www.itu.int/ITU-D/ict/newslog/Brazil+Has+More+Mobile+Phones+Than+People.aspx

http://www.internetworldstats.com/sa/br.htm

Page 18: Keeping It Realtime!

The Dark Ages

State of Voice Technology:

Page 19: Keeping It Realtime!

The Dark Ages

State of Voice Technology:

< AD 2000

Page 20: Keeping It Realtime!

TDM PBXThe Dark Ages: < AD 2000

http://www.flickr.com/photos/dannyman/320310144/

Page 21: Keeping It Realtime!

TDM PBXThe Dark Ages: < AD 2000

$$$ - £££ - €€€http://www.flickr.com/photos/dannyman/320310144/

Page 22: Keeping It Realtime!

ProprietaryThe Dark Ages: < AD 2000

$$$ - £££ - €€€http://www.flickr.com/photos/dannyman/320310144/

Page 23: Keeping It Realtime!

Islands of Functionality

The Dark Ages: < AD 2000

Page 24: Keeping It Realtime!

Minimal/Non-Existent API

The Dark Ages: < AD 2000

Page 25: Keeping It Realtime!

Emergence of VoIP

The Last Ten Years

Page 26: Keeping It Realtime!

Emergence of VoIP

The Last Ten Years

Page 27: Keeping It Realtime!

Emergence of VoIP

The Last Ten Years

Page 28: Keeping It Realtime!

Emergence of VoIP

The Last Ten Years

Page 29: Keeping It Realtime!

Smarter EndpointsThe Last Ten Years

Page 30: Keeping It Realtime!

Smarter EndpointsThe Last Ten Years

Page 31: Keeping It Realtime!

Smarter EndpointsThe Last Ten Years

Page 32: Keeping It Realtime!

Smarter EndpointsThe Last Ten Years

Page 33: Keeping It Realtime!

Convergence

The Last Ten Years

Page 34: Keeping It Realtime!

Convergence

The Last Ten Years

Instant Messaging - Presence

Page 35: Keeping It Realtime!

Beginnings ofTruly Unified

Communications

The Last Ten Years

Page 36: Keeping It Realtime!

The Next Ten Years

State of Voice Technology:

Page 37: Keeping It Realtime!

Further Decentralization

The Next Ten Years

Page 38: Keeping It Realtime!

Open Architecture

The Next Ten Years

Page 39: Keeping It Realtime!

Federation

The Next Ten Years

Page 40: Keeping It Realtime!

Multi-Modal Integration

The Next Ten Years

Page 41: Keeping It Realtime!

Multi-Modal Integration

The Next Ten Years

Voice - Text - Video - Presence

Page 42: Keeping It Realtime!

Collaboration

The Next Ten Years

Page 43: Keeping It Realtime!

Collaboration

The Next Ten Years

Desktops - Documents

Page 44: Keeping It Realtime!

Nowis an exciting time

to be working with Voice

The Next Ten Years

Page 45: Keeping It Realtime!

What is a Voice Application?

Page 46: Keeping It Realtime!

Interacts with Audio Stream

A Voice Application...

Page 47: Keeping It Realtime!

Integrates Communication Channels

A Voice Application...

Page 48: Keeping It Realtime!

Goes Beyond a Phone Call

A Voice Application...

Page 49: Keeping It Realtime!

Voice Application Examples

Page 50: Keeping It Realtime!

LiveTranslation

Service

Voice Application Examples

Page 51: Keeping It Realtime!

Automated Reminder Calls

Voice Application Examples

Page 53: Keeping It Realtime!

CRM Integration

Voice Application Examples

Page 54: Keeping It Realtime!

Over-the-Top Services

Voice Application Examples

Page 55: Keeping It Realtime!
Page 56: Keeping It Realtime!

But wait...

Page 57: Keeping It Realtime!

telephony is HARD right??

Photo by Joseph A. Carr from http://en.wikipedia.org/wiki/File:JT_Switchboard_770x540.jpg

But wait...

Page 58: Keeping It Realtime!

Code Sample (comfort zone)

Page 59: Keeping It Realtime!

Code Sample (comfort zone)

Page 60: Keeping It Realtime!

Code Sample (comfort zone)

Page 61: Keeping It Realtime!

The Ruby Approach

Page 62: Keeping It Realtime!

The Ruby Approach

Page 63: Keeping It Realtime!

Voice ApplicationFramework

Adhearsion: The Ruby Approach

Page 64: Keeping It Realtime!

Adhearsion: The Ruby Approach

Page 65: Keeping It Realtime!

Hosting flexibility(VM, PaaS, anywhere)

Adhearsion: The Ruby Approach

Page 66: Keeping It Realtime!

Many integration points

Adhearsion: The Ruby Approach

Page 67: Keeping It Realtime!

Platform Agnostic

Adhearsion: The Ruby Approach

Page 68: Keeping It Realtime!

Just Ruby

Adhearsion: The Ruby Approach

Page 69: Keeping It Realtime!

Ability to interactbetween calls

Adhearsion: The Ruby Approach

Page 70: Keeping It Realtime!

Simple, Extensible API

Adhearsion: The Ruby Approach

Page 72: Keeping It Realtime!

Easy, right?

Page 73: Keeping It Realtime!

Easy, right?

• Asterisk, FreeSWITCH & PRISM are nontrivial to deploy and manage

Page 74: Keeping It Realtime!

Easy, right?

• Asterisk, FreeSWITCH & PRISM are nontrivial to deploy and manage

• Connectivity is a pain in the ass

Page 75: Keeping It Realtime!

Easy, right?

• Asterisk, FreeSWITCH & PRISM are nontrivial to deploy and manage

• Connectivity is a pain in the ass

• Cloud deployment platform? Yes please.

Page 76: Keeping It Realtime!

Easy, right?

• Asterisk, FreeSWITCH & PRISM are nontrivial to deploy and manage

• Connectivity is a pain in the ass

• Cloud deployment platform? Yes please.

• adhearsion.com/cloud

Page 77: Keeping It Realtime!

But Jose says I don’t need it

Not the whole thing, but an important piece

Page 78: Keeping It Realtime!

But Jose says I don’t need it• WebRTC democratizes real-time voice & video

communications

Not the whole thing, but an important piece

Page 79: Keeping It Realtime!

But Jose says I don’t need it• WebRTC democratizes real-time voice & video

communications

• But it also encourages silos

Not the whole thing, but an important piece

Page 80: Keeping It Realtime!

But Jose says I don’t need it• WebRTC democratizes real-time voice & video

communications

• But it also encourages silos

• Integration with public networks is key

Not the whole thing, but an important piece

Page 81: Keeping It Realtime!

But Jose says I don’t need it• WebRTC democratizes real-time voice & video

communications

• But it also encourages silos

• Integration with public networks is key

• Public network means a range of endpoint capabilitiesNot the whole thing, but an important piece

Page 82: Keeping It Realtime!

But Jose says I don’t need it• WebRTC democratizes real-time voice & video

communications

• But it also encourages silos

• Integration with public networks is key

• Public network means a range of endpoint capabilities

• Adhearsion makes a pretty good “web thingy” Not the whole thing, but an important piece

Page 83: Keeping It Realtime!

How does it work?

• Adhearsion does not directly handle any media or signaling

• Purely a third-party control component driving a VoIP engine

• Speaks the Rayo protocol (http://rayo.org), based on XMPP

• Supports accessing federated voice networks

Page 84: Keeping It Realtime!

Get Involved

Adhearsion: The Ruby Approach

github.com/adhearsion/adhearsionadhearsion.com

Page 85: Keeping It Realtime!

Giveaways

• Tweet about how awesome @adhearsion is, free t-shirt

• Thumb drives for questions

• Stickers for everyone

Page 86: Keeping It Realtime!

Thanks! Questions?

Ben Langfeld@benlangfeld