Kipokezi app framework

Post on 27-May-2015

1537 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

A presentation on the Kipokezi Apps Challenge API by John Carroll

Transcript

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 (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

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

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..

Email

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

top related