38

"API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

  • Upload
    yandex

  • View
    2.204

  • Download
    1

Embed Size (px)

Citation preview

Page 1: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px
Page 2: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px
Page 3: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

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

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

Page 4: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

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

Page 5: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

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

Page 6: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px
Page 7: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px
Page 8: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px
Page 9: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

API в 500px

0

375

750

1 125

1 500

September 2011 November 2011 January 2012 March 2012 May 2012 July 2012 September 2012 November 2012 January 2013 March 2013 May 2013 July 2013 September 2013

1.3 млрд.

Page 10: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

API в 500px

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

Page 11: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

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

Page 12: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

Зачем нужен API?

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

Page 13: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

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

Page 14: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

Подход к созданию API

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

Page 15: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px
Page 16: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

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

Page 17: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

Моделирование за лидером

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

Page 18: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

Моделирование за лидером

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

Page 19: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

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

Page 20: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

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

Page 21: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

Моделирование информации

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

Page 22: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

Моделирование информации

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

Page 23: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

{    "photo":  {        "id":  4928401,        "user_id":  164677,        "name":  "Northern  Fulmar",        "description":  "Photographed  during  a  pelagic  trip  east  of  Cape  Cod.,        "camera":  "Canon  EOS-­‐1D  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":  "2012-­‐04-­‐16T15:05:56-­‐04: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

Page 24: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px
Page 25: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

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

Page 26: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

Версия 1.0

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

Page 27: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

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

Page 28: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

RTFM

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

Page 29: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

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

Page 30: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

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

Page 31: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

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

Проанализировать как пользуются API• Server performance• Оптимизация под массового потребителя• Среднее время запроса 100-120 мс

Page 32: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

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

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

Page 33: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px
Page 34: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

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

Page 35: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

API 2.0

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

Page 36: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

API 2.0

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

Page 37: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

@tchebotarev#yac2013

Page 38: "API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px