Portale internetowe bardzo ostrożnie podchodzą do tematu udostępniania otwartego API. Zwykle widzą w tym o wiele więcej zagrożeń niż korzyści. Takie podejście sprawia, że nie jest prosto podjąć decyzję o uruchomieniu projektu, który stworzy takie API.

Dopuszczenie możliwości interakcji z zewnętrznie stworzonymi serwisami, usługami oraz aplikacjami jest jednym z podstawowych wymogów nowoczesnych serwisów społecznościowych, dlatego też pomimo oporów materii postanowiliśmy dokonać przełomu. Okazja pojawiła się w trakcie prac nad serwisem ludzie.onet.pl.

Dylematy

Stworzyć własną specyfikację i korzystając z przewagi zmusić deweloperów do tworzenia aplikacji zgodnych z nią.

  • Skorzystać z otwartej specyfikacji Opensocial, która naówczas była jeszcze w fazie tworzenia i nie doczekała się ostatecznej wersji (aktualna to 0.9)

Rozważając za i przeciw, a także mając duszę startupowca z zadowoleniem przyjąłem wybór drugiej opcji, czyli przyjęcie jako podstawy specyfikacji Opensocial. Dysponując ograniczonym budżetem pierwsza wersja została zrealizowana z pewnymi ograniczeniami:

  • Nie jest zaimplementowana pełna specyfikacja a właściwie łatwiej byłoby opisać, w których punktach jesteśmy zgodni z nią, niż czego jeszcze nie mamy.
  • Nie ma możliwości korzystania z dowolnej aplikacji. Tylko dodane do katalogu są dostępne dla użytkowników.

Geneza powstania specyfikacji Opensocial

Każdy kto obserwuje to, co się dzieje na rynku dostrzegł gwiazdę, która się pojawiła na firmamencie serwisów społecznościowych. Serwis Facebook, o którym mowa, w bardzo krótkim czasie zdobył ogromną popularność.

Patrząc na historię rozwoju tego serwisu pragnę zwrócić na kilka przełomowych wydarzeń:

  1. Otwarcie serwisu dla wszystkich.
    Od tej pory każdy mógł zarejestrować się do serwisu. Nie było już konieczne zaproszenie przez użytkownika serwisu. Dzięki tej operacji serwis, co prawda, stał się mniej elitarny, ale dzięki temu bardziej popularny.
  2. Otwarcie na aplikacje działające w środowisku serwisu.
    Możliwość takiego działania aplikacji okazała się strzałem w dziesiątkę. W ciągu pół roku powstało kilkanaście tysięcy aplikacji. W tej chwili kilkadziesiąt tysięcy deweloperów tworzy aplikacje działające w tym środowisku.
    Mając na uwadze zalety takiego umiejscowienia aplikacji, 7-krotnie szybsze zdobywanie zasięgu, nie można zapominać o jednym smutnym fakcie: niewiele aplikacji zdobywa popularność.
    Zawsze jednak wśród masy przeciętnych pojawia się kilka, które podbijają serca i umysły użytkowników. Fajność ich działania spowodowała, że używalność serwisu oraz lojalność użytkowników znacznie wzrosła.
  3. Pojawienie się lifestream’u
    Publikacja informacji o tym, co dzieje się u użytkowników spowodowała niesamowity wzrost oglądalności serwisu. Każda istotna lub mniej istotna informacja o aktywności naszych znajomych zaczęła do nas docierać. To, że są to znajomi, przyjaciele powoduje, że automatycznie jesteśmy zainteresowani, wciągani w te działania.

Kontra

Sukces tego serwisu został natychmiast dostrzeżony przez inne serwisy społecznościowe.
Pod przewodnictwem Google’a, najbardziej znaczące serwisy społecznościowe połączyły siły i postanowiły wypracować rozwiązanie , które zrównoważy przewagę tego jednego serwisu. W ten sposób pojawiła się inicjatywa wypracowania standardu Opensocial. Podstawowa idea: Wykorzystując dane oraz infrastrukturę znajdującą się w serwisie społecznościowym umożliwić deweloperom na tworzenie aplikacji, które by z tego korzystały.

Możliwe implementacje

Social Mashup – całość działa w środowisku serwisu


Minimalna wersja to dostarczenie wzorca strony wraz z Javascriptowym lub Flashowym oprogramowaniem. Nie potrzebujemy do tego żadnych dodatkowych serwerów. Niestety w ten sposób można zbudować tylko w miarę proste aplikacje.

Social Application – rozbudowana aplikacja

Przetwarzanie odbywa się na zewnętrznych serwerach.
Zyskujemy bardzo dużą elastyczność oraz nieograniczone możliwości co do sposobu działania mechanizmów.

Social Website

Dane z serwisu pojawiają się na innym serwisie lub aplikacji, która działa w zupełnie innej lokalizacji.
Odbywa się to poza środowiskiem serwisu. Z serwisu są pobierany tylko dane.

Możliwości współdziałania z serwisem ludzie.onet.pl

Wszystkie, wyżej wymienione modele, są możliwe we współpracy z naszym serwisem.
Aktualnie mamy następujące możliwości:
- osadzania gadgetów spełniających Google Gadget Specification (z pewnymi ograniczeniami)


Rys: Przykład widgetów możliwych do osadzenia

- wykorzystania podzbioru API określonego w specyfikacji Opensocial

  • People Service
  • Activities Service

Dostęp do API jest autoryzowany zgodnie ze specyfikacją OAuth. By móc z niego skorzystać należy się zgłosić do nas w celu otrzymania kluczy oraz namiarów na endpointy. Wraz z kluczami deweloper dostaje od nas skonfigurowaną bibliotekę kliencką umożliwiającą w prosty sposób korzystania z API.

W tej chwili toczy się kilka projektów korzystających z opisanych możliwości. Jakie? Informacja wkrótce.
Jeśli masz pomysł, chęć stworzenia jakiegoś rozwiązania, zgłoś się do nas. Jesteśmy OTWARCI ;)

Andrzej Margos
starszy programista