Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas...

46
Bringing Web Services to IoTivity Opportunities, Challenges & Approaches Sanjeev BA Open Source Group Samsung Electronics

Transcript of Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas...

Page 1: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Bringing Web Services to IoTivity

Opportunities, Challenges & Approaches

Sanjeev BA

Open Source Group

Samsung Electronics

Page 2: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Background

Vertical Domains (Health, Manufacturing, Education, Consumer)

Consumer Services Enterprise Services

REST API SOAP based

JSON XML

Cloud Solutions

Page 3: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Opportunities

Page 4: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

IoT & The App Conundrum

Developers looking for niche areas

Direct revenues from apps slowing down

52% make < $1000 / month

53% working on IoT related apps already.

Estimated 5.5 Million mobile app devs.

Smart Home and Wearables

Users already have app fatigue

* Source : VisionMobile™ Developer Economics Q1 2015: State of the Developer Nation

Page 5: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Critical Contextual

Healthcare Service

User Context Location + Time

Consumer Centric

Smart Home + Retail

Page 6: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Critical

•Legacy system integration

•Regulatory

Contextual

•Sensor + service integration

Enriched Consumer Experience

•Smart Shopping Cart

•Tap device to order

Services in the IoT Context

Page 7: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Challenges

Page 8: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

SDK Overload for Developers

Developer.Tizen.org

Developer.android.com

Developer.apple.com

developers.facebook.com

developer.paypal.com

dev.twitter.com

Iotivity SDK

AllJoyn SDK

MQTT SDK

App Developers

( Ex. Streaming Music)

Platform SDK Web Service SDKIoT SDK

Page 9: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Siloed Ecosystems

THING MAKERS ARE LOOKING TO DIFFERENTIATE

WITH THE HELP OF WEB SERVICES

Store 1 Store 2 Store 3

Page 10: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

App Overload For Users

Smart

ThingsFlipkart

Sonos

Sphero

Path

Twitter

Skype Hue

User

!=Service

Integrator

Page 11: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Current Approaches

Page 12: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Dedicated Hub + Cloud Service Model

Cloud

Service

IoT Network

App

Page 13: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Service Plugin Model

Cloud

Service

Web Service Plugin

Web Service Profile

Package

Download

Server

IoT Network

App

Page 14: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Distributed App Control Model

Service

Integrator

Backend

App

IoT NetworkDistributed App Control

App

App

Page 15: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Web Service Interface

Page 16: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Web Service Interface (WSI)

Enabler of interactions

IoTivity applications & Web Services

Web service abstraction

IoTivityWeb

ServiceInterface

WebServices

RESTful Services

IoTivity

Device

IoTivity

Device

Service AccessAuth Handling

App

SOAP Base Services

Page 17: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Key Concepts

Roles

Web Service Provider

WSI

IoT Device Manufacturer

IoT App Developer

Users

Service Description

Services

Capabilities

Authentication and Authorization

Page 18: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Roles

UsersWeb Service

Provider

Application

Developer

Device Manufacturers

Page 19: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Service Description

What is service description

A way to represent web services to WSI

Service Block (JSON)

Metadata

Authorization

Capability List

TAGS

Service

DescriptionWSI

Page 20: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Service Block Example

"name":“Openweathermap",

"id":“org.openweathermap",

"description":“A service that has weather for more than 200,000 cities",

“logo" : "http://openweathermap.org/images/OWM_logo32_32.png"

META DATA

capabilities:[

{Capability1: },

{Capability2: },

{CapabilityN: }

]

CAPABILITY LIST

"tags":[

"search",

“weather”

]

TAGS

Page 21: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Capability

What is a capability

Represents different API offered by the Service

Capability Block (JSON)

Metadata block

Headers

Responses

TAGS

Service

DescriptionWSI

Post Tweet

Now Trending

Timeline

Status

Page 22: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Capability Example

capability:[

{

id : org.openweathermap.findbycity,

isauthrequired : true,

endpoint : api.openweathermap.org/data/2.5/weather

endpointtype : REST,

operation : GET,

params :{

q : {{cityname}}

},

headers :{

x-custom : {{cityname}}

},

response :{

<response JSON body format>

}

CAPABILITY DESCRIPTION

Page 23: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Authorization Example

auth:{

type :oauth2.0,

subtype :application-only,

appcredentials: {

cust_key :{{cust_key}}

cust_sec :{{cust_secret}}

oauth_key :{{oauth_key}}

oauth_sec :{{oauth_secret}}

}

}

Page 24: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Applying Service Description

- A Use Case

Page 25: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Use Case #1: Web Service + IoT Device

Brew my

coffee based

on weather

Thin Device

Weather Service

Alarm Event

WSIWeb

ServiceIoT

DeviceIoT App

IoTAlarmApp

Page 26: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Smart Phone with WSI

Initialization

Use Case #1

OpenWeatherMap

WSI

RESTful endpoint

onObserve()

IoTivityCoffee Maker

obServeResource()

JSON Response

Service Description(Offline / Download)

Smart Alarm App(w/ IoTivity)

WSI_Capability_Request(“Weather”, “Time”, “Location”)

WSI_Connect()

App Logic

Hot Cappuccino

Result From

Service Description

Find List of

Providers : Tag = Weather

Page 27: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Smart Phone with WSI

Initialization

Use Case #1 : Adding Service Provider

Accuweather WSI

RESTful endpoint

onObserve()

IoTivityCoffee Maker

obServeResource()

JSON Response

Service Description(Offline / Download)

Smart Alarm App(w/ IoTivity)

WSI_Capability_Request(“Weather”, “Time”, “Location”)

WSI_Connect()

App Logic

Hot Cappuccino

Result from

Service Description

Find List of

Providers : Tag = Weather

Page 28: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Use Case #2 : Share with friends

Coffee recipe

Thin Device

Sharing

Service

IoTAlarmApp

Page 29: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Smart Phone with WSI

Configuration Phase

Use Case #2 : Tweet The Recipe

Twitter WSI

Post Recipe to Twitter

IoTivityCoffee Maker

IoT Alarm App

“Share” To Twitter

Hot CappuccinoWith Cream Recipe

Check

Service Description

& local cache

Twitter Auth Flow

Update AuthCache

Report Status

Cust Key + Secret{MSG}

User AuthIf required

Page 30: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Putting it all together

Web Services Interface

Platform

Adaptation Linux Android Web

WSI API Interface

Web Services

Manager

Service HandlerConfig

& Caching

Auth

ManagerWSI

Daemon /

Service

Tizen

WSI Configuration App

Page 31: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Web Service Interface Daemon

Web Services ManagerParses the service description

Provides representation of the description

Service HandlerInvokes requested API

Processes the response

Uses Auth Manager to delegate Auth flows.Uses platform HTTP stack

Auth ManagerPerforms Auth related flowsManages application specific auth cache.

Token Refresh Handling

Config & Caching

Page 32: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

WSI API Interface

• Provides a simple set of API to discover and utilize services

API overview

WSI_Connect() Connect to the WSI Daemon / Service Application

List<Service> WSI_Get_Services(“User Action Tag”)

List<Capability> WSI_Get_Capabilities(Service)

Request_Handle WSI_Capability_Request(Capability, Callback)

Callback(Request_Handle, Capability_Result)

Page 33: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Configuration App

Provides frontend for users to configure web

services.

Enabling and disabling individual capabilities

Helps with Auth flows involving a browser.

Page 34: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Deployment View : Linux, Tizen

Web Service Interface

Service

Description

Send Tweet

Get

Sentiment

IoTivity Application

WebService

Manager

IoTivity

Network

IoTivity SDK

(C++)

Auth Cache

WSI C++

Library

WSI

DBus

Or

Service App

Web

ServiceWSI Config

AppWSI C++

Library

Page 35: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Deployment View : Android

Web Service Interface

Service

Description

Send Tweet

Get Sentiment

IoTivity Application

WebService

Manager

IoTivity

Network

IoTivity SDK

(Android)

Auth Cache

WSI Android

Library

WSI

Android

Service

Web

ServiceWSI Config

AppWSI Android

Library

Page 36: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Challenges Addressed By WSI

App Overload ?SDK Overload ?

Siloed Ecosystems ?Enable Web Services

Integration?

Developer.

Tizen.org

Developer.

android.co

m

Developer.

apple.com

developers .f

acebook.co

m

developer.p

aypal.

com

dev.t w itter.

com

I ot ivity

SDK

AllJoy

n SDK

M QTT

SDK

App Developers( Ex. Streaming Music)

P

l

a

t

f

o

r

m

S

D

K

W eb Service

SDK

I

o

T

S

D

K

S

m

a

r

t

T

h

i

n

g

s

F

l

i

p

k

a

r

t

S

o

n

o

s

S

p

h

e

r

o

P

a

t

h

T

w

i

t

t

e

r

S

k

y

p

e

H

u

e

Store 1Store 2 Store 3

H

e

a

l

t

h

c

a

r

e

S

e

r

v

i

c

e

U ser

Cont ext

Locat ion +

Time

Smart Home

+

Ret ail

Partial No

OIC & IoTivity Yes

Page 37: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Development Plan & Status

Phase 1 (Oct ‘15)

Schema definitions for popular services

Schema Parsing, Data models

Demo Web Service Use Cases

Linux, Android and Tizen support

Phase 2 (Nov ‘15)

Schema improvement (new features)

Multiuser support

Page 38: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Demo

Page 39: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Q & A

Page 40: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

License Attribution For Images

• “simpleicon social media” is an icon pack by SimpleIcon under License: CC BY 3.

• <div>Icons made by <a href="http://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="http://www.flaticon.com" title="Flaticon">www.flaticon.com</a>

is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0">CC BY 3.0</a></div>

• <div>Icons made by <a href="http://www.flaticon.com/authors/rami-mcmin" title="Rami McMin">Rami McMin</a> from <a href="http://www.flaticon.com"

title="Flaticon">www.flaticon.com</a> is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0">CC BY 3.0</a></div>

• <div>Icons made by <a href="http://www.flaticon.com/authors/situ-herrera" title="Situ Herrera">Situ Herrera</a> from <a href="http://www.flaticon.com"

title="Flaticon">www.flaticon.com</a> is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0">CC BY 3.0</a></div>

• <div>Icons made by <a href="http://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="http://www.flaticon.com" title="Flaticon">www.flaticon.com</a>

is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0">CC BY 3.0</a></div>

• <div>Icons made by <a href="http://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="http://www.flaticon.com" title="Flaticon">www.flaticon.com</a>

is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0">CC BY 3.0</a></div>

• <div>Icons made by <a href="http://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="http://www.flaticon.com" title="Flaticon">www.flaticon.com</a>

is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0">CC BY 3.0</a></div>

• <div>Icons made by <a href="http://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="http://www.flaticon.com" title="Flaticon">www.flaticon.com</a>

is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0">CC BY 3.0</a></div>

• <div>Icons made by <a href="http://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="http://www.flaticon.com" title="Flaticon">www.flaticon.com</a>

is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0">CC BY 3.0</a></div>

• <div>Icons made by <a href="http://www.flaticon.com/authors/anton-saputro" title="Anton Saputro">Anton Saputro</a> from <a href="http://www.flaticon.com"

title="Flaticon">www.flaticon.com</a> is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0">CC BY 3.0</a></div>

• <div>Icons made by <a href="http://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="http://www.flaticon.com" title="Flaticon">www.flaticon.com</a>

is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0">CC BY 3.0</a></div>

• <div>Icons made by <a href="http://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="http://www.flaticon.com" title="Flaticon">www.flaticon.com</a>

is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0">CC BY 3.0</a></div>

• <div>Icons made by <a href="http://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="http://www.flaticon.com" title="Flaticon">www.flaticon.com</a>

is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0">CC BY 3.0</a></div>

• <div>Icons made by <a href="http://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="http://www.flaticon.com" title="Flaticon">www.flaticon.com</a>

is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0">CC BY 3.0</a></div>

• <div>Icons made by <a href="http://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="http://www.flaticon.com" title="Flaticon">www.flaticon.com</a>

is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0">CC BY 3.0</a></div>

• <div>Icons made by <a href="http://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="http://www.flaticon.com" title="Flaticon">www.flaticon.com</a>

is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0">CC BY 3.0</a></div>

• <div>Icons made by <a href="http://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="http://ww.flaticon.com" title="Flaticon">www.flaticon.com</a>

is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0">CC BY 3.0</a></div>

Page 41: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Role : IoT Device Manufacturer

Function

Makers of ‘Things’

Spec Compliance

Expectations

Increased user adoption

Feature Differentiation

Page 42: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Roles : App Developers / Integrators

Function

New breed of “apps”

{Web services & IoT devices} Apps

IFTTT, Uber, Makerspace

Expectations

Maximize Asset Reuse

Simpler development

“What to” not “How to”

New revenue streams

Monetization opportunity

Page 43: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Users

Function

Consume web service & IoT Devices

Provide required credentials

Authorizing apps to use web services

Expectations

Zero/Minimal Setup overhead

Retain existing workflow

Enable new use cases.

Page 44: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Role : Web Service Provider

Function

Hosts the web service

Maps, Photos, Music Streaming

Provides access via API and Apps.

Expectations

Extending service into the IoTivity network

Minimal/No changes in existing workflows

More user engagement from multiple

sources

Page 45: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Use Case #1 : Auth Flow

OpenWeatherMap WSI IoT Alarm App

Service Descriptionhttp://api.openweathermap.org/data/2.5/forecast/cityParamsid={Location}APPID={APIKEY}

Get WeatherLocation ID : 443742

APIKey : 833e2f1ded3644f180c6d724fekjsdfsdkj

Register to get APPID/APIKEY : 833e2f1ded3644f180c6d724fekjsdfsdkj

Cache

APIKEY

http://api.openweathermap.org/data/2.5/forecast/cityParams

id=443742APPID=833e2f1ded3644f180c6d724fekjsdfsdkj

Response JSON

{

city : {name},

LIST : {

date : {d},

temp : {t},

unit : {units},

humidity : {h},

Get_Capability(“Weather”)

List of “Weather” ServicesParams : {Location}, {APIKey}Response : {name}, list <{date}, {temp}>

Callback{name}, list <{date}, {temp}>

Page 46: Bringing Web Services to IoTivity...IoT & The App Conundrum Developers looking for niche areas Direct revenues from apps slowing down 52% make < $1000 / month 53% working on IoT related

Use Case #2 : Auth Flow

Twitter WSIIoT Alarm

App

Twitter User

Client Key + Secret

Service Description

REQUEST TOKENPOST https://api.twitter.com/1.1/statuses/update.json

auth:{ … }Params status={msg}Header Authorization: {Oauth}

ACCESS TOKENhttps://api.twitter.com/1.1/statuses/update.json

auth:{ … }Params status={msg}Header Authorization: {Oauth}

STATUSPOST https://api.twitter.com/1.1/statuses/update.json

auth:{ … }Params status={msg}Header Authorization: {Oauth}

Cust Key + Secret

POST /oauth/request_token

Req token and secretAuthenticate User + Authorize App

Authorize App

Req Token + Verifier

Oauth Token + Secret

Post {msg} to twitter

Post {msg} to twitter