Gadu-Gadu. Najpopularniejszy protokół komunikacji natychmiastowej w Polsce. Znalazł szerokie zastosowanie - od zwykłych, niezobowiązujących rozmów dwójki szkolnych kolegów, poprzez finalizowanie transakcji na allegro oraz dyskusje biznesowe po rozmowy z kandydatką na wybrankę serca poznaną na portalu Sympatia. W liczbach - "sam system automatycznej rejestracji nowych kont GG wydał już ponad 10 milionów numerów Z Gadu-Gadu (...) korzysta już blisko 6 milionów osób." (gadu-gadu.pl) z "12,2 mln osób korzystających z Internetu ponad 13 milionów Polaków" (gemius.pl onet.pl). Czyli ponad 80% 50% polskich internautów zarejestrowało posiada własny numer Gadu-Gadu. Jednak szerokie zastosowanie wcale nie oznacza wysokiej jakości usług.
Powiedzmy sobie wprost - tu nie chodzi o wady klienta (również te wymienione pośrednio). Można używać alternatywnych komunikatorów, jednak nawet najdoskonalsza wtyczka nie naprawi tego, co jest zepsute głęboko poniżej poziomu, który widzi użytkownik. W protokole mianowicie.
Ten posiada kilka wad, których naprawić się nie da bez zaniechania kompatybilności wstecz. Patrząc na różnice pomiędzy GG 6.1 a 7.1 (choćby w wadze paczki instalacyjnej - 1,1 MB do 3,8MB) oraz nielogiczną strategię rozwoju zmiany te nie nastąpią zbyt prędko. Właściwie zdziwiłbym się, gdyby nastąpiły jeszcze za mojej kadencji. Niemniej wady są to rażące, a ich wagę postaram się opisać pokrótce poniżej.
Identyfikatory oparte na systemie liczb, zazwyczaj siedmiocyfrowych. Pomijając paranoidalne konsekwencje takiego szufladkowania (zobacz My Zamiatina w poszukiwaniu dalszych informacji), wady tego rozwiązania są dwie. Pierwsza - jest to kolejny, nierzadko totalnie bezsensowny numer do zapamiętania. W dobie numerów kont bankowych, numerów telefonów, numerów PESEL, NIP oraz PINów do kont bankowych, które gdzieś trzeba zachować (niekoniecznie zapamiętać, gdyż to może być ponad siły danej jednostki), kolejny numer na liście raczej nie jest mile widziany. Niemniej ten problem można łatwo rozwiązać za pomocą licznych organizerów i kalendarzy, również elektronicznych. Druga kwestia nie jest taka prosta.
Użytkownicy poczty elektronicznej narzekają na spam. Ten dosięgnął również najpopularniejszej sieci komunikacji natychmiastowej. Oczywiście aby wysłać spam, należy mieć odbiorcę, a konkretniej jego adres e-mailowy lub identyfikator IM. Ten pierwszy jest pozornie trudniejszy do uzyskania - wymaga napisania robaka sieciowego, który krążąc po stronach internetowych zbierałby adresy e-mail (w najprostszej postaci wyszukiwałby klucza
<a href="mailto:foo@example.org">foo@example.org</a>lub w ogóle znaku @ i znaków przyległych w kodzie strony). Z kolei aby wysłać spam do sieci IM, której identyfikatory opierają się na liczbach naturalnych, wystarczy napisać skrypt, który rozesłałby zdefiniowaną wiadomość do wszystkich numerów z podanego przedziału. Oczywiście jest to najprostszy przykład, który w obecnej formie nie nadaje się do zaadoptowania przez spamera, ale daje ogólny pogląd na niebezpieczeństwo takiego identyfikowania użytkowników. Przede wszystkim jednak jest to problem nie do naprawienia - bez względu na to, jak szczelne zabezpieczenia antyspamowe wprowadzi Gadu-Gadu sp.z.o.o., zawsze będzie to tylko mechanizm obronny, mający uniemożliwić wykorzystanie dziury istniejącej w samych założeniach sieci. Każdy, kto liznął chociażby podstawy teorii bezpieczeństwa wie, że nie istnieje takie zabezpieczenie stworzone przez człowieka, którego nie złamałby inny człowiek. Wniosek nasuwa się sam - spam w tym przypadku będzie istniał zawsze.
Statusy. Gadu-Gadu jest jednym z pierwszych komunikatorów, który nie tylko pozwolił ustawić status opisowy, ale również wyświetla jego treść na liście kontaktów. Przykłady zastosowania można mnożyć - od przekazania znajomym, w jakim jesteś humorze i czy mogą śmiało pisać, poprzez wklejenie złotej myśli czy fragmentu piosenki po niezwykle romantyczny przekaz zrozumiały tylko dla Tego Jedynego/ Tej Jedynej. Statusy opisowe zawsze były traktowane jako dodatek, gdyż nigdy nie miały na celu spełniania konkretnej funkcji (a nawet jeśli, ta bardzo szybko została zatracona). Teoretycznie można wpisać wszystko, czego dusza zapragnie - esej na temat statusów, ASCII art czy Pierwszą Księgę Pana Tadeusza. Teoretycznie, gdyż protokół Gadu-Gadu posiada śmiesznie ograniczenie długości statusu opisowego do 70 znaków. Mniej więcej tyle ma linia tekstu wydrukowanego na papierze A4. Jakby tego było mało, Gadu-Gadu potrafi zinterpretować znak nowej linii, jednak oryginalny klient nie potrafi go wprowadzić. W rezultacie prowadzi to do KonicznościPisaniaBezSpacjiWCeluZredukowaniaLiczbyZnaków, gdy tekst, który chce się wprowadzić jest dłuższy niż standardowy.
Status opisowy jest epitetem. Epitet w najprostszej postaci składa się z wyrazu opisującego oraz wyrazu opisywanego. Wyrazem opisującym zająłem się w powyższym akapicie, teraz, wbrew prawu logiki, zajmę się wyrazem opisywanym.
Gadu-Gadu oferuje użytkownikowi zawrotną liczbę trzech statusów - Dostępny, Zaraz Wracam oraz Rozłączony (Niewidoczny został pominięty ze względu na kontrowersje). Taka skromna liczba doprowadziła przede wszystkim do wypaczenia zrozumienia sensu statusów - Niewidoczny jest traktowany jako Nie przeszkadzać, Zaraz Wracam jest postrzegany jako Dostępny. Oczywiście efekt, który dzisiaj można zaobserwować nie jest zgodny z intencjami programistów (wtedy jeszcze) SMS Express sp.z.o.o. i nie można ich winić za obecną sytuację. Niemniej wyraźnie czuć brak statusów Chętny do rozmowy oraz Nie przeszkadzać - ich obecność dałaby znacznie większą kontrolę nad przekazywaniem stanu własnej obecności znajomym. Powinni po samej ikonce rozpoznać, czy jest sens rozpoczynać konwersację. Przy użyciu Gadu-Gadu nie jest to możliwe. Pewne informacje można przekazać w opisie, jednak ze względu na wspomniane wyżej wypaczenie zrozumienia sensu statusów, również opisowych, nie jest to niezawodna metoda.
Powyżej wspomniałem o "przekazywaniu stanu własnej obecności". Oczywiście Gadu-Gadu nie oferuje żadnego systemu autoryzacji kontaktów. Oznacza to, że przy odznaczonej opcji Tylko dla znajomych każdy, kto w dowolny sposób zdobędzie dany numer, może bez przeszkód zobaczyć, czy jego użytkownik jest w danej chwili dostępny oraz jaki ma status opisowy. Dla osób, które cenią sobie prywatność, nie jest to miła wiadomość. Zawsze pozostaje wspomniana opcja Tylko dla znajomych, jednak jest ona półśrodkiem - po prostu osoba, której użytkownik nie ma na liście kontaktów, będzie go widziała jako niedostępnego niezależnie od jego stanu.
Wspomniany system autoryzacji, nieobecny w Gadu-Gadu, ma jednak inną zaletę. Otóż z chwilą, gdy jedna osoba wyśle prośbę o autoryzację drugiej osobie, ta ostatnia jest o tym informowana. Może odpowiedzieć twierdząco lub przecząco. Może zapytać wysyłającego, w jakim celu prosi o autoryzację. Daje to pełną kontrolę nad tym, kto ma ID użytkownika na swojej liście kontaktów i kto widzi jego status.
Czasem zachodzi potrzeba przeprowadzenia rozmowy, w której będzie uczestniczyło kilku użytkowników. Tutaj również protokół Gadu-Gadu stosuje własne rozwiązanie. Działanie protokołu podczas takiej rozmowy przedstawia poniższy zapis:
W rezultacie każda wiadomość jest wysyłana tyle razy, ilu jest uczestników rozmowy grupowej -1 . Generuje tyle razy więcej ruchu sieciowego, co może mieć znaczenie przede wszystkim dla posiadaczy łącz modemowych. Nie oznacza to jednak, że ten problem nie dotyczy zwykłego użytkownika - w świetle wprowadzonego filtru atyspamowego uczestniczenie w rozmowach grupowych wręcz może być dla niego zagrożeniem. Bez względu na skutki, jest to rozwiązanie nieefektywne i przestarzałe technologicznie.
Kolejną niestandardową funkcją protokołu Gadu-Gadu jest przesyłanie obrazów w oknie rozmowy. Przesyłanie owo działa na następującej zasadzie:
Problemem jest uprzywilejowane traktowanie obrazów na poziomie protokołu. Może to doprowadzić do wielu nadużyć, z wykonaniem złośliwego kodu na komputerze Odbiorcy włącznie. Sam proces przesyłania obrazów nie powinien różnić się od procesu przesyłania każdego innego pliku - w celu uzyskania specjalnej funkcjonalności (jak np. wyświetlanie go w oknie rozmowy) powinno stosować się rozwiązania po stronie klienta.
Gadu-Gadu nie oferuje jeszcze jednej opcji znanej z otwartego protokołu XMPP. Jest to ang. typing notify co można przetłumaczyć na powiadomienie o komponowaniu odpowiedzi. Metoda działania jest bardzo prosta - w chwili, gdy rozmówca pisze wiadomość, druga osoba jest o tym powiadamiana. Bardzo proste i bardzo przydatne - podczas dyskusji od razu widać, czy rozmówca argumentuje swoją tezę, czy może uznał rozmowę za zamkniętą, nic o tym nie mówiąc. W czasie używania protokołu Gadu-Gadu zniecierpliwiony użytkownik zmuszony jest wysyłać bezwartościowe wiadomości typu jesteś? czy czemu nic nie piszesz?. Ta druga może być szczególnie irytująca, gdy jej odbiorca tak naprawdę pisze wyjątkowo długą odpowiedź lub waży każde słowo, aby skierować rozmowę na odpowiednie tory.
Jak widać, protokołowi Gadu-Gadu można wiele zarzucić. Część z tych wad ma krytyczne znaczenie dla jego używania. Część może wydać się zbędnym, acz w praktyce bardzo przydatnym detalem. Część jest postrzegana za błąd tylko dlatego, iż nie działa tak, jak ja bym widział jej działanie.
Niemniej wszystkie te wady mają swoje konsekwencje, a są nimi m.in.:
Oczywiście nie każdego wspomniane wady czy wnioski muszą przekonywać, jednak wszystkie są obecne. Z tego powodu warto sobie zadać pytanie: czy płynąc dziurawym okrętem jest sens czekać z ucieczką, aż zacznie tonąć?