SlideShare a Scribd company logo
Creating Voice powered web apps with
Ribbit
James Williams
BT/Ribbit
Agenda
> What is Ribbit?
> The Ribbit Developer Platform
> "Ribbit Hello World"
> Ribbit Mobile
> Conference Gadget for Google Wave
> Chrome Extension
> Q&A
What is Ribbit?
> Silicon Valley's first phone company
> Subsidiary of BT (British Telecom)
> Products and Services
  Ribbit Platform
  Ribbit Mobile
  Ribbit for Salesforce
The Ribbit Developer Platform
> manages calls and messages
> play media
> collect DTMF from callers
> on-demand transcription of audio messages
Supported Languages
> PHP
> Java
> .NET/Silverlight
> Javascript
> AS3 (Coming soon!)
Logging in
function init() {
    var token = localStorage["token"];
    var appId = localStorage["appId"];
    var username = localStorage["username"];
    var password = localStorage["password"];

    if (token != "") {
        Ribbit.init(token, appId);
        Ribbit.Login(loginCallback, username, password);
        console.log("Attempting login with stored credentials.");
    }

    console.log("Attempting login");
}
Creating a Call
function call(textbox) {
    var phonenums = new Array();
    var myPhoneNumber = localStorage["phone"];
    var number = "tel:"+textbox.value;

    phonenums.push("tel:"+myPhoneNumber);
    phonenums.push(number);
    Ribbit.Calls().createCall(createCallCallback, phonenums, null,
null);
}

function createCallCallback(result){
    if (result.hasError){
        $("#result").html(result.message);
    } else {
        $("#result").html("Calling you...");
    }
}
Sending a SMS
function sendMessage(receiver, message) {
        var recipients = ['tel:'+receiver.value];
        $("#result").html("Sending message...");
        Ribbit.Messages().createMessage(sendMessageCallback,
recipients, message.value, null, "Text Message");
}

function sendMessageCallback(result){
    if (result.hasError){
        $("#result").html(result.message);
    } else {
        $("#result").html("Message sent.");
    }
}
Ribbit Mobile
> http://www.ribbitmobile.com
> online message inbox
> voicemail transcription
> intelligent call routing
> web-based calling
> custom Ribbit Mobile inbound numbers
Conference Gadget for Google Wave
> one of the featured gadgets during the Wave launch
> built using our JS REST APIs
> has connected over 50,000 calls since launch
> coded by me!
Ribbit Chrome Extension
> send text messages
> listen to voicemails
> find phone numbers within web pages
> mobile dialing - at least until JS gets microphone support :(
Ribbit Links
> http:/developer.ribbit.com
> http://ribbitmobile.com
> http://ribbit.com/wave
Contact Me
> Twitter: @ecspike
> Email: james@ribbit.com
> Personal Blog: http://jameswilliams.be/blog
> Developer Blog: http://developer.ribbit.com/blog

More Related Content

PDF
Realtime web applications with ExpressJS and SocketIO
PDF
Writing browser extensions_in_kotlin
PDF
Mojolicious
PDF
(안드로이드 개발자를 위한) 오픈소스 라이브러리 사용 가이드
PDF
Scratching the surface of hunky-dory Elixir features
PPT
Game programming with Groovy
PDF
BBCON 2011 - Sharing Work: Independent Schools using Online Campus Community
PDF
The Lindorff European Credit Outlook 2015
Realtime web applications with ExpressJS and SocketIO
Writing browser extensions_in_kotlin
Mojolicious
(안드로이드 개발자를 위한) 오픈소스 라이브러리 사용 가이드
Scratching the surface of hunky-dory Elixir features
Game programming with Groovy
BBCON 2011 - Sharing Work: Independent Schools using Online Campus Community
The Lindorff European Credit Outlook 2015

Similar to Creating Voice Powered Apps with Ribbit (20)

PPTX
Bt Ps 2009 01 22
PPT
Ribbit for Salesforce - General
PPTX
Rad winners
PDF
Intro to Mobile Web Development with ColdFusion
PPT
Crick Water's presentation at eComm 2008
PPT
Tringme Overview
PPT
rfs_public_deck_jul09
PPT
Flash Txt Partner
PDF
Greach 2011 - Building Telephony Apps with Groovy and Grails
PDF
Tropo Presentation at the Telecom API Workshop
PDF
Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications
PDF
Infiltrating Telecoms Using Ruby
PPTX
Google Voice Presentation
PPT
TringMe Overview
PDF
Tring Me Overview Dec08
PPTX
The reinvention of Ringback tones by OnMobile
PDF
A Hackaton Focused on Call Control
PDF
WebRTC Opens the Floodgates
PDF
Who wants to be a Developer?
KEY
WebRTC - @eCommConf 2011
Bt Ps 2009 01 22
Ribbit for Salesforce - General
Rad winners
Intro to Mobile Web Development with ColdFusion
Crick Water's presentation at eComm 2008
Tringme Overview
rfs_public_deck_jul09
Flash Txt Partner
Greach 2011 - Building Telephony Apps with Groovy and Grails
Tropo Presentation at the Telecom API Workshop
Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications
Infiltrating Telecoms Using Ruby
Google Voice Presentation
TringMe Overview
Tring Me Overview Dec08
The reinvention of Ringback tones by OnMobile
A Hackaton Focused on Call Control
WebRTC Opens the Floodgates
Who wants to be a Developer?
WebRTC - @eCommConf 2011
Ad

More from James Williams (16)

KEY
Introduction to WebGL and Three.js
PDF
Intro to HTML5 Game Programming
PPT
Ratpack - Classy and Compact Groovy Web Apps
PDF
Introduction to Griffon
PDF
Griffon for the Enterprise
PDF
Java development with MongoDB
PDF
Enterprise Griffon
PDF
Porting legacy apps to Griffon
PPT
Using MongoDB With Groovy
PDF
Griffon: Swing just got fun again
PPT
Griffon: Swing just got fun again
PPT
Extending Groovys Swing User Interface in Builder to Build Richer Applications
PPT
Boosting Your Testing Productivity with Groovy
ODP
Griffon: Re-imaging Desktop Java Technology
ODP
Android Development
ODP
SVCC Intro to Grails
Introduction to WebGL and Three.js
Intro to HTML5 Game Programming
Ratpack - Classy and Compact Groovy Web Apps
Introduction to Griffon
Griffon for the Enterprise
Java development with MongoDB
Enterprise Griffon
Porting legacy apps to Griffon
Using MongoDB With Groovy
Griffon: Swing just got fun again
Griffon: Swing just got fun again
Extending Groovys Swing User Interface in Builder to Build Richer Applications
Boosting Your Testing Productivity with Groovy
Griffon: Re-imaging Desktop Java Technology
Android Development
SVCC Intro to Grails
Ad

Recently uploaded (20)

PDF
Electronic commerce courselecture one. Pdf
PPT
Teaching material agriculture food technology
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Spectroscopy.pptx food analysis technology
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Approach and Philosophy of On baking technology
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Encapsulation theory and applications.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Electronic commerce courselecture one. Pdf
Teaching material agriculture food technology
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Spectroscopy.pptx food analysis technology
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Approach and Philosophy of On baking technology
Review of recent advances in non-invasive hemoglobin estimation
Reach Out and Touch Someone: Haptics and Empathic Computing
Mobile App Security Testing_ A Comprehensive Guide.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
NewMind AI Weekly Chronicles - August'25 Week I
The AUB Centre for AI in Media Proposal.docx
Encapsulation theory and applications.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf

Creating Voice Powered Apps with Ribbit

  • 1. Creating Voice powered web apps with Ribbit James Williams BT/Ribbit
  • 2. Agenda > What is Ribbit? > The Ribbit Developer Platform > "Ribbit Hello World" > Ribbit Mobile > Conference Gadget for Google Wave > Chrome Extension > Q&A
  • 3. What is Ribbit? > Silicon Valley's first phone company > Subsidiary of BT (British Telecom) > Products and Services Ribbit Platform Ribbit Mobile Ribbit for Salesforce
  • 4. The Ribbit Developer Platform > manages calls and messages > play media > collect DTMF from callers > on-demand transcription of audio messages
  • 5. Supported Languages > PHP > Java > .NET/Silverlight > Javascript > AS3 (Coming soon!)
  • 6. Logging in function init() { var token = localStorage["token"]; var appId = localStorage["appId"]; var username = localStorage["username"]; var password = localStorage["password"]; if (token != "") { Ribbit.init(token, appId); Ribbit.Login(loginCallback, username, password); console.log("Attempting login with stored credentials."); } console.log("Attempting login"); }
  • 7. Creating a Call function call(textbox) { var phonenums = new Array(); var myPhoneNumber = localStorage["phone"]; var number = "tel:"+textbox.value; phonenums.push("tel:"+myPhoneNumber); phonenums.push(number); Ribbit.Calls().createCall(createCallCallback, phonenums, null, null); } function createCallCallback(result){ if (result.hasError){ $("#result").html(result.message); } else { $("#result").html("Calling you..."); } }
  • 8. Sending a SMS function sendMessage(receiver, message) { var recipients = ['tel:'+receiver.value]; $("#result").html("Sending message..."); Ribbit.Messages().createMessage(sendMessageCallback, recipients, message.value, null, "Text Message"); } function sendMessageCallback(result){ if (result.hasError){ $("#result").html(result.message); } else { $("#result").html("Message sent."); } }
  • 9. Ribbit Mobile > http://www.ribbitmobile.com > online message inbox > voicemail transcription > intelligent call routing > web-based calling > custom Ribbit Mobile inbound numbers
  • 10. Conference Gadget for Google Wave > one of the featured gadgets during the Wave launch > built using our JS REST APIs > has connected over 50,000 calls since launch > coded by me!
  • 11. Ribbit Chrome Extension > send text messages > listen to voicemails > find phone numbers within web pages > mobile dialing - at least until JS gets microphone support :(
  • 12. Ribbit Links > http:/developer.ribbit.com > http://ribbitmobile.com > http://ribbit.com/wave
  • 13. Contact Me > Twitter: @ecspike > Email: james@ribbit.com > Personal Blog: http://jameswilliams.be/blog > Developer Blog: http://developer.ribbit.com/blog