SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
Евгений Чеботарёв
Chief Product Officer
API для людей
Как создать API, которым по-настоящему пользуются
Немного истории
О том как создавался 500px
В октябре 2009 году мы
запустили 500px.com, в
августе 2011 запустили API
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 млрд.
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	
  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
Версия 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.0
Marketplace
• От небольших приложений
• До коммерческого лицензирования
@tchebotarev
#yac2013
"API для людей: как создать API, которым по-настоящему пользуются" — Евгений Чеботарёв, 500px

Mais conteúdo relacionado

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

Андрей Чипиленко - "Разработка мобильного приложения для интернет‐мага...
Андрей Чипиленко - "Разработка мобильного	   приложения	    для интернет‐мага...Андрей Чипиленко - "Разработка мобильного	   приложения	    для интернет‐мага...
Андрей Чипиленко - "Разработка мобильного приложения для интернет‐мага...ITGinGer
 
Андрій Чипиленко "Розробка мобільного додатку для Comp-online.com.ua"
Андрій Чипиленко  "Розробка мобільного додатку для Comp-online.com.ua"Андрій Чипиленко  "Розробка мобільного додатку для Comp-online.com.ua"
Андрій Чипиленко "Розробка мобільного додатку для Comp-online.com.ua"Lviv Startup Club
 
Lumination portfolio
Lumination portfolioLumination portfolio
Lumination portfolioLumination
 
Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)Ontico
 
Управление сетками сайтов
Управление сетками сайтовУправление сетками сайтов
Управление сетками сайтовPlaytini
 
Управление сетками сайтов
Управление сетками сайтовУправление сетками сайтов
Управление сетками сайтовЕвгений Летов
 
130112 shuvaev digital_branding
130112 shuvaev digital_branding130112 shuvaev digital_branding
130112 shuvaev digital_brandingYuri Tsygankov
 
Sochi2014 тендерная документация
Sochi2014 тендерная документацияSochi2014 тендерная документация
Sochi2014 тендерная документацияTachat Igityan
 
опыт Clickberry.com стартап на drupal в облаке павел загор
опыт Clickberry.com   стартап на drupal в облаке павел загоропыт Clickberry.com   стартап на drupal в облаке павел загор
опыт Clickberry.com стартап на drupal в облаке павел загорdrupalconf
 
Советы владельцам агентств по интернет-маркетингу
Советы владельцам агентств по интернет-маркетингуСоветы владельцам агентств по интернет-маркетингу
Советы владельцам агентств по интернет-маркетингуГеннадий Метёлкин
 
Презентация сайта для агенства недвижимости "Авангард Сити"
Презентация сайта для агенства недвижимости "Авангард Сити"Презентация сайта для агенства недвижимости "Авангард Сити"
Презентация сайта для агенства недвижимости "Авангард Сити"Artem Laptev
 
доклад на вмк 15.10.2015
доклад на вмк 15.10.2015доклад на вмк 15.10.2015
доклад на вмк 15.10.2015Alexandr Petrov
 
презентация про тренды в Seo
презентация про тренды в Seoпрезентация про тренды в Seo
презентация про тренды в SeoOptima-PROMO
 
Кейс по разработке сервиса_SayMeWow (Android, iOS)
Кейс по разработке сервиса_SayMeWow (Android, iOS)Кейс по разработке сервиса_SayMeWow (Android, iOS)
Кейс по разработке сервиса_SayMeWow (Android, iOS)WOX APP
 
FrontEnd: JS + css + html
FrontEnd: JS + css + htmlFrontEnd: JS + css + html
FrontEnd: JS + css + htmlIntersog
 
Trening modul2-webinar12
Trening modul2-webinar12Trening modul2-webinar12
Trening modul2-webinar12olgaoov
 

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

Андрей Чипиленко - "Разработка мобильного приложения для интернет‐мага...
Андрей Чипиленко - "Разработка мобильного	   приложения	    для интернет‐мага...Андрей Чипиленко - "Разработка мобильного	   приложения	    для интернет‐мага...
Андрей Чипиленко - "Разработка мобильного приложения для интернет‐мага...
 
Андрій Чипиленко "Розробка мобільного додатку для Comp-online.com.ua"
Андрій Чипиленко  "Розробка мобільного додатку для Comp-online.com.ua"Андрій Чипиленко  "Розробка мобільного додатку для Comp-online.com.ua"
Андрій Чипиленко "Розробка мобільного додатку для Comp-online.com.ua"
 
Lumination portfolio
Lumination portfolioLumination portfolio
Lumination portfolio
 
Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)
 
Управление сетками сайтов
Управление сетками сайтовУправление сетками сайтов
Управление сетками сайтов
 
Управление сетками сайтов
Управление сетками сайтовУправление сетками сайтов
Управление сетками сайтов
 
Pril2
Pril2Pril2
Pril2
 
Mobile credentials
Mobile credentialsMobile credentials
Mobile credentials
 
130112 shuvaev digital_branding
130112 shuvaev digital_branding130112 shuvaev digital_branding
130112 shuvaev digital_branding
 
Sochi2014 тендерная документация
Sochi2014 тендерная документацияSochi2014 тендерная документация
Sochi2014 тендерная документация
 
опыт Clickberry.com стартап на drupal в облаке павел загор
опыт Clickberry.com   стартап на drupal в облаке павел загоропыт Clickberry.com   стартап на drupal в облаке павел загор
опыт Clickberry.com стартап на drupal в облаке павел загор
 
Советы владельцам агентств по интернет-маркетингу
Советы владельцам агентств по интернет-маркетингуСоветы владельцам агентств по интернет-маркетингу
Советы владельцам агентств по интернет-маркетингу
 
Презентация сайта для агенства недвижимости "Авангард Сити"
Презентация сайта для агенства недвижимости "Авангард Сити"Презентация сайта для агенства недвижимости "Авангард Сити"
Презентация сайта для агенства недвижимости "Авангард Сити"
 
InDev Group
InDev GroupInDev Group
InDev Group
 
доклад на вмк 15.10.2015
доклад на вмк 15.10.2015доклад на вмк 15.10.2015
доклад на вмк 15.10.2015
 
презентация про тренды в Seo
презентация про тренды в Seoпрезентация про тренды в Seo
презентация про тренды в Seo
 
Кейс по разработке сервиса_SayMeWow (Android, iOS)
Кейс по разработке сервиса_SayMeWow (Android, iOS)Кейс по разработке сервиса_SayMeWow (Android, iOS)
Кейс по разработке сервиса_SayMeWow (Android, iOS)
 
Results Web Ready 2009 Partners
Results Web Ready 2009 PartnersResults Web Ready 2009 Partners
Results Web Ready 2009 Partners
 
FrontEnd: JS + css + html
FrontEnd: JS + css + htmlFrontEnd: JS + css + html
FrontEnd: JS + css + html
 
Trening modul2-webinar12
Trening modul2-webinar12Trening modul2-webinar12
Trening modul2-webinar12
 

Mais de Yandex

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksYandex
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Yandex
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаYandex
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаYandex
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Yandex
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Yandex
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Yandex
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Yandex
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Yandex
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Yandex
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Yandex
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Yandex
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровYandex
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Yandex
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Yandex
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Yandex
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Yandex
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Yandex
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Yandex
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Yandex
 

Mais de Yandex (20)

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of Tanks
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
 

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

  • 1.
  • 2.
  • 3. Евгений Чеботарёв Chief Product Officer API для людей Как создать API, которым по-настоящему пользуются
  • 4. Немного истории О том как создавался 500px
  • 5. В октябре 2009 году мы запустили 500px.com, в августе 2011 запустили API
  • 6.
  • 7.
  • 8.
  • 9. 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 млрд.
  • 10. API в 500px • 1,3 миллиарда API запросов в месяц • 3600+ зарегистрированных разработчиков • 4000+ приложений использующих 500px API • 12 выделенных серверов • Интеграция с Flipboard, Vū, Google Glass, Flavors.me, Samsung TV, и т.д. • developers.500px.com
  • 11. Зачем нужен API? Реализация ваших идей сторонними силами
  • 12. Зачем нужен API? • Возможность разрабатывать свои приложения • Работать с партнёрами • Использовать на хакатонах • Генерировать идеи силами сторонних разработчиков
  • 13. Подход к созданию API Как сделать разработку максимально удобной
  • 14. Подход к созданию API • Максимально упростить задачу разработчикам • Сделать API максимально “futureproof”, чтобы он оставался релеватным спустя годы
  • 15.
  • 16. Моделирование за лидером Как привлечь разработчиков к вашему API
  • 17. Моделирование за лидером • Две компании — две типа API • Flickr — устарелый тип API, но направленный на фотографию • Twitter — современный API, но не фото- ориентированный
  • 18. Моделирование за лидером • На момент создания 500px API более миллиона разработчиков использовали Twitter API • RESTful • JSON • OAuth • Convention over configuration
  • 19. “Hit the Ground Running” Зная Twitter API легко начать разрабатывать под 500px API
  • 21. Моделирование информации • Анализ данных для понимания потребностей • Разбивка на логические классы
  • 22. Моделирование информации • Разбивка запроса фото с комментариями на два отдельных запроса: фото, комментарии • Результат обходится “дешевле”, и пользователи быстрее видят важный им результат (фото)
  • 23. {    "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
  • 24.
  • 26. Версия 1.0 • Read-write • Базовые возможности сайта • Аутентификация (логин) • Постоянное развитие (v 1.0 просуществовал 2 дня)
  • 28. RTFM • Документация находится на Github • Разработчики могут предлагать правки, изменения и задавать вопросы • Документация постоянно улучшается • 128 коммитов, 11 авторов
  • 29. Хорошая документация Гарантия того, что разработчики будут довольны
  • 30. Взгляд с 10,000 метров Решение настоящих проблем с помощью аналитики
  • 31. Взгляд с 10,000 метров Проанализировать как пользуются API • Server performance • Оптимизация под массового потребителя • Среднее время запроса 100-120 мс
  • 32. Взгляд с 10,000 метров Feedback-driven development • Фото + комментарии • Гео-поиск • Будущие сервисы компании
  • 33.
  • 34. API 2.0 Взгляд в будущее
  • 35. API 2.0 Утилитарное использование API • Цветовой анализ • Реверсивный геокодинг • Анализ лиц, объектов • Анализ качества фотографии (контраст, яркость, боке, композиция)
  • 36. API 2.0 Marketplace • От небольших приложений • До коммерческого лицензирования