1 / 18

Lab 1: SMS Services

MIT D-Lab ICT4D. Lab 1: SMS Services. 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 can’t teach everything in 3 sessions!

oma
Download Presentation

Lab 1: SMS Services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MIT D-Lab ICT4D Lab 1:SMS Services

  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 can’t teach everything in 3 sessions! • you’re expected to study and follow-up on your own • we’ll just give you simple educational examples – not necessarily the best or most scalable solutions • you’re welcome to use other tools and techniques not taught in class • These tools are works in progress -- You’re 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 • ability to send/transfer cellphone credits via SMS • leads to cash-less, credit-card less, electronic payment mechanisms

  4. Example: SMS Job Finder Service • Service On-Demand • User texts FINDJOB <JOB> 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. Open Source Kannel SMSLib Gnokii, etc. Commercial Aggregators e.g., Clickatell Libraries for Using Private Lines e.g., NowSMS, WinSMS, etc. Tools

  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!) publicinterface SMSApplication { public SMSMessage onSMSMessageReceived(SMSMessage incomingMsg); publicvoid setSMSSender(SMSSender sender); } publicinterface SMSSender { publicboolean 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”

More Related