Upload
yandex
View
2.204
Download
1
Embed Size (px)
Citation preview
Евгений Чеботарёв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