Архив метки: api

Конец Apollo

Apollo will close down on June 30th. Reddit’s recent decisions and actions have unfortunately made it impossible for Apollo to continue. Thank you so, so much for all the support over the years.

Конечно, это не первая и не последняя история, когда чей-то бесплатный API перестает быть бесплатным, но из всех, которые можно припомнить, эта самая драматичная. Да и просто громкая, учитывая масштаб Reddit и популярность самого Apollo.

Очевидно, что грядущий выход на IPO сыграл тут главную роль, началось составление красивой истории для инвесторов. Характерный момент: еще в начале года Reddit сообщал Кристиану, что в 2023 году изменений в API не планируется. Однако они не только произошли, но и тарифы оказались в разы выше самых смелых ожиданий.

Со стороны Кристиана был не слишком ловкий ход, когда он предложил заплатить ему 10 млн за то, чтобы приложение стало «quiet». За что платить? Им не нужно твое приложение, просто закрой бесплатно. Другое дело, что Reddit воспринял это как шантаж (понимать quiet можно по-разному), но это просто недалекость ума, по-моему.

Бесконечно можно обсуждать то, что доступ к API в течение 8 лет был бесплатным, а Кристиан зарабатывал на продаже подписок. Но точка, к которой все равно будешь возвращаться — это аморальность использования разработчиков для того, чтобы они взращивали популярность сервиса, а затем — выбрасывание их на помойку в любой удобный момент.

Важные уроки:

  1. Если ты используешь что-то на условиях, которые тебя устраивают, и это что-то собирается на IPO, начинай собирать вещи.
  2. Если ты продаешь подписки на что-то, использующее сторонний API, то при изменении условий ты можешь еще и остаться должен.

Изменения в Facebook API с 30 апреля 2015 года

Operation Developer Love. Подавление разработчиков в любовном порыве

30 апреля 2015 года вступят в силу, пожалуй, самые драматичные изменения в Facebook API за всю его историю. Они коснутся всех без исключения разработчиков. В сущности, это не столько изменения, сколько ограничения, которые для многих приложений будут означать либо прекращение их существования, либо существенное урезание функционала (которое, опять же, поставит под вопрос смысл их существования).

Нам тоже придется отказаться от фейсбучного функционала на крупном проекте. Я посмотрел сегодня — у нас порядка 30 тысяч пользователей воспользовались этим функционалом за все время, и теперь его не будет. Фейсбук хочет, чтобы все просто сидели в Фейсбуке. В интернете OpenGraph уже называют ClosedGraph, что достаточно точно отражает суть происходящего.

Итак, что же произойдет 30 апреля?
Читать далее 

Тормоза Facebook API

Facebook API оказался нереально медленным. Сидя в России, конечно, чувствуешь, как немного медленнее, чем хотелось бы, Фейсбук работает для пользователя, но вот его API просто побил все рекорды. Я забираю сопоставимый набор информации из ВКонтакте и из Фейсбука. В обоих случаях есть возможность объединить несколько запросов в один. Про VK уже писал, и там информация немного устарела — теперь выполняется не два запроса, а один составной, в среднем за 0,15...0,2 с. С Фейсбуком получается 2...2,5 с, что совершенно неприемлемо. Мне и полсекунды много, а тут две. Даже когда запускаешь какой-нибудь FQL-запрос в Graph API Explorer, видно, как мучительно он соображает.

Тяжеловесно, да.

На этот момент получается, что Фейсбук задерживает все остальное, так как сначала генерится страница целиком и только потом отдается пользователю. Нужно переводить все это дело на AJAX, но тогда, на первый взгляд, придется запускать несколько параллельных запросов, что усложняет схему. Пока думаю. И еще неясно, как это будет выглядеть на мобильных.

Лечение тормозов при обращении к API внешних сервисов

В любом проекте, где есть обращения к внешним API, именно их следует в первую очередь рассматривать как причину тормозов. Тормозит не коннект к базе, не ваша логика, не загрузка локальных файлов — все это мелочи по сравнению с любыми обращениями вовне. Поэтому важно минимизировать их количество.

Очень просто и некрасиво замерить временные интервалы в PHP можно так. Можно грубо оценить, что выполняется быстро, что — медленно; понять порядок величин.

В моем случае работа с API ВКонтакте состояла из 5 обращений к нему, что в сумме занимало (в среднем) почти 0,5 с. Если скорость загрузки страницы критически важна, это очень много. К счастью, у них в API есть замечательный метод execute, позволяющий не только объединять несколько запросов в один, но и использовать промежуточные результаты, не загружая их к себе (там несложный скриптовый язык). Сокращение 5 обращений до 2 дало двукратный выигрыш в скорости.