Date post: | 27-May-2015 |
Category: |
Technology |
Upload: | fmna |
View: | 1,537 times |
Download: | 1 times |
Internet messaging on every mobile
The Kipokezi App Framework February 27, 2012
John Carroll
Director of Technology
ForgetMeNot Software
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 / #KIPAPPS
Internet messaging on every mobile
ForgetMeNot Africa
• Subsidiary of ForgetMeNot Software
• Extensible Messaging Platform (eTXT)
– Plugins for
• IM (Live Messenger, Facebook, GTalk)
• Facebook posts and comments
• Custom tools (CV Tool, #BUZZ, Spinner)
• Lives in our data center
• Licensed to Carriers
Internet messaging on every mobile
Kipokezi
• Why do you care?
• Our brand in Kenya
• On Safaricom network
• Safaricom.com email
– Google-hosted account
http://www.kipokezi.com
Internet messaging on every mobile
Kipokezi Concept
• Let’s any phone get on
• Uses SMS
– Send to virtual number “contact”
• Price per message: 0.25Ksh
Facebook GTalk
Live Messenger More..
Internet messaging on every mobile
How it works
• Command and control: 223
– Online / offline
– Who Online
– Find
– Contact creation
• Chat interactions: virtual numbers
– IM / new contact “invites”
• Coming soon: USSD, Dasuba Messenger
Internet messaging on every mobile
Internet messaging on every mobile
Internet messaging on every mobile
Internet messaging on every mobile
Extensibility API
• Let’s third parties leverage our connection
• Creates a new “trigger” on 223
• Creates a 2-way channel to your server
– Session based on “virtual number”
– 60 minutes timeout - sliding
• Session maintained
– Per Session
– Per Customer
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.safaricom.net/Registration
4. Click “Register as a Developer”
Internet messaging on every mobile
Internet messaging on every mobile
Internet messaging on every mobile
Internet messaging on every mobile
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”
Internet messaging on every mobile
Internet messaging on every mobile
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 a Kipokezi account
– Passed with each call
• Both are unstructured strings
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
}
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“
}
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=
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>
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
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. Nairobi traffic reports)
– Fills a need
Internet messaging on every mobile
Apps Challenge
• Deadline for submission: 23rd March
• Shortlist announced: April 2nd
• Hackathon: 13th-15th April
• Awards: 15th April
• Prizes
– Up to 3 iPads
– $2000
Internet messaging on every mobile
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
– https://www.facebook.com/fmnafrica
– https://www.facebook.com/groups/kipapps
– http://www.forgetmenotafrica.com