how to make successful open apis for startups (2012)

73
@channyun

Upload: channy-yun

Post on 13-May-2015

10.277 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: How to make Successful Open APIs for Startups (2012)

윤 석 찬

@channyun

Page 2: How to make Successful Open APIs for Startups (2012)
Page 3: How to make Successful Open APIs for Startups (2012)

사용자 : 트래픽, 경험, 가치

Platform 광고주 : 금전적 이익

개발자 : 재미,명성,수익

© 정진호, 오픈 API 플랫폼에 대한 이해

Page 4: How to make Successful Open APIs for Startups (2012)
Page 5: How to make Successful Open APIs for Startups (2012)
Page 6: How to make Successful Open APIs for Startups (2012)
Page 7: How to make Successful Open APIs for Startups (2012)
Page 8: How to make Successful Open APIs for Startups (2012)
Page 9: How to make Successful Open APIs for Startups (2012)
Page 10: How to make Successful Open APIs for Startups (2012)
Page 11: How to make Successful Open APIs for Startups (2012)
Page 12: How to make Successful Open APIs for Startups (2012)
Page 13: How to make Successful Open APIs for Startups (2012)
Page 14: How to make Successful Open APIs for Startups (2012)
Page 15: How to make Successful Open APIs for Startups (2012)

JVM Platform Web site

Java API Interface Open API

Java Application

Software Data

Developer Participators User, Small Biz.

API Lock-in Key Factor Data Lock-in

Page 16: How to make Successful Open APIs for Startups (2012)
Page 17: How to make Successful Open APIs for Startups (2012)
Page 18: How to make Successful Open APIs for Startups (2012)
Page 19: How to make Successful Open APIs for Startups (2012)
Page 20: How to make Successful Open APIs for Startups (2012)

OS Web Social Mobile

Internet

Dot-Com Bubble

Web 2.0 Social Graph

Cloud

Open Web Google, Amazon, Ebay

Social facebook, Twitter

Cloud AWS, Hadoop

Social Graph

Mobile iOS, Android

Closed Windows, Java

Program

Open Source GNU, Linux, Apache

Page 21: How to make Successful Open APIs for Startups (2012)

폐쇄된 API를 가진 버추얼 머신 Platform

개방된 API를 가진 웹 서비스

독자적/폐쇄형 API 개방형/표준형

학습 비용 등 진입이 어려움

Costs 빠르고 쉽게 개발 및 서비스 가능

기능 위주 Lock-in 데이터 위주

각 플랫폼 기반 개발자

Developers 웹 서비스 기반

개발자

.Net Java

Examples Google Amazon

Page 22: How to make Successful Open APIs for Startups (2012)
Page 23: How to make Successful Open APIs for Startups (2012)

– 누구나 쉽게 개발에 참여할 수 있는 다양한 개발 소스 제공

– 데이터를 다룰 수 있는 각종 오픈 소스 및 라이브러리의 무료 제공

– 참여 문화 구조의 원동력

Page 24: How to make Successful Open APIs for Startups (2012)

– 서비스와 데이터를 다룰 수 있는 각종 데이터 포맷

– 개발 플랫폼과 독립적인 정보 및 애플리케이션 구성

Page 25: How to make Successful Open APIs for Startups (2012)

– 특정 개발 환경에 종속적이지 않는 인터페이스 제공

– 손쉬운 접근 및 매쉬업을 통한 창의적 앱 개발 가능성

Page 26: How to make Successful Open APIs for Startups (2012)

Agenda

오픈 API란? 오픈 API 성공 사례 오픈 API 구현 방법 오픈 API 홍보 및 개발자 지원 Daum 오픈 API Primer & Daum

•26

Page 27: How to make Successful Open APIs for Startups (2012)

Open API? Open API is a word used to describe sets of technologies that enable

websites to interact with each other by using REST, SOAP, JavaScript and other web technologies. While its

possibilities aren't limited to web-based applications, it's becoming an increasing trend in so-called Web 2.0 applications. The term API stands for Application Programming Interface.

http://en.wikipedia.org/wiki/Open_API

Page 28: How to make Successful Open APIs for Startups (2012)

API Value Chain

Huge: Running an API at Scale @apigee

Page 29: How to make Successful Open APIs for Startups (2012)

http://api.twitter.com/1/statuses/show/99.json

Request

How to?

Page 30: How to make Successful Open APIs for Startups (2012)

Parse

"created_at": "Wed Mar 22 03:38:41 +0000 2006", "id": 99, "id_str": "99",

"text": "learning about the earthquake I felt earlier today", "source": "web", "user": { "id": 13, "name": "Biz Stone", "screen_name": "biz", "location": "San Francisco, CA", "description": "Co-founder of Twitter, Inc.", "url": "http://t.co/bdlNWgB" } }

Page 31: How to make Successful Open APIs for Startups (2012)

Use

Page 32: How to make Successful Open APIs for Startups (2012)

왜 오픈 API를? 창업자 관점

다양한 비즈니스 개발 타진 – 자원이 부족한 스타트업의 경우, 서드파티 및 파트너와

의 협업을 위해 가능성 탐지

서비스 주변 개발자 생태계 확보 – 외부 개발자들이 언제든지 API를 통해 매쉬업 개발, 버

그 리포팅, 아이디어 제공

투자자에게 플랫폼으로 어필 – 작지만 죽지 않을(?) 파트너쉽 및 개발자 생태계 구성

은 투자할 이유가 됨!

Page 33: How to make Successful Open APIs for Startups (2012)

API 증가 속도

© ProgrammableWeb.com

Page 34: How to make Successful Open APIs for Startups (2012)

API 사용 현황

© ProgrammableWeb.com 2012.3

Page 35: How to make Successful Open APIs for Startups (2012)
Page 36: How to make Successful Open APIs for Startups (2012)
Page 37: How to make Successful Open APIs for Startups (2012)

API 1billion Club

© ProgrammableWeb.com

Page 38: How to make Successful Open APIs for Startups (2012)
Page 39: How to make Successful Open APIs for Startups (2012)
Page 40: How to make Successful Open APIs for Startups (2012)

스타트업 성공 사례

• 서비스 시작부터 API 제공

• 200여개의 미투앱스

• 20여개의 소셜플러그인 제휴

• 월 2억건의 쿼리 (2011.4)

• iOS에서만 앱 제공

• 1초에 15장, 하루 130 만장 등록

• 2,500여개의 외부앱

• 250여개의 github 레포지터리

Page 41: How to make Successful Open APIs for Startups (2012)

Fred Wilson’s 10 Golden Principles of Successful Web Apps

5. Make it Programmable

http://thinkvitamin.com/web-apps/fred-wilsons-10-golden-principles-of-successful-web-apps/

Page 42: How to make Successful Open APIs for Startups (2012)

왜 오픈 API를? 개발자 관점

프로그래밍은 결국 API 디자인 – 좋은 코드는 Module화 되어 있고, 각 모듈은 API로 구

성되어 있다.

좋은 API는 높은 재사용성 제공 – API 사용자가 생기면 변경하기가 어려우며, 처음 부터

설계에 노력을 들이게 된다.

외부 개발자와의 협업이 가능 – 스타트업에서 개발자는 외롭다. 하지만 API를 오픈하

면 밖에도 내 편을 만들 수 있다.

Page 43: How to make Successful Open APIs for Startups (2012)

어떻게 만들어야 하나?

직관적이고 배우기 쉽게 – 문서 없이도 형식만 보고도 이해할 수 있어야 한다.

설계는 완벽하게 – 한번 만든 API는 하위 호환성 때문에 쉽게 바꾸기 어렵다.

보안은 최소화 – 너무 많은 제한을 두면 개발자로 부터 반감을 얻을 수 있다.

벤치마크 – 좋은 API를 따라한다. Copy & Paste가 답!

Page 44: How to make Successful Open APIs for Startups (2012)
Page 45: How to make Successful Open APIs for Startups (2012)

API 서비스 프로토콜

프로토콜 종류 REST는 서비스 개발 및 활용 비용 ↓

종류 설명 형식 자원 인식

자원접근

자원처리

자원링크

사례

WS-* SOA 기반 웹서비스

WSDL을 통한 표현 Google Adsense API

RPC 자원에 파라미터로 접근

GET /service?1 Amazon SimpleDB API

API 객체 방법으로 접근

PUT /order/1 Twitter API

REST 하이퍼링크로 접근

<link type=“atom” Atom Publishing Protocol

http://www.nordsc.com/ext/classification_of_http_based_apis.html

Page 46: How to make Successful Open APIs for Startups (2012)

API Best Practices

1. 객체 표현 POST /photos/create POST /photos/show/foobar POST /photos/update/foobar POST /photos/delete/foobar

2. 호환성 http://apis.daum.net/maps/v1/js http://apis.daum.net/maps/v2/js

3. 에러처리 <apierror> <code>404</code> <message>App 인증 실패</message> <dcode>22</dcode> <dmessage>등록되지 않은 apikey 입니다.</dmessage> </apierror>

•46

Page 47: How to make Successful Open APIs for Startups (2012)

4. 다양한 포맷 (JSON, XML, RSS) { 'person' : { 'name': '...', 'age' : 22, 'dogs' : [...] } } 자바스크립트 개발자를 위한 Callback 함수 지원 필수

5. 보안 강화 – APIKey와 트래픽 제어가 필수는 아니다!

– 사용자 데이터는 oAuth 이용 – 암호화 제공은 선택 사항

Page 48: How to make Successful Open APIs for Startups (2012)

API 서비스 구조

© 김연지

Page 49: How to make Successful Open APIs for Startups (2012)

API 개발 프레임웍

웬만한 MVC 프레임웍은 지원!

– RESTful 지원 프레임웍 • http://en.wikipedia.org/wiki/Representational_State_Transfer#Fra

mework_implementations

– Django with Pistons • Django-Tastypie https://github.com/toastdriven/django-tastypie

– Ruby on Rails

Node.js

– 이벤트 기반 웹 서비스에 유리

Page 50: How to make Successful Open APIs for Startups (2012)

API 서드 파티 지원

★ 오픈 API 퍼블리싱에 도움을 줌!

http://apievangelist.com/serviceproviders/

Page 51: How to make Successful Open APIs for Startups (2012)

oAuth란?

Token

Page 52: How to make Successful Open APIs for Startups (2012)

6. 문서화 – 레퍼런스, 변경기록, 코드샘플 및 코드 놀이터

7. 기술 지원 – 오픈소스 개발방법 : 이슈트래커, 포럼, gitHub

8. 개발자 만나기 – Hackerton, DevDay, CodeJam, DevConference

•52

Page 53: How to make Successful Open APIs for Startups (2012)

개발자 지원 핸드북

•53 http://dna.daum.net/ko/developer-support-handbook

Page 54: How to make Successful Open APIs for Startups (2012)

개발자를 찾으려면? 대세는…

Page 55: How to make Successful Open APIs for Startups (2012)

Github http://github.com

Open Source Developer’s Social Networks

Page 56: How to make Successful Open APIs for Startups (2012)

API Playground

Page 57: How to make Successful Open APIs for Startups (2012)

에반젤리즘

Page 58: How to make Successful Open APIs for Startups (2012)

2005.02

2005.03

2006.10

Page 59: How to make Successful Open APIs for Startups (2012)

1.5 billion per year

5000 per day

Page 60: How to make Successful Open APIs for Startups (2012)

검색 API 지도 API 제휴 API – 주소록 API

– 알리미 API

– 마이피플 API

Page 61: How to make Successful Open APIs for Startups (2012)

외부 개발자 만남– 소통과 대화

Page 62: How to make Successful Open APIs for Startups (2012)
Page 63: How to make Successful Open APIs for Startups (2012)
Page 64: How to make Successful Open APIs for Startups (2012)
Page 65: How to make Successful Open APIs for Startups (2012)
Page 66: How to make Successful Open APIs for Startups (2012)
Page 67: How to make Successful Open APIs for Startups (2012)
Page 68: How to make Successful Open APIs for Startups (2012)
Page 69: How to make Successful Open APIs for Startups (2012)

숨어 있는 개발자 찾아주기 – DNA 개발자 포럼 홍보 채널

– DevDay 및 DevOn 행사 참여

Daum API 기반 창업팀 지원 – 사내 API 이용 제휴 지원

– 제주 프로젝트룸 제공

Page 70: How to make Successful Open APIs for Startups (2012)

Daum 개발자네트워크

Daum Developers Network & Affliates- http://dna.daum.net

Page 71: How to make Successful Open APIs for Startups (2012)
Page 72: How to make Successful Open APIs for Startups (2012)

개발자의 마음을 사는 법

Page 73: How to make Successful Open APIs for Startups (2012)

Thanks for Attention : Q&A

Seokchan (Channy) Yun

[email protected] http://channy.creation.net

http://twitter.com/channyun