SlideShare ist ein Scribd-Unternehmen logo
1 von 57
Mobilize  Your Rails Application ,[object Object],[object Object],[object Object]
 
Why care about  mobile ,[object Object],[object Object],[object Object]
Some  mobile  stats (in billions of course)
So, how do we take advantage of this?
Make your application accessible by the majority of   web enabled   mobile  devices devices devices
Keep your users engaged through  SMS ,  MMS   and  E-Mail E-Mail
Many  Mobile  Devices Can Access the Real Web From Flickr User Carlos Magaña
One Web Making the same information and services available to all users regardless of the device used Making the same information and services available to all users regardless of the device used
[object Object],[object Object],[object Object],[object Object],[object Object],Problems with  one web
Mobile Fu  Plugin ,[object Object],[object Object],[object Object]
How does one master  mobile  fu?
Not   Like This ...
Maybe   Like This ...
class ApplicationController < ActionController::Base  has_mobile_fu end end
demo. presentlyapp.com iPhone Safari
respond_to  do | format | format.html format.mobile end ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
<%= mobile_xhtml_doctype %> <html> <head> ... </head> <body> ... </body> </html> </html> ../layouts/ application.mobile.erb http://mobiforge.com/designing/story/comparison-xhtml-mobile-profile-and-xhtml-basic
<?xml version=&quot;1.0&quot; charset=&quot;UTF-8&quot; ?> <!DOCTYPE html PUBLIC &quot;-//WAPFORUM//DTD XHTML Mobile 1.0//EN&quot; &quot; http://www.wapforum.org/DTD/xhtml-mobile10.dtd &quot;> <html> <head> ... </head> <body> ... </body> </html> </html> ../layouts/ application.mobile.erb http://mobiforge.com/designing/story/comparison-xhtml-mobile-profile-and-xhtml-basic
Is the user using a specific device? is_device?( ‘blackberry’ ) Is the user using a mobile device? is_mobile_device? Is the request format currently :mobile ? in_mobile_view?
iPhone   foo_ mobilewebkit .css  <%= stylesheet_link_tag 'foo' %> Android   foo_ mobilewebkit .css  BlackBerry   foo_ blackberry .css  Win Mobile   foo_ mobileexplorer .css  etc...
 
What about leveraging other  mobile   technologies ?
SMS Short Message Service Short Message Service
Keep Users Informed with  SMS ,[object Object],[object Object],[object Object],[object Object],[object Object]
What tools can we use to send  SMS  messages from our Rails application?
Clickatell  Gem ,[object Object],[object Object],[object Object],[object Object]
api  =  Clickatell::API.authenticate(' your_api_id ',  ' your_username ', ' your_password ') api.send_message(' 5558675309 ', ' Hello from clickatell ') require 'clickatell'
SMS Fu  Plugin ,[object Object],[object Object],[object Object],[object Object]
Wait, it’s free? So how does it work?
Number:  555-867-5309 5558675309 @ vtext.com Carrier:  Verizon
deliver_sms(‘ 5558675309 ’,‘ verizon ’, ‘ hello! ’) class AwesomeController < ApplicationController  has_sms_fu end end
Some  SMS  Fu Carriers Alltell, Ameritech, AT&T, Bell South Mobility, BlueSkyFrog, Boost Mobile, Cellular South, Kajeet, Metro PCS, Powertel, PSC Wireless, Qwest, Southern Link, Spring, Rodgers, Suncom, T-Mobile, Virgin Mobile, Verizon Wireless ,  E-Plus, O2, Orange,  Telconica, Vodafone ...
What if I want to add a new carrier called  Ruby Mobile ?
carriers: ... ruby_mobile:  name: Ruby Mobile  value: @txt.rubymobile.com  Add the following to   .../config/sms_fu.yml deliver_sms(‘ 5558675309 ’,’ ruby_mobile ’, ‘ hello! ’)
Remind Your Users That They May Get Charged from flickr user ‘bowbrick’
MMS Multimedia Message Service Multimedia Message Service
MMS ,[object Object],[object Object],[object Object],[object Object]
The Problem with Receiving  MMS Crap Crap Crap Cat
Well, how can I receive  SMS  or  MMS  from my Rails app ?
Short Codes Special numbers that are, you guessed it, short, that can be used to receive SMS or MMS messages from mobile phones. Special numbers that are, you guessed it, short, that can be used to receive SMS or MMS messages from mobile phones.
 
Short Codes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Receiving  SMS  or  MMS  as an e-mail is another solution and its free and relatively simple
MMS2R  Gem ,[object Object],[object Object],[object Object],[object Object]
Retrieve only the intended attachment mms.default_media Retrieve all media files from the MMS mms.media Retrieve only the intended message mms.body Create a new MMS2R object from a TMail object mms =   MMS2R::Media.new(email)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Adding new templates for carriers is easy ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],conf/mms.myhelio.com.yml
Mobilizing  your Rails app is simple and easy
Mobile Fu http://github.com/brendanlim/mobile-fu/ Clickatell http://clickatell.rubyforge.org/ SMS Fu http://github.com/brendanlim/sms-fu/ MMS2R http://github.com/monde/mms2r/
Questions!

Weitere ähnliche Inhalte

Andere mochten auch

Woman De John Lennon
Woman De John LennonWoman De John Lennon
Woman De John LennonMISANTLA
 
24 Tirthankaras
24 Tirthankaras24 Tirthankaras
24 TirthankarasHeena Modi
 
ICC/Decision Services...Beyond Customer Service...What Mystery Shopping Can D...
ICC/Decision Services...Beyond Customer Service...What Mystery Shopping Can D...ICC/Decision Services...Beyond Customer Service...What Mystery Shopping Can D...
ICC/Decision Services...Beyond Customer Service...What Mystery Shopping Can D...Twig Lane Group, LLC
 
Developing a Collective Curriculum to make Civil Society Data Literate
Developing a Collective Curriculum to make Civil Society Data LiterateDeveloping a Collective Curriculum to make Civil Society Data Literate
Developing a Collective Curriculum to make Civil Society Data LiteratePim Bellinga
 
The gorgeous pearl
The gorgeous pearlThe gorgeous pearl
The gorgeous pearlHeena Modi
 
Buffalo Social Media Summit Presentation
Buffalo Social Media Summit PresentationBuffalo Social Media Summit Presentation
Buffalo Social Media Summit PresentationChris Treadaway
 
Biggie in her new home
Biggie in her new homeBiggie in her new home
Biggie in her new homeHeena Modi
 
Some highlights from my stay in gambia
Some highlights from my stay in gambiaSome highlights from my stay in gambia
Some highlights from my stay in gambiaHeena Modi
 
Heart diseases
Heart diseasesHeart diseases
Heart diseasesHeena Modi
 
Poonam and jaimin’s wedding day
Poonam and jaimin’s wedding dayPoonam and jaimin’s wedding day
Poonam and jaimin’s wedding dayHeena Modi
 
Fear Factor with Outsourcing
Fear Factor with OutsourcingFear Factor with Outsourcing
Fear Factor with OutsourcingBenaud Jacob
 
Spc. La Llegenda De Sant Jordi
Spc. La Llegenda De Sant JordiSpc. La Llegenda De Sant Jordi
Spc. La Llegenda De Sant JordiMOBRADO
 
Linked In Presentation
Linked In PresentationLinked In Presentation
Linked In PresentationBenaud Jacob
 
Phrases By Gabriel GarcíA MáRquez
Phrases By Gabriel GarcíA MáRquezPhrases By Gabriel GarcíA MáRquez
Phrases By Gabriel GarcíA MáRquezHeena Modi
 
Power Video
Power VideoPower Video
Power VideoMH Rubin
 

Andere mochten auch (20)

Woman De John Lennon
Woman De John LennonWoman De John Lennon
Woman De John Lennon
 
24 Tirthankaras
24 Tirthankaras24 Tirthankaras
24 Tirthankaras
 
ICC/Decision Services...Beyond Customer Service...What Mystery Shopping Can D...
ICC/Decision Services...Beyond Customer Service...What Mystery Shopping Can D...ICC/Decision Services...Beyond Customer Service...What Mystery Shopping Can D...
ICC/Decision Services...Beyond Customer Service...What Mystery Shopping Can D...
 
Developing a Collective Curriculum to make Civil Society Data Literate
Developing a Collective Curriculum to make Civil Society Data LiterateDeveloping a Collective Curriculum to make Civil Society Data Literate
Developing a Collective Curriculum to make Civil Society Data Literate
 
The gorgeous pearl
The gorgeous pearlThe gorgeous pearl
The gorgeous pearl
 
Father
FatherFather
Father
 
Ph.D. Registeration seminar
Ph.D. Registeration seminarPh.D. Registeration seminar
Ph.D. Registeration seminar
 
Buffalo Social Media Summit Presentation
Buffalo Social Media Summit PresentationBuffalo Social Media Summit Presentation
Buffalo Social Media Summit Presentation
 
Biggie in her new home
Biggie in her new homeBiggie in her new home
Biggie in her new home
 
Some highlights from my stay in gambia
Some highlights from my stay in gambiaSome highlights from my stay in gambia
Some highlights from my stay in gambia
 
Heart diseases
Heart diseasesHeart diseases
Heart diseases
 
Poonam and jaimin’s wedding day
Poonam and jaimin’s wedding dayPoonam and jaimin’s wedding day
Poonam and jaimin’s wedding day
 
Fear Factor with Outsourcing
Fear Factor with OutsourcingFear Factor with Outsourcing
Fear Factor with Outsourcing
 
Spc. La Llegenda De Sant Jordi
Spc. La Llegenda De Sant JordiSpc. La Llegenda De Sant Jordi
Spc. La Llegenda De Sant Jordi
 
Linked In Presentation
Linked In PresentationLinked In Presentation
Linked In Presentation
 
Phrases By Gabriel GarcíA MáRquez
Phrases By Gabriel GarcíA MáRquezPhrases By Gabriel GarcíA MáRquez
Phrases By Gabriel GarcíA MáRquez
 
Power Video
Power VideoPower Video
Power Video
 
Wordprobs3
Wordprobs3Wordprobs3
Wordprobs3
 
Kansas sights
Kansas sightsKansas sights
Kansas sights
 
Indian Art
Indian ArtIndian Art
Indian Art
 

Ähnlich wie Mobilizing Your Rails Application - LA Ruby Conference 2009

Send Sms with SmsManager Api In Android with Kotlin
Send Sms with SmsManager Api In Android with KotlinSend Sms with SmsManager Api In Android with Kotlin
Send Sms with SmsManager Api In Android with KotlinShahRushika
 
test validation
test validationtest validation
test validationtechweb08
 
Test DB user
Test DB userTest DB user
Test DB usertechweb08
 
How to Convert a Component Design into an MUI React Code
How to Convert a Component Design into an MUI React CodeHow to Convert a Component Design into an MUI React Code
How to Convert a Component Design into an MUI React CodeWrapPixel
 
Mobilizing Your Rails Application - Rails Underground, London, UK
Mobilizing Your Rails Application - Rails Underground, London, UKMobilizing Your Rails Application - Rails Underground, London, UK
Mobilizing Your Rails Application - Rails Underground, London, UKBrendan Lim
 
AndroidLab_IT.pptx
AndroidLab_IT.pptxAndroidLab_IT.pptx
AndroidLab_IT.pptxAhmedKedir9
 
Implementation of Push Notification in React Native Android app using Firebas...
Implementation of Push Notification in React Native Android app using Firebas...Implementation of Push Notification in React Native Android app using Firebas...
Implementation of Push Notification in React Native Android app using Firebas...naseeb20
 
Android Application Component: BroadcastReceiver Tutorial
Android Application Component: BroadcastReceiver TutorialAndroid Application Component: BroadcastReceiver Tutorial
Android Application Component: BroadcastReceiver TutorialAhsanul Karim
 
Introduction to Polymer and Firebase - Simon Gauvin
Introduction to Polymer and Firebase - Simon GauvinIntroduction to Polymer and Firebase - Simon Gauvin
Introduction to Polymer and Firebase - Simon GauvinSimon Gauvin
 
MMS Parser
MMS ParserMMS Parser
MMS Parsermamahow
 
SMS and MyCommunity Gregynog 2007
SMS and MyCommunity Gregynog 2007SMS and MyCommunity Gregynog 2007
SMS and MyCommunity Gregynog 2007michaeldwebb
 
LAPHP/LAMPSig Talk: Intro to SendGrid - Building a Scalable Email Infrastructure
LAPHP/LAMPSig Talk: Intro to SendGrid - Building a Scalable Email InfrastructureLAPHP/LAMPSig Talk: Intro to SendGrid - Building a Scalable Email Infrastructure
LAPHP/LAMPSig Talk: Intro to SendGrid - Building a Scalable Email InfrastructureSendGrid
 
MongoDB World 2018: Data Models for Storing Sophisticated Customer Journeys i...
MongoDB World 2018: Data Models for Storing Sophisticated Customer Journeys i...MongoDB World 2018: Data Models for Storing Sophisticated Customer Journeys i...
MongoDB World 2018: Data Models for Storing Sophisticated Customer Journeys i...MongoDB
 
Mail tracker mini
Mail tracker miniMail tracker mini
Mail tracker minipendyam
 
Extend the Capabilities of SugarCRM Using SMS | SugarCon 2011
Extend the Capabilities of SugarCRM Using SMS | SugarCon 2011Extend the Capabilities of SugarCRM Using SMS | SugarCon 2011
Extend the Capabilities of SugarCRM Using SMS | SugarCon 2011SugarCRM
 

Ähnlich wie Mobilizing Your Rails Application - LA Ruby Conference 2009 (20)

Send Sms with SmsManager Api In Android with Kotlin
Send Sms with SmsManager Api In Android with KotlinSend Sms with SmsManager Api In Android with Kotlin
Send Sms with SmsManager Api In Android with Kotlin
 
test validation
test validationtest validation
test validation
 
Test DB user
Test DB userTest DB user
Test DB user
 
How to Convert a Component Design into an MUI React Code
How to Convert a Component Design into an MUI React CodeHow to Convert a Component Design into an MUI React Code
How to Convert a Component Design into an MUI React Code
 
Mobilizing Your Rails Application - Rails Underground, London, UK
Mobilizing Your Rails Application - Rails Underground, London, UKMobilizing Your Rails Application - Rails Underground, London, UK
Mobilizing Your Rails Application - Rails Underground, London, UK
 
Android
AndroidAndroid
Android
 
AndroidLab_IT.pptx
AndroidLab_IT.pptxAndroidLab_IT.pptx
AndroidLab_IT.pptx
 
How To Flex - Fondamentali
How To Flex - FondamentaliHow To Flex - Fondamentali
How To Flex - Fondamentali
 
Android introduction by vidya topa
Android introduction by vidya topaAndroid introduction by vidya topa
Android introduction by vidya topa
 
Implementation of Push Notification in React Native Android app using Firebas...
Implementation of Push Notification in React Native Android app using Firebas...Implementation of Push Notification in React Native Android app using Firebas...
Implementation of Push Notification in React Native Android app using Firebas...
 
Android Application Component: BroadcastReceiver Tutorial
Android Application Component: BroadcastReceiver TutorialAndroid Application Component: BroadcastReceiver Tutorial
Android Application Component: BroadcastReceiver Tutorial
 
Lecture19
Lecture19Lecture19
Lecture19
 
Introduction to Polymer and Firebase - Simon Gauvin
Introduction to Polymer and Firebase - Simon GauvinIntroduction to Polymer and Firebase - Simon Gauvin
Introduction to Polymer and Firebase - Simon Gauvin
 
MMS Parser
MMS ParserMMS Parser
MMS Parser
 
SMS and MyCommunity Gregynog 2007
SMS and MyCommunity Gregynog 2007SMS and MyCommunity Gregynog 2007
SMS and MyCommunity Gregynog 2007
 
LAPHP/LAMPSig Talk: Intro to SendGrid - Building a Scalable Email Infrastructure
LAPHP/LAMPSig Talk: Intro to SendGrid - Building a Scalable Email InfrastructureLAPHP/LAMPSig Talk: Intro to SendGrid - Building a Scalable Email Infrastructure
LAPHP/LAMPSig Talk: Intro to SendGrid - Building a Scalable Email Infrastructure
 
MongoDB World 2018: Data Models for Storing Sophisticated Customer Journeys i...
MongoDB World 2018: Data Models for Storing Sophisticated Customer Journeys i...MongoDB World 2018: Data Models for Storing Sophisticated Customer Journeys i...
MongoDB World 2018: Data Models for Storing Sophisticated Customer Journeys i...
 
How to build typing indicator in a Chat app
How to build typing indicator in a Chat appHow to build typing indicator in a Chat app
How to build typing indicator in a Chat app
 
Mail tracker mini
Mail tracker miniMail tracker mini
Mail tracker mini
 
Extend the Capabilities of SugarCRM Using SMS | SugarCon 2011
Extend the Capabilities of SugarCRM Using SMS | SugarCon 2011Extend the Capabilities of SugarCRM Using SMS | SugarCon 2011
Extend the Capabilities of SugarCRM Using SMS | SugarCon 2011
 

Mehr von Brendan Lim

Developing Cocoa Applications with macRuby
Developing Cocoa Applications with macRubyDeveloping Cocoa Applications with macRuby
Developing Cocoa Applications with macRubyBrendan Lim
 
Introduction to Palm's Mojo SDK
Introduction to Palm's Mojo SDKIntroduction to Palm's Mojo SDK
Introduction to Palm's Mojo SDKBrendan Lim
 
Building Native Apps With Titanium Mobile
Building Native Apps With Titanium MobileBuilding Native Apps With Titanium Mobile
Building Native Apps With Titanium MobileBrendan Lim
 
Im Mobile Who's Coming With Me
Im Mobile Who's Coming With MeIm Mobile Who's Coming With Me
Im Mobile Who's Coming With MeBrendan Lim
 
MacRuby to The Max
MacRuby to The MaxMacRuby to The Max
MacRuby to The MaxBrendan Lim
 
The Lure Of Ubiquitous Mobile
The Lure Of Ubiquitous MobileThe Lure Of Ubiquitous Mobile
The Lure Of Ubiquitous MobileBrendan Lim
 

Mehr von Brendan Lim (6)

Developing Cocoa Applications with macRuby
Developing Cocoa Applications with macRubyDeveloping Cocoa Applications with macRuby
Developing Cocoa Applications with macRuby
 
Introduction to Palm's Mojo SDK
Introduction to Palm's Mojo SDKIntroduction to Palm's Mojo SDK
Introduction to Palm's Mojo SDK
 
Building Native Apps With Titanium Mobile
Building Native Apps With Titanium MobileBuilding Native Apps With Titanium Mobile
Building Native Apps With Titanium Mobile
 
Im Mobile Who's Coming With Me
Im Mobile Who's Coming With MeIm Mobile Who's Coming With Me
Im Mobile Who's Coming With Me
 
MacRuby to The Max
MacRuby to The MaxMacRuby to The Max
MacRuby to The Max
 
The Lure Of Ubiquitous Mobile
The Lure Of Ubiquitous MobileThe Lure Of Ubiquitous Mobile
The Lure Of Ubiquitous Mobile
 

Kürzlich hochgeladen

Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Kürzlich hochgeladen (20)

Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

Mobilizing Your Rails Application - LA Ruby Conference 2009

  • 1.
  • 2.  
  • 3.
  • 4. Some mobile stats (in billions of course)
  • 5. So, how do we take advantage of this?
  • 6. Make your application accessible by the majority of web enabled mobile devices devices devices
  • 7. Keep your users engaged through SMS , MMS and E-Mail E-Mail
  • 8. Many Mobile Devices Can Access the Real Web From Flickr User Carlos Magaña
  • 9. One Web Making the same information and services available to all users regardless of the device used Making the same information and services available to all users regardless of the device used
  • 10.
  • 11.
  • 12. How does one master mobile fu?
  • 13. Not Like This ...
  • 14. Maybe Like This ...
  • 15. class ApplicationController < ActionController::Base has_mobile_fu end end
  • 17.
  • 18. <%= mobile_xhtml_doctype %> <html> <head> ... </head> <body> ... </body> </html> </html> ../layouts/ application.mobile.erb http://mobiforge.com/designing/story/comparison-xhtml-mobile-profile-and-xhtml-basic
  • 19. <?xml version=&quot;1.0&quot; charset=&quot;UTF-8&quot; ?> <!DOCTYPE html PUBLIC &quot;-//WAPFORUM//DTD XHTML Mobile 1.0//EN&quot; &quot; http://www.wapforum.org/DTD/xhtml-mobile10.dtd &quot;> <html> <head> ... </head> <body> ... </body> </html> </html> ../layouts/ application.mobile.erb http://mobiforge.com/designing/story/comparison-xhtml-mobile-profile-and-xhtml-basic
  • 20. Is the user using a specific device? is_device?( ‘blackberry’ ) Is the user using a mobile device? is_mobile_device? Is the request format currently :mobile ? in_mobile_view?
  • 21. iPhone foo_ mobilewebkit .css <%= stylesheet_link_tag 'foo' %> Android foo_ mobilewebkit .css BlackBerry foo_ blackberry .css Win Mobile foo_ mobileexplorer .css etc...
  • 22.  
  • 23. What about leveraging other mobile technologies ?
  • 24. SMS Short Message Service Short Message Service
  • 25.
  • 26. What tools can we use to send SMS messages from our Rails application?
  • 27.
  • 28. api = Clickatell::API.authenticate(' your_api_id ', ' your_username ', ' your_password ') api.send_message(' 5558675309 ', ' Hello from clickatell ') require 'clickatell'
  • 29.
  • 30. Wait, it’s free? So how does it work?
  • 31. Number: 555-867-5309 5558675309 @ vtext.com Carrier: Verizon
  • 32. deliver_sms(‘ 5558675309 ’,‘ verizon ’, ‘ hello! ’) class AwesomeController < ApplicationController has_sms_fu end end
  • 33. Some SMS Fu Carriers Alltell, Ameritech, AT&T, Bell South Mobility, BlueSkyFrog, Boost Mobile, Cellular South, Kajeet, Metro PCS, Powertel, PSC Wireless, Qwest, Southern Link, Spring, Rodgers, Suncom, T-Mobile, Virgin Mobile, Verizon Wireless , E-Plus, O2, Orange, Telconica, Vodafone ...
  • 34. What if I want to add a new carrier called Ruby Mobile ?
  • 35. carriers: ... ruby_mobile: name: Ruby Mobile value: @txt.rubymobile.com Add the following to .../config/sms_fu.yml deliver_sms(‘ 5558675309 ’,’ ruby_mobile ’, ‘ hello! ’)
  • 36. Remind Your Users That They May Get Charged from flickr user ‘bowbrick’
  • 37. MMS Multimedia Message Service Multimedia Message Service
  • 38.
  • 39. The Problem with Receiving MMS Crap Crap Crap Cat
  • 40. Well, how can I receive SMS or MMS from my Rails app ?
  • 41. Short Codes Special numbers that are, you guessed it, short, that can be used to receive SMS or MMS messages from mobile phones. Special numbers that are, you guessed it, short, that can be used to receive SMS or MMS messages from mobile phones.
  • 42.  
  • 43.
  • 44. Receiving SMS or MMS as an e-mail is another solution and its free and relatively simple
  • 45.
  • 46. Retrieve only the intended attachment mms.default_media Retrieve all media files from the MMS mms.media Retrieve only the intended message mms.body Create a new MMS2R object from a TMail object mms = MMS2R::Media.new(email)
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55. Mobilizing your Rails app is simple and easy
  • 56. Mobile Fu http://github.com/brendanlim/mobile-fu/ Clickatell http://clickatell.rubyforge.org/ SMS Fu http://github.com/brendanlim/sms-fu/ MMS2R http://github.com/monde/mms2r/