The document discusses the Kipokezi app framework, which allows any phone in Kenya to access internet messaging like Facebook, email, and IM through SMS. Developers can create apps that integrate with the framework using a REST API. The framework handles messaging through virtual numbers and passes data between apps and users through session state and customer state strings. It provides tools for developers to build out conversational apps and monetize them through a revenue share model.
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Kipokezi app framework
1. The Kipokezi App Framework
February 27, 2012
John Carroll
Director of Technology
ForgetMeNot Software
Internet messaging on every mobile
2. Who am I
• Me: John Carroll (kipapps@fmnsoft.com)
• 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
3. 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
Internet messaging on every mobile
4. 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
5. Kipokezi Concept
• Let’s any phone get on
Facebook GTalk
Live Messenger More..
Email
• Uses SMS
– Send to virtual number “contact”
• Price per message: 0.25Ksh
Internet messaging on every mobile
6. 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
10. 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
11. 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
16. 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
19. 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
20. 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
21. 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
22. 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
23. 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
24. 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
25. 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
26. 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
28. 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
Internet messaging on every mobile