Kipokezi app framework

1,749 views
1,651 views

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,749
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
34
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

×