SlideShare a Scribd company logo
JS in SMS
Alexandre Morgaut & Greg McCarvell
JS.everywhere(2013) - Treasure Island, SF
Agenda
Why care about SMS?
Links and Forms
HTML5
Apache Cordova
The Cloud / The Server
Why care about SMS?
Dead Zones
Many Dead Zones: subway, rural communities...
Wifi / 4G / 3G / Edge / GPRS are not always available
SMS are available almost everywhere
Foreign Countries
Data Roaming is very expensive
SMS are usually affordable
SMS are usually supported everywhere
User Friendly
Phones create notifications for SMS
Notifications are often not as detailed for mails
No mail account to configure
SMS in Links (and Forms?)
RFC 5724
URI Scheme for Global System for Mobile Communications (GSM)
Short Message Service (SMS)

sms:+33123456789,+33678901234?body=Hello%20World

http://tools.ietf.org/html/rfc5724
HTML Form
<form method="GET" action="http://example.com/">
<label for="body">Write your Message</label>
<textarea name="body">Hello</textarea>
<input type="submit" value="Send">
<form>

http://example.com/?body=Hello
HTML Form
<form method="GET" action="sms:+12345678901">
<label for="body">Write your Message</label>
<textarea name="body"></textarea>
<input type="submit" value="Send">
<form>

Don’t work :-(

sms:+12345678901?body=Hello
iOS

sms:+33123456789,+33678901234;body=Hello%20World
Link
<a href="sms:+15552345678">Phone only</a>
<a href="sms:?body=Hello, world">Body only</a>
<a href="sms:;body=Hello, world">;body only</a>
<a href="sms:+15552345678?body=Hello World">Phone and ?body</a>
<a href="sms:+15552345678;body=Hello World">Phone and ;body</a>
<a href="sms://+15552345678">Phone only (sms://)</a>
<a href="sms://+15552345678?body=Hello, World">Phone and body (sms://)</a>

http://bradorego.com/test/sms.html
alternative schemes
“smsto:”
SMS in HTML5
Mozilla WebSMS
// There are several ways to retrieve a valid phone number
var message = "Hi!";
var number = "1234";
navigator.mozMobileMessage.send(number, message);

https://developer.mozilla.org/en-US/docs/WebAPI/WebSMS
“The Messaging API”
Device APIs W3C Working Group
navigator.device.sendMessage(
"sms:+460000000001?body=Welcome%20%to%Atlantis",
null,
successCB,
errorCB
);
navigator.device.sendMessage(
"mms:+460000000001?body=Welcome%20%to%Atlantis",
[image1, image2],
successCB,
errorCB
);

http://www.w3.org/TR/messaging-api/
“Messaging API”
System Application W3C Working Group
navigator.messaging.sms.send(
'+1234567890',
'How are you?'
).done(
function(message) {
window.console.log(
'Message with identifier ' + message.messageID +
' sent at ' + message.timestamp
);
},
function(error) {
window.console.error('Error: ' + error);
}
)

http://www.w3.org/TR/messaging/
Contacts
Device APIs
Pick Contact Intent
System Application
Contact Manager API

http://www.w3.org/TR/contacts-api/
http://www.w3.org/TR/contacts-manager-api/
Apache Cordova
Cordova Plugins
iOS
PhoneGap SMSComposer
Androïd
SMS inbox_sent access
SMSPlugin
SMSSendPlugin
ContactView

https://github.com/phonegap/phonegap-plugins
The Cloud / The Server
Cloud Communication
Twilio

Tropo

Nexmo

...
Cloud Communication
Twilio
SMS, MMS,Voice
REST API
twilio.js
node.js SSJS connector
wakanda SMS connector

https://www.twilio.com
wakanda-twilio
Demo

https://github.com/AMorgaut/wakanda-twilio
Thank You!
http://www.wakanda.org/
http://www.twilio.com/
https://github.com/amorgaut
https://github.com/mccarvell

More Related Content

PPTX
Le Bulletin Azure, épisode 10
PDF
HTML5 in automotive - web2day 2014
PDF
Twilio Contact Center Overview
PDF
Twilio Signal 2016 Using Add-ons
PDF
How To Track Calls Using Twilio?
PDF
Twilio Voice Applications with Amazon AWS S3 and EC2
PDF
What Can You Do With Twilio
PPTX
SignalR + Mobile Possibilities
Le Bulletin Azure, épisode 10
HTML5 in automotive - web2day 2014
Twilio Contact Center Overview
Twilio Signal 2016 Using Add-ons
How To Track Calls Using Twilio?
Twilio Voice Applications with Amazon AWS S3 and EC2
What Can You Do With Twilio
SignalR + Mobile Possibilities

Similar to JS in SMS - JS.everywhere(2013) (20)

PPTX
[Year 2013-14 ] SMs
PDF
CV-Zeiad Yazji 2017
DOC
Mohamed Abdel Razik-CV
PDF
Tel scale ussd_gateway-vuc
PDF
cv zeiad Yazji 2013
DOCX
resume
PPT
PPT
Web Services Discovery for Devices
PPTX
Cloudflare lower network latency = faster website loads
DOCX
Curriculum vitae
PDF
DOCX
Curriculum vitae
PPTX
Art and Science of Web Sites Performance: A Front-end Approach
PDF
SMS Marketing & Advertising UAE Media Kit
PPTX
SignalR Intro + WPDev
PDF
20190516 web security-basic
PDF
WebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoT
PDF
Introduction to computer networks ppt download
PPTX
Cache is the king
PPTX
Cache is king
[Year 2013-14 ] SMs
CV-Zeiad Yazji 2017
Mohamed Abdel Razik-CV
Tel scale ussd_gateway-vuc
cv zeiad Yazji 2013
resume
Web Services Discovery for Devices
Cloudflare lower network latency = faster website loads
Curriculum vitae
Curriculum vitae
Art and Science of Web Sites Performance: A Front-end Approach
SMS Marketing & Advertising UAE Media Kit
SignalR Intro + WPDev
20190516 web security-basic
WebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoT
Introduction to computer networks ppt download
Cache is the king
Cache is king
Ad

More from Alexandre Morgaut (20)

PDF
Lint, coverage, doc, autocompletion, transpilation, minification... powered b...
PDF
Past, present, and future of web assembly - Devfest Nantes 2017
PDF
angular-wakanda ngParis meetup 15 at 42
PDF
Carnet de Route du Développeur - ENSIMAG 2012
PDF
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
PDF
Js in Automotive - JS.everywhere(2013)
PDF
End-to-end HTML5 APIs - The Geek Gathering 2013
PDF
From Web App Model Design to Production with Wakanda
PDF
NoSQL and JavaScript: a love story
PDF
Wakanda - apps.berlin.js - 2012-11-29
PDF
End to-end W3C - JS.everywhere(2012) Europe
PDF
Wakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
PDF
End-to-end W3C APIs - tpac 2012
PDF
End-to-end W3C APIs
PDF
NoSQL and JavaScript: a Love Story
PDF
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
PDF
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
KEY
State of the art - server side JavaScript - web-5 2012
PDF
Etat de l'art Server-Side JavaScript - JS Geneve
PDF
NantesJS premier meetup - Welcome
Lint, coverage, doc, autocompletion, transpilation, minification... powered b...
Past, present, and future of web assembly - Devfest Nantes 2017
angular-wakanda ngParis meetup 15 at 42
Carnet de Route du Développeur - ENSIMAG 2012
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Js in Automotive - JS.everywhere(2013)
End-to-end HTML5 APIs - The Geek Gathering 2013
From Web App Model Design to Production with Wakanda
NoSQL and JavaScript: a love story
Wakanda - apps.berlin.js - 2012-11-29
End to-end W3C - JS.everywhere(2012) Europe
Wakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs
NoSQL and JavaScript: a Love Story
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
State of the art - server side JavaScript - web-5 2012
Etat de l'art Server-Side JavaScript - JS Geneve
NantesJS premier meetup - Welcome
Ad

Recently uploaded (20)

PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
August Patch Tuesday
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Getting Started with Data Integration: FME Form 101
PPTX
Tartificialntelligence_presentation.pptx
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
A novel scalable deep ensemble learning framework for big data classification...
PPTX
A Presentation on Artificial Intelligence
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Encapsulation theory and applications.pdf
PPTX
1. Introduction to Computer Programming.pptx
PDF
1 - Historical Antecedents, Social Consideration.pdf
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
cloud_computing_Infrastucture_as_cloud_p
August Patch Tuesday
Enhancing emotion recognition model for a student engagement use case through...
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Encapsulation_ Review paper, used for researhc scholars
Unlocking AI with Model Context Protocol (MCP)
SOPHOS-XG Firewall Administrator PPT.pptx
Getting Started with Data Integration: FME Form 101
Tartificialntelligence_presentation.pptx
Hindi spoken digit analysis for native and non-native speakers
A novel scalable deep ensemble learning framework for big data classification...
A Presentation on Artificial Intelligence
Assigned Numbers - 2025 - Bluetooth® Document
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Encapsulation theory and applications.pdf
1. Introduction to Computer Programming.pptx
1 - Historical Antecedents, Social Consideration.pdf
Group 1 Presentation -Planning and Decision Making .pptx

JS in SMS - JS.everywhere(2013)