Lab 1: SMS Services - PowerPoint PPT Presentation

About This Presentation
Title:

Lab 1: SMS Services

Description:

we can't teach everything in 3 sessions! you're ... Example: SMS Job Finder Service. Service On-Demand. User texts FINDJOB JOB to 123. e.g., FINDJOB DRIVER ... – PowerPoint PPT presentation

Number of Views:131
Avg rating:3.0/5.0
Slides: 19
Provided by: luisfgsar
Category:
Tags: sms | finder | job | lab | services

less

Transcript and Presenter's Notes

Title: Lab 1: SMS Services


1
Lab 1SMS Services
MIT D-Lab ICT4D
2
Intro to Lab Sessions
  • Goal Give overview and examples to jump-start
    you
  • Three Sessions
  • SMS applications
  • J2ME (on-the-phone apps)
  • Advanced features (NFC, Location, MMS, etc.)
  • But we cant teach everything in 3 sessions!
  • youre expected to study and follow-up on your
    own
  • well just give you simple educational examples
    not necessarily the best or most scalable
    solutions
  • youre welcome to use other tools and techniques
    not taught in class
  • These tools are works in progress -- Youre
    welcome to help!

3
Recap Mobile Phone Capabilities, Apps
  • SMS (Text Messaging) based services
  • send text commands, receive info
  • receive alerts and subscriptions
  • MMS (Multimedia Messaging) based services
  • send and receive multimedia to/from server
  • J2ME (Java 2 Micro Edition) applications
  • programs running on the phone
  • e.g., games
  • Internet/Web services
  • via WAP (limited) and/or GPRS (dialup-speed
    connection)
  • via 3G (broadband speed connection)
  • Location-based services
  • services that make use of location of users
  • Micropayment applications

4
Example SMS Job Finder Service
  • Service On-Demand
  • User texts FINDJOB to 123
  • e.g., FINDJOB DRIVER
  • Service responds (via SMS text message) with
  • Agency JobsRUs. DRIVER needed as of 2/1/08, Call
    (987) 654-3210
  • Subscription Service
  • User can subscribe to alerts
  • e.g., FINDJOB SUBS DRIVER

5
Mobile Value-Added Services (VAS) Architecture
3rd party app providers (aka content providers,
CPs)
small 3rd party CPs
Users
direct connection
MNO
aggregator
SMSC
VAS gateway
in-house apps
private service via GSM modem or phone
6
Writing SMS Apps Three Options
  • direct to Mobile Network Operator
  • via Aggregator
  • using GSM modem or phone

7
Tools
  • Open Source
  • Kannel
  • SMSLib
  • Gnokii, etc.
  • Commercial
  • Aggregators
  • e.g., Clickatell
  • Libraries for Using Private Lines
  • e.g., NowSMS, WinSMS, etc.

8
Programming Options
  • Protocols
  • direct via language-specific API
  • TCP/IP-based protocols
  • e.g., CIMD, SMPP, etc.
  • HTTP-based protocols
  • GET, POST, XML-RPC
  • Languages
  • Java, PHP, anything
  • Note probably also need
  • backend database
  • web front-end

9
Legal Disclaimer
  • The information here is for educational purposes
    only
  • We assume your programs will be used for
    private/personal use only
  • If you want to do a commercial or high-volume
    application, you may have to contact a mobile
    operator or an aggregator in your target market

10
Lab Examples
11
Writing an App (Easy!)
  • public interface SMSApplication
  • public SMSMessage onSMSMessageReceived(SMSMessa
    ge incomingMsg)
  • public void setSMSSender(SMSSender sender)
  • public interface SMSSender
  • public boolean sendSMSMessage(SMSMessage
    outgoingMsg)

IMPLEMENT THIS
12
How to connect your app
  • Via Java
  • via GSM modem adapter
  • via SMSLib
  • via HTTP GET adapter
  • connecting from Kannel or other gateways
  • (via email adapter)
  • Alternative PHP

13
Other Issues
  • Databases
  • Web Interface

14
References
  • See ict4dlab.org for more info and links
  • This is under development, so visit often for
    up-to-date info

15
Application Design Tips and Tricks
16
Caveats
  • Watch how you keep state
  • if you are running app from command-line, state
    that is not written to disk or persistent
    database will get lost when you run the app again
  • similar issues with web-based solutions

17
Caveats Security
  • Watch for SQL Injection attacks!

18
General User-Interface Tips
  • Make inputs case-insensitive
  • Also whitespace insensitive
  • Avoid hard-to-type characters
  • Try to use keywords in T9 dictionary (or compound
    words composed of such words)
  • Reply-based interfaces
  • keep per-user state of last transaction
  • enables simpler Reply with commands
  • e.g., Reply NEXT to continue to get more info
Write a Comment
User Comments (0)
About PowerShow.com