"API для людей: как создать API, которым по-настоящему...

Preview:

Citation preview

Евгений ЧеботарёвChief Product Officer

API для людейКак создать API, которым по-настоящему пользуются

Немного историиО том как создавался 500px

В октябре 2009 году мызапустили 500px.com, вавгусте 2011 запустили API

API в 500px

September 2011October 2011November 2011December 2011January 2012February 2012March 2012April 2012May 2012June 2012July 2012August 2012September 2012October 2012November 2012December 2012January 2013February 2013March 2013April 2013May 2013June 2013July 2013August 2013September 2013September 2011

September 2011

November 2011

November 2011

January 2012

January 2012

March 2012

March 2012

May 2012

May 2012

July 2012

July 2012

September 2012

September 2012

November 2012

November 2012

January 2013

January 2013

March 2013

March 2013

May 2013

May 2013

July 2013

July 2013

September 2013

September 2013

04008001 2001 6002 0000

0

400

400

800

800

1 200

1 200

1 600

1 600

2 000

2 000 1.3 млрд.

API в 500px

1,3 миллиарда API запросов в месяц 3600+ зарегистрированных разработчиков 4000+ приложений использующих 500px API 12 выделенных серверов Интеграция с Flipboard, Vū, Google Glass, Flavors.me,Samsung TV, и т.д. developers.500px.com

•••••

Зачем нужен API?Реализация ваших идей сторонними силами

Зачем нужен API? Возможность разрабатывать свои приложения Работать с партнёрами Использовать на хакатонах Генерировать идеи силами сторонних разработчиков

••••

Подход к созданию APIКак сделать разработку максимально удобной

Подход к созданию API Максимально упростить задачу разработчикам Сделать API максимально “futureproof”, чтобы оноставался релеватным спустя годы

••

Моделирование за лидеромКак привлечь разработчиков к вашему API

Моделирование за лидером Две компании — две типа API Flickr — устарелый тип API, но направленный нафотографию Twitter — современный API, но не фото-ориентированный

••

Моделирование за лидером На момент создания 500px API более миллионаразработчиков использовали Twitter API RESTful JSON OAuth Convention over configuration

••••

“Hit the Ground Running”Зная Twitter API легко начать разрабатывать под 500px API

Моделирование информацииПостоянный анализ требований разработчиков

Моделирование информации Анализ данных для понимания потребностей Разбивка на логические классы

••

Моделирование информации Разбивка запроса фото с комментариями на дваотдельных запроса: фото, комментарии Результат обходится “дешевле”, и пользователибыстрее видят важный им результат (фото)

{""photo":"{""""id":"4928401,""""user_id":"164677,""""name":""Northern"Fulmar",""""description":""Photographed"during"a"pelagic"trip"east"of"Cape"Cod.,""""camera":""Canon"EOSH1D"Mark"IV",""""for_sale":"false,""""width":"588,""""height":"750,""""votes_count":"36,""""favorites_count":"18,""""comments_count":"36,""""highest_rating":"97.1,""""highest_rating_date":""2012H04H16T15:05:56H04:00",""""image_url":""http://pcdn.500px.net/4928401/16666558d7ba410f50922f86f736888d8cfaf9bb/4.jpg",""""images":"{"size":"4,""url":"http://pcdn.500px.net/4928401/16666558d7ba410f50922f86f736888d8cfaf9bb/4.jpg"}""""store_download":"false,""""store_print":"false,""""user":"{""""""id":"164677,""""""username":""axelhildebrandt",""""""firstname":""Axel",""""""lastname":""Hildebrandt",""""""city":""Bethlehem",""""""country":""U.S.",""""""fullname":""Axel"Hildebrandt",""""""userpic_url":""http://acdn.500px.net/164677.jpg",""""""upgrade_status":"0"""}"}

To create code snippets, see http://ioni.st/post/980

Версия 1.0Минимальный набор

Версия 1.0 Read-write Базовые возможности сайта Аутентификация (логин) Постоянное развитие (v 1.0 просуществовал 2 дня)

••••

RTFMДокументация превыше всего

RTFM Документация находится на Github Разработчики могут предлагать правки, изменения изадавать вопросы Документация постоянно улучшается 128 коммитов, 11 авторов

••

••

Хорошая документацияГарантия того, что разработчики будут довольны

Взгляд с 10,000 метровРешение настоящих проблем с помощью аналитики

Взгляд с 10,000 метровПроанализировать как пользуются API

Server performance Оптимизация под массового потребителя Среднее время запроса 100-120 мс

•••

Взгляд с 10,000 метровFeedback-driven development

Фото + комментарии Гео-поиск Будущие сервисы компании

•••

API 2.0Взгляд в будущее

API 2.0Утилитарное использование API

Цветовой анализ Реверсивный геокодинг Анализ лиц, объектов Анализ качества фотографии (контраст, яркость,боке, композиция)

••••

API 2.0Marketplace

От небольших приложений До коммерческого лицензирования

••

@tchebotarev#yac2013

Recommended