The Kipokezi App Framework     February 27, 2012                  John Carroll                  Director of Technology    ...
Who am I• Me: John Carroll (kipapps@fmnsoft.com)• Director of Technology  – ForgetMeNot Africa• Working Programmer for 18 ...
ForgetMeNot Africa• Subsidiary of ForgetMeNot Software• Extensible Messaging Platform (eTXT)  – Plugins for     •   Email ...
Kipokezi•   Why do you care?•   Our brand in Kenya•   On Safaricom network•   Safaricom.com email    – Google-hosted accou...
Kipokezi Concept• Let’s any phone get on  Facebook                 GTalk  Live Messenger           More..  Email• Uses SMS...
How it works• Command and control: 223  – Online / offline  – Who Online  – Find  – Contact creation• Chat interactions: v...
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...
Register your app1. Visit:  a) www.forgetmenotafrica.com/developers2. Register as a developer3. Go to:  a) www.safaricom.n...
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)  ...
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 St...
JSON RequestPOST http://127.0.0.1:60047/SomeService.php HTTP/1.1Content-Type: application/json; charset=utf-8Host: 127.0.0...
JSON ResponseHTTP/1.1 200 OKDate: Fri, 06 Jan 2012 12:30:30 GMTContent-Type: application/json; charset=utf-8Content-Length...
HTTP POST RequestPOST http://127.0.0.1:60047/FormPostCalc.ashx HTTP/1.1Content-Type: application/x-www-form-urlencodedHost...
HTTP POST ResponseHTTP/1.1 200 OKDate: Fri, 06 Jan 2012 12:30:25 GMTContent-Type: text/xml; charset=utf-8Content-Length: 1...
Extensibility Roadmap• USSD• Push SMS to User  – Requires user authorization  – Daily limit• Group Chat  – Loop in Social ...
Important Points• Revenue share: 20% of our rev share• Only make money from SMS-MO• Apps MUST encourage dialogue  – Approv...
Apps Challenge•   Deadline for submission: 23rd March•   Shortlist announced: April 2nd•   Hackathon: 13th-15th April•   A...
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    ...
Upcoming SlideShare
Loading in...5
×

Kipokezi app framework

1,564

Published on

A presentation on the Kipokezi Apps Challenge API by John Carroll

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,564
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
33
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Kipokezi app framework

  1. 1. The Kipokezi App Framework February 27, 2012 John Carroll Director of Technology ForgetMeNot Software Internet messaging on every mobile
  2. 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. 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. 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. 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. 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
  7. 7. Internet messaging on every mobile
  8. 8. Internet messaging on every mobile
  9. 9. Internet messaging on every mobile
  10. 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. 11. Register your app1. Visit: a) www.forgetmenotafrica.com/developers2. Register as a developer3. Go to: a) www.safaricom.net/Registration4. Click “Register as a Developer” Internet messaging on every mobile
  12. 12. Internet messaging on every mobile
  13. 13. Internet messaging on every mobile
  14. 14. Internet messaging on every mobile
  15. 15. Internet messaging on every mobile
  16. 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
  17. 17. Internet messaging on every mobile
  18. 18. Internet messaging on every mobile
  19. 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. 20. JSON RequestPOST http://127.0.0.1:60047/SomeService.php HTTP/1.1Content-Type: application/json; charset=utf-8Host: 127.0.0.1:60047Content-Length: 105Expect: 100-continue{ "customerstate":null, "id":"09883dc9-a90c-4bb6-b71f-73e94a56e618", "msg":"#calc Dave", "sessionstate":null} Internet messaging on every mobile
  21. 21. JSON ResponseHTTP/1.1 200 OKDate: Fri, 06 Jan 2012 12:30:30 GMTContent-Type: application/json; charset=utf-8Content-Length: 138Connection: 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. 22. HTTP POST RequestPOST http://127.0.0.1:60047/FormPostCalc.ashx HTTP/1.1Content-Type: application/x-www-form-urlencodedHost: 127.0.0.1:60047Content-Length: 80Expect: 100-continueConnection: Keep-AliveId=d1a7ecd6-5fe5-4d5a-9d85-0c71aa1cbd04&Message=#c2&SessionState=&CustomerState= Internet messaging on every mobile
  23. 23. HTTP POST ResponseHTTP/1.1 200 OKDate: Fri, 06 Jan 2012 12:30:25 GMTContent-Type: text/xml; charset=utf-8Content-Length: 140Connection: 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. 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. 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. 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
  27. 27. Internet messaging on every mobile
  28. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×