Jeśli chcecie mnie wesprzeć to zapraszam do kupna mojego poradnika "Jakim jesteś Makiem?".

Twitter ogranicza API dla klientów firm trzecich; ogranicza też możliwości developerów

· Wojtek Pietrusiewicz · 29 komentarzy

To się musiało stać wcześniej czy później. Twitter wczoraj ogłosił szczegóły dotyczące przyszłości swojego API. Nowe ograniczenia być może nie są drastyczne, a zmiany dramatyczne, ale wpływają negatywnie na postrzeganie tego medium.

Wolność

Twitter, w odróżnieniu od Facebooka, zawsze kojarzył się geekom z medium wolnym. Wolnym od reklam. Wolnym od chciwości. Wolnym od wszystkiego co złe. Twitter to nasz przyjaciel, stworzony przez kilka naprawdę zacnych osób. Niestety, niektórzy z nich już dawno odeszli i pracują nad innymi projektami, a sam Twitter musi w końcu zacząć na siebie zarabiać i to zarabiać sporo – planowane są dochody na poziomie $1 miliarda w 2014 roku. Tak – jednego miliarda USD. Z samych reklam.

Facebookowi często zarzuca się, że próbuje wydoić od nas ile się tylko da. Zarzuca się Markowi, że jesteśmy jego produktem. Niezależnie jednak co o tym sądzimy, to użytkownicy FB zwyczajnie przymykają oko na reklamy, które są obecne prawie od początku. Twitter, w odróżnieniu, był przez wiele wiele lat „darmowy” i wolny od tego całego chłamu. Może to właśnie z tego powodu na Facebooka przymyka się oko, a na Twittera nie. To między innymi z tego powodu w końcu powstał płatny App.net …

Niezależnie – opinii na ten temat będzie dokładnie tyle ile osób to wszystko obchodzi. Od siebie mogę tylko powiedzieć, że z Facebooka korzystam prawie tylko i wyłącznie do prowadzenia fanpage’ów, a z Twittera dlatego, że sprawia mi przyjemność.

Przyjemność dla niewielu

Przez te kilka lat przerobiłem sporo klientów Twittera. Wszystko tak naprawdę zaczęło się od Tweetie pod OS X, ale miałem przygody dłuższe i krótsze z Echofon, Twitteriffic, Osfoora, Twittelator Neue, Hibari oraz paroma innymi. Pomimo, że Tweetbota kupiłem zaraz po tym jak się pojawił to zastąpił mi aplikację Twittera dopiero po wprowadzeniu dwóch podstawowych dla mnie funkcji: powiadomień push oraz streamingu. Ta ostatnia funkcja dba o to, żeby nowe tweety pojawiały się na linii czasu natychmiast po ich pojawieniu się na Twitterze, bez konieczności odświeżania.

Niedawno powiedziałem, że jeśli Tweetbot umrze to przestanę aktywnie korzystać z Twittera. Dzisiaj zarzucano mi, że nie doceniam ludzi tam się znajdujących; że nie doceniam medium, rozmów na nim prowadzonych i wiele więcej. Prawda jest jednak taka, że dopóki nie pojawił się Tweetbot w takiej formie w jakiej jest dzisiaj, to Twitter był dla mnie przyjemniejszym Facebookiem1. Odkąd jednak stał się moim podstawowym narzędziem do obsługi Twittera to nie wyobrażam sobie powrotu do oficjalnych aplikacji Twittera, ani tym bardziej do ich interfejsu webowego. Twitter to po prosto kolejne narzędzie, które sprawia mi dopiero radość, gdy nie muszę z nim walczyć. Gdy nie muszę tracić czasu na pewne rzeczy. Gdy jego obsługa staje się banalnie prosta. Gdy wspiera wszystkie interesujące mnie aplikacje wspierające. Tweetbot upraszcza i jednocześnie uprzyjemnia korzystanie z Twittera. Oczywiście dla mnie – każdy z nas ma inne potrzeby i wymagania. A niektórzy z Was nawet korzystają z interfejsu webowego.

Podsumowując – nie zniknę z Twittera, ale też nie będzie to miejsce, do którego będę przychodził z przyjemnością. Na to ostatnie mam już potencjalnych następców i tylko proszą się o szansę. W ostateczności moje konto stanie się kolejnym RSSem.

Ale o co dokładnie chodzi?

OAuth

In version 1.1, we will require every request to the API to be authenticated.

Autoryzacja połączenia poprzez OAuth to potencjalnie dobra wiadomość, ale niestety nie dla wszystkich. Każda aplikacja korzystająca z Twittera będzie teraz wymagała logowania się za pomocą naszego konta. Nawet jeśli tylko będziemy korzystali z webapp, której jedynym zadaniem jest przedstawienie liczby śledzących nas osób.

Limit odniesień do API

Most individual API endpoints will be rate limited at 60 calls per hour per-endpoint. Based on analysis of current use of our API, this rate limit will be well above the needs of most applications built against the Twitter API, while protecting our systems from abusive applications.

Tutaj sprawa może potencjalnie wygląda trochę gorzej, ale dla celów takich klientów jak Tweetbot, Echofon czy podobnych, nowe limity powinny wystarczyć nawet do intensywnego używania klienta. Wszystko oczywiście wyjdzie dopiero w praniu.

Zmiany w Display Guidelines

Display Guidelines, jak sama nazwa wskazuje, to wskazówki dla developerów. Niestety stają się one teraz Display Requirements – wymaganiami ze sporymi ograniczeniami. Są też na tyle nieprecyzyjne, że ciężko dokładnie określić co mają oznaczać oraz jaki będą miały wpływ na ekosystem Twittera.

3a. Reply, Retweet, and Favorite action icons must always be visible for the user to interact with the Tweet. These actions must be implemented using Web Intents or with the authenticated Twitter API.

Powyższa zasada automatycznie wyklucza 90% klientów Twittera na iOS i Androida. Co więcej – wyklucza też oficjalne narzędzia samego Twittera. Punkt 3a mówi o tym, że przyciski Odpowiedz, Retweet i inne muszą być zawsze widoczne, a jak wiemy, w najnowszych iteracjach wszelkich klientów, pojawiają się dopiero po wykonaniu gestu lub pacnięciu w sam tweet. Na dzień dzisiejszy nie wiemy co to będzie oznaczało, ale jeśli to co pisze, to na ekranie naszego telefonu za wiele tych tweetów się nie zmieści, ponieważ wokół będzie musiało być mnóstwo przycisków i innych śmieci. Osobiście wątpię, aby do tego doszło, ale to jedynie przykład braku precyzji w nowych zasadach.

Przenosząc jednak te zasady chociażby na blogi czy strony internetowe, nie wolno nawet embedować tweeta inaczej niż w oficjalny sposób. Dotyczy to również takich serwisów jak Storify. Na obecną chwilę nawet nie jestem pewny czy linkowanie do tweeta jest legalne, nie wspominając nawet o cytowaniu go.

5a. Tweets that are grouped together into a timeline should not be rendered with non-Twitter content. e.g. comments, updates from other networks.

To oznaczna ni mniej, ni więcej, że nie wolno wrzucać tweetów do naszych „historyjek” tworzonych w Storify, jeśli chcemy dodatkowo dodać komentarze i inne elementy. De facto ostatni mój Storify jest całkowicie niezgodny z tymi zasadami.

Ograniczenia w liczbie tokenów dla developerów

Additionally, if you are building a Twitter client application that is accessing the home timeline, account settings or direct messages API endpoints (typically used by traditional client applications) or are using our User Streams product, you will need our permission if your application will require more than 100,000 individual user tokens.

Tutaj zaczynają się schody dla developerów, w szczególności klientów takich jak Echofon czy Tweetbot oraz wiele innych: Twitter ogranicza maksymalną liczbę użytkowników jaki dany klient może obsługiwać. Na obecną chwilę jest to 100 tysięcy. Bardziej wymagający gracze będą potrzebowali indywidualnej zgody Twittera, którą mogą dać … lub nie. Niestety nic więcej na ten temat nie będziemy wiedzieli dopóki ktoś nie będzie miał tego problemu.

Additionally, if you are building a Twitter client application that is accessing the home timeline, account settings or direct messages API endpoints (typically used by traditional client applications) or are using our User Streams product, you will need our permission if your application will require more than 100,000 individual user tokens.

Dobrą wiadomością jest fakt, że obecne programy nie zostaną „zabite”. Jeśli mają ponad 100 tysięcy użytkowników, to będą mogły rozwijać się do dwukrotnie wyżej wartości. Jeśli mniej, to tylko do 100 tys.

Bardzo lubiana przeze mnie funkcja Instapaper – „Lubiane przez przyjaciół z Twittera” – prawdopodobnie zostanie zamknięta. Marco, w swoim wpisie na ten temat, pisze że potrzebuje więcej niż 100,000 tokenów. Zwraca też uwagę, że to drobna funkcja w aplikacji tworzonej przez jedną osobę. Prawdopodobnie objawi się to dla wielu większymi kłopotami. Tom Scott zresztą już się na ten temat wypowiedział – jeden z jego projektów zostanie uśmiercony. Tom jest wyjątkowo niezadowolony z całej tej sytuacji od strony geeków i developerów. Maluje zresztą bardzo pesymistyczne wizje przyszłości:

Twitter will go on just fine without Klouchebag. They’ll go on just fine without third-party apps when, sooner or later, they start to turn off access to them.

Klout zostaje, Storify wypada

Paradoksem tego wszystkiego jest fakt, że tak pokręcony i w zasadzie nikomu niepotrzebny serwis, jakim jest Klout, będzie nadal mógł funkcjonować, podczas gdy poważne narzędzie Storify, które dziennikarzom pozwala na przedstawiania faktów w niesamowity sposób, prawdopodobnie zostanie zabite. Być może jego twórcom uda się wypracować jakiś wyjątek dla swojego produktu, ale patrząc na wymagania Twittera, ten serwis nie powinien istnieć. Szkoda – ewidentnie zdał egzamin niejednokrotnie w bardzo poważnych wydarzeniach, jak chociażby ostatnia strzelanina w kinie w USA podczas premiery Batmana.

Twittera już nie obchodzimy

Prawda jest taka, że typowy power-user czy geek nie interesuje już Twittera. Mają pierdyliard normalnych użytkowników, z czego ponad 77% wykorzystuje interfejs webowy lub klient pozostający w ich władaniu. Benjamin Majo próbował podliczyć wykorzystanie różnych aplikacji/klientów firm trzecich, aby ustalić jaki procent wykorzystuje produkty takie jak Tweetbot czy Echofon. Pomimo, że jego próba była wykonana na jedynie milionie tweetów, to podejrzewam, że można wyniki wykorzystać jako pewne odniesienie.

Osoby takie jak Ty czy ja są zatem w znaczącej mniejszości i nasz głos czy też krzyk na niewiele się zda. Co ciekawe – najspokojniej do tematu podchodzi sam developer Tweetbota – Tapbots – w artykule pod tytułem „Don’t Panic„. Paul Haddad twierdzi, że obecne ograniczenie 100K użytkowników pozwoli im na rozwijanie się jeszcze przez kilka lat.

A przynajmniej dopóty, dopóki Twitter znowu nie zmieni zdania.

Z drugiej strony

Niesprawiedliwe byłoby jednak niespojrzenie na ten temat z drugiej strony. Całkowicie rozumiem motywację Twittera do unifikacji UX2 dla wszystkich platform. Mają w końcu produkt i markę, która jest w bardzo krótkim czasie rozpoznawalna samym logo. Inni, tacy jak chociażby Nike czy Adidas, musieli na taki sukces pracować znacznie dłużej. Twitterowi nie pozostaje nic innego jak dbać o swój produkt najlepiej jak umie. Dbać o swoją markę i nie pozwalać na jej niszczenie.

Problem jednak polega na tym, że firmy trzecie potrafią dostarczyć znacznie lepszy UX niż sam Twitter. Oczywiście przy okazji oszczędzają nam twitterowych reklam, które nie są częścią API. Dzisiaj zresztą poruszaliśmy ten temat z Norbertem3, który twierdzi, że firmy trzecie dogadają się z Twitterem i będą po prostu wyświetlały reklamy w naszym streamie. Osobiście jednak w to wątpię, chociaż też brałem taką możliwość pod uwagę. Przede wszystkim, gdyby Twitter to chciał zrobić, to zrobiłby to już dawno. Ponadto, nie miałby żadnej możliwości kontrolowania wyglądu tych reklam w aplikacjach trzecich. Mogliby pewnie sprawdzać każdą z osobna, ale chyba nie o to w tym wszystkim chodzi.

Teoretycznie więc pozostanie powrócenie do klientów oficjalnych lub strony WWW. Niestety Twitter i tutaj „daje ciała” po całości. Zdajecie sobie sprawę z tego, że iPadowa wersja nie jest rozwijana od przeszło 16 miesięcy? A bugi w wersji iPhone’owej Was nie denerwują? Możecie też zapomnieć o jakiejkolwiek synchronizacji pomiędzy urządzeniami – jedna z najlepszych i bardzo długo wyczekiwanych przeze mnie funkcji. A Tweetbot potrafił wprowadzić sync w przeciągu kilku tygodni …

Mógłbym jeszcze podać kilkanaście przykładów za i przeciw ostatnim działaniom Twittera, ale robi się późno, a jutro mam zaplanowany cały dzień lenistwa. Zanim jednak Was pożegnam, chciałbym zadać jedno proste pytanie:

Skąd mamy mieć pewność, że w przyszłości Twittera po prostu nie zabije API dla klientów firm trzecich?

W czasach, w których wszyscy walczą o wsparcie i zainteresowanie developerów, Twitter ich aktywnie zwalcza, próbując im wmówić, że powinni tworzyć inne produkty:

With our new API guidelines, we’re trying to encourage activity in the upper-left, lower-left and lower right quadrants, and limit certain use cases that occupy the upper-right quadrant.

Cóż – nie rozumiem tego postępowania z logicznego punktu widzenia. Gdyby jednak była możliwość zapłacenia rozsądnej kwoty czy rocznej opłaty za korzystanie z Twittera przez wybranego przeze mnie klienta firmy trzeciej, to nie zawahałbym się ani chwili. Niestety … taka możliwość nie istnieje i raczej nie ujrzy światła dziennego.

  1. Mówiłem już, że go nienawidzę?
  2. User Experience.
  3. Nie linkuję do niego, bo to niezgodne z regulaminem Twittera.

Chcesz zwrócić mi na coś uwagę lub skomentować? Zapraszam na @morid1n lub na forum.