28
Internet messaging on every mobile The eTXT App Framework March 28, 2012 John Carroll Director of Technology ForgetMeNot Software

Etxt app framework

  • Upload
    fmna

  • View
    1.225

  • Download
    0

Embed Size (px)

DESCRIPTION

A presentation on the eTXT Apps Challenge API by John Carroll

Citation preview

Page 1: Etxt app framework

Internet messaging on every mobile

The eTXT App Framework March 28, 2012

John Carroll

Director of Technology

ForgetMeNot Software

Page 2: Etxt app framework

Internet messaging on every mobile

Who am I

• Me: John Carroll ([email protected])

• Director of Technology

– ForgetMeNot Africa

• Working Programmer for 18 years

• Blog: http://blogs.zdnet.com/carroll

• Twitter:

– @FmnJohn

– @FMNA / #ZETXT

Page 3: Etxt app framework

Internet messaging on every mobile

ForgetMeNot Africa

• Subsidiary of ForgetMeNot Software

• Extensible Messaging Platform (eTXT)

– Plugins for

• Email

• IM (Live Messenger, Facebook, GTalk)

• Facebook posts and comments

• Custom tools (CV Tool, #BUZZ, Spinner)

• Lives in our data center

• Licensed to Carriers

Page 4: Etxt app framework

Internet messaging on every mobile

eTXT

• Why do you care?

• Our brand in Zimbabwe

• On Econet network

• econetmail.com email

– Web inbox account

– Copy to SMS

http://www.etxt.co.zw

Page 5: Etxt app framework

Internet messaging on every mobile

eTXT Concept

• Let’s any phone get on

• Uses SMS

– Send to virtual number “contact”

• Price per message: $0.02 / $0.05 on

30000

Facebook GTalk

Live Messenger More..

Email

Page 6: Etxt app framework

Internet messaging on every mobile

How it works

• Command and control: 30000

– Online / offline

– Who Online

– Find

– Contact creation

• Chat interactions: virtual numbers

– IM / new contact “invites”

• Coming soon: USSD, Dasuba Messenger

Page 7: Etxt app framework
Page 8: Etxt app framework
Page 9: Etxt app framework
Page 10: Etxt app framework

Internet messaging on every mobile

Extensibility API

• Let’s third parties leverage our connection

• Creates a new “trigger” on 30000

• Creates a 2-way channel to your server

– Session based on “virtual number”

– 60 minutes timeout - sliding

• Session maintained

– Per Session

– Per Customer

Page 11: Etxt app framework

Internet messaging on every mobile

Register your app

1. Visit:

a) www.forgetmenotafrica.com/developers

2. Register as a developer

3. Go to:

a) www.etxt.co.zw/Registration

4. Click “Register as a Developer”

Page 12: Etxt app framework
Page 13: Etxt app framework

Internet messaging on every mobile

Page 14: Etxt app framework
Page 15: Etxt app framework
Page 16: Etxt app framework

Internet messaging on every mobile

Page 17: Etxt app framework

Internet messaging on every mobile

Writing your app

• Simple call to your server

– Will announce a hosting partner soon

• Support these protocols (all HTTP)

– SOAP / XML

– JSON

– HTTP POST (form encoding)

• Specify a “trigger” command

• Test with your dev “short code”

Page 18: Etxt app framework
Page 19: Etxt app framework
Page 20: Etxt app framework

Internet messaging on every mobile

Application State

• Session State

– Passed with each subsequent call

– Lives as long as the “virtual number”

• Customer State

– Crosses session boundary

– Associated with an eTXT account

– Passed with each call

• Both are unstructured strings

Page 21: Etxt app framework

Internet messaging on every mobile

JSON Request

POST http://127.0.0.1:60047/SomeService.php HTTP/1.1

Content-Type: application/json; charset=utf-8

Host: 127.0.0.1:60047

Content-Length: 105

Expect: 100-continue

{

"customerstate":null,

"id":"09883dc9-a90c-4bb6-b71f-73e94a56e618",

"msg":"#calc Dave",

"sessionstate":null

}

Page 22: Etxt app framework

Internet messaging on every mobile

JSON Response

HTTP/1.1 200 OK

Date: Fri, 06 Jan 2012 12:30:30 GMT

Content-Type: application/json; charset=utf-8

Content-Length: 138

Connection: Close

{

"customerstate":null,

"id":"09883dc9-a90c-4bb6-b71f-73e94a56e618",

"msg":"Hi Dave. Reply with the first number to add",

"sessionstate":“Dave“

}

Page 23: Etxt app framework

Internet messaging on every mobile

HTTP POST Request

POST http://127.0.0.1:60047/FormPostCalc.ashx HTTP/1.1

Content-Type: application/x-www-form-urlencoded

Host: 127.0.0.1:60047

Content-Length: 80

Expect: 100-continue

Connection: Keep-Alive

Id=d1a7ecd6-5fe5-4d5a-9d85-

0c71aa1cbd04&Message=#c2&SessionState=&CustomerState=

Page 24: Etxt app framework

Internet messaging on every mobile

HTTP POST Response

HTTP/1.1 200 OK

Date: Fri, 06 Jan 2012 12:30:25 GMT

Content-Type: text/xml; charset=utf-8

Content-Length: 140

Connection: Close

<mt id="5b84f57d-0cc7-4840-adc5-f78c62a08e52">

<msg>Reply with the first number to add</msg>

<sessionstate />

<customerstate />

</mt>

Page 25: Etxt app framework

Internet messaging on every mobile

Extensibility Roadmap

• USSD

• Push SMS to User

– Requires user authorization

– Daily limit

• Group Chat

– Loop in Social Graph

• Reusable Algorithms

– Group Chat “Chooser” wizard

Page 26: Etxt app framework

Internet messaging on every mobile

Important Points

• Revenue share: 20% of our rev share

• Only make money from SMS-MO

• Apps MUST encourage dialogue

– Approval relies on this

• Make your apps “sticky”

– Things people need regularly

– Local Content (e.g. Harare traffic reports)

– Fills a need

Page 27: Etxt app framework

Internet messaging on every mobile

Apps Challenge

• Ideas submission: 4th May

• Ideas feedback: 11th May

• Shortlist announced: 25th May

• Shortlist Feedback: 1st June

• Test Drive: 16th June

• Awards: 1 week later

• Prizes - Up to 3 iPads, $2000

Page 28: Etxt app framework

Internet messaging on every mobile

Keep in Touch!

• This is version 1.0

• What do you want on the roadmap?

• What isn’t working correctly?

• The URLs

– www.facebook.com/fmnafrica

– www.facebook.com/groups/fmndevelopers

– www.forgetmenotafrica.com