Mastodon ma 10 mln użytkowników – so what?

Niedawno świat obiegła wiadomość, że Mastodon ma 10 mln użytkowników. Jest to świetna okazja do wpisu, tym bardziej, że pojawił się wątek na ten temat, w którym zabrałem głos.

Na wstępie garść niefajnych faktów. Trzeba jasno powiedzieć, że nie chodzi o 10 mln ludzi korzystających z tej platformy, a 10 mln kont. To niezupełnie to samo, szczególnie, że i ludzie migrowali między serwerami, zakładając na każdym z nich konto, i niektórzy mają więcej niż jedno konto. Np. „zawodowe” na jednym serwerze, a prywatne na innym. Kolejna sprawa, to chodzi wyłącznie o konta zarejestrowane, nie aktywnie używane. Tych ostatnich jest wielokrotnie mniej.

Niemniej jest jakiś wzrost, jest okrągła liczba, zatem i okazja do dyskusji „dlaczego Mastodon nie zyskuje szerszej popularności?” i „czemu nie można zatrzymać użytkowników”. Pojawiły się stwierdzenia, że tutoriale za słabe itp. I to jest moim zdaniem punkt zero – jeśli potrzebna jest instrukcja obsługi, tutoriale itp., to coś jest nie tak z projektem systemu. Jasne, w każdym serwisie mogą być jakieś trudniejsze w użyciu czy schowane funkcje, ale nie powinny one dotyczyć podstawowej obsługi. Ta powinna być prosta i intuicyjna.

Tymczasem Mastodon jest moim zdaniem… może nie trudny, ale nieoczywisty. A na pewno trudniejszy, niż system scentralizowany, bo decentralizacja nie jest przed użytkownikiem ukryta. Przykład: jestem zalogowany do swojej instancji. W innym oknie znajduję osobę z innej instancji, którą chcę obserwować (follow). Powiedzmy, że wszedłem tam ze strony domowej tej osoby. Klikam follow i… Zonk. Dostaję komunikat, żebym się zalogował. Albo przeszedł na swoją instancję i tam zaobserwował.

Pamiętacie jak śmialiście się z Windows, że trzeba wcisnąć start, żeby zamknąć system? Mastodon ma podobnie! Jest bowiem pole wyszukiwania, które nie tylko do wyszukiwania służy. Trzeba go użyć do zaobserwowania konta z innej instancji. Wklejając URL. Co prawda jest napisane, że to search or paste URL, ale czy to jest intuicyjne?

Czy mogłoby być lepiej? Pewnie tak, bo skoro jest federacja, to może dałoby się jakoś wymienić informację o tym, gdzie użytkownik jest zalogowany. No ale to nie jest trywialne – bo – w uproszczeniu – przeglądarki dbają o separację danych między domenami. No i nie chodzi o dwie czy trzy domeny, tylko o dużą, dynamicznie zmieniającą się ich liczbę. Ale gdyby się udało, to można by po wejściu na dowolny link i kliknięciu follow dostać tylko wybór, którym kontem chce się wykonać operację. Jeśli ktoś szuka więcej przykładów na nieintuicyjne rozwiązania, to są w moim pierwszym wpisie o Mastodonie.

Dlatego uważam, że o ile bardziej techniczni czy bardzie dociekliwi sobie poradzą, to w obecnym kształcie na szerszą, masową popularność nie ma co w najbliższym czasie liczyć. Po prostu typowy użytkownik nie ma potrzeby używania rozwiązania rozproszonego. Fajnie, że jest alternatywa dla mainstreamu ale po co z niej korzystać, skoro nie trzeba? Natomiast w niektórych kręgach Mastodon przyjął się całkiem dobrze już teraz. I tak już zapewne zostanie.

Cała sytuacja Trochę mi to przypomina sytuację z Linuksem i Windowsem sprzed lat. Linux – wiele zalet i „wystarczy trochę poczytać”, bo „mamy dobrą dokumentację”. W Windows użytkownicy nie musieli czytać, wystarczyło klikać. W efekcie nadal czekamy na rok Linuksa na desktopie.

Udostępnianie internetu z telefonu

Niedawno usłyszałem pytanie o setup dla abcc, które zawierało ciekawy element – jedno z dostępnych połączeń było przez USB[1]. Zaintrygowało mnie to, bo tak się złożyło, że zupełnie nie znałem tematu. Zawsze udostępniałem internet z Androida wykorzystując WiFi i tworząc access point. Nie byłem pewien jak takie połączenie w ogóle jest widoczne pod Linuksem.

Poczytałem, sprawdziłem i sprawa jest prosta. Aby udostępnić internet z telefonu z Androidem należy najpierw podłączyć kabel USB. Dopiero wtedy aktywna staje się opcja USB tethering. Po jej aktywacji na telefonie, w systemie powinno pojawić się urządzenie usb0. Traktujemy jak zwykłą przewodową kartę sieciową.

Takie proste, a nigdy nie korzystałem. Czy warto udostępniać połączenie z Androida po USB, zamiast po WiFi? Jedna zaleta jest oczywista – podczas udostępniania połączenia telefon zużywa więcej prądu. Podłączenie kablem do komputera zapewnia od razu ładowanie. Z kolei oczywista wada to mniejsza swoboda ruchów – kabel jest zawsze jakimś ograniczeniem.

Pora sprawdzić wydajność. Szybki zgrubny test, po prostu fast.com, w dodatku pojedynczy pomiar dla każdej konfiguracji.

Operator nr 1
42 Mbps download 10 Mbps upload, latency 32 ms unloaded, 462 ms loaded na WiFi 2,4 GHz
42 Mbps download 15 Mbps upload latency 30 ms unloaded, 420 ms loaded na USB

Operator nr 2 (IPv6)
78 Mbps download 11 Mbps upload, latency 30 ms unloaded 321 ms loaded na WiFi 5 GHz
71 Mbps download 14 Mbps upload, latency 28 ms unloaded 446 ms loaded na USB

Wielkich różnic jak widać nie ma. Wariancie optymistycznym, czyli nieobciążonym łączu na kablu zyskamy nieco na opóźnieniach sieciowych. Lepsze powinien też być upload. Czyli domyślnie warto podłączyć kabel USB. Nie są to jednak wielkie różnice, więc jeśli nie gramy w gry online albo nie zależy nam na prędkości uploadu, wygląda, że może decydować wygoda.

UPDATE I jeszcze dla porównania wyniki z mojej kablówki, nominalnie 60/10:
62 Mbps download 7 Mbps upload, latency 6 ms unloaded 50 ms loaded na WiFi 5 GHz

Oczywiście inny serwer, pomiar dzień później itd. Ale i tak widać, jak bardzo LTE dogoniło, albo wręcz przegoniło kablówkę opartą o miedź. Światłowód zapowiadany był dwa lata temu, ale nadal nic nie wskazuje, by miał się pojawić.

[1] Sprawa w toku, może zasłuży na osobny wpis jak skończę.

Wolne social media

Za sprawą zbanowania Donalda Trumpa na Twitterze głośno zrobiło się w temacie wolności wypowiedzi w social media. Także odnośnie braku regulacji prawnych dotyczących social media i centralizacji usług. Zaczęły powstawać „wolne” alternatywy. Ponieważ zdarzyło mi się już tłumaczyć w paru miejscach moje stanowisko, pora na wpis.

Źródło: wygenerowane za pomocą https://thumbnail.ai/

Problem

W czym w ogóle problem? Przecież nigdy nie było tak, że każdy może skorzystać ze środków masowego przekazu. O treściach zamieszczanych w prasie decydował redaktor, podobnie w przypadku telewizji czy radio. Każdy mógł zadzwonić, ale na antenę nie dostawał się każdy. Dodatkowo obszar był uregulowany przez prawo prasowe. Choćby prawo do zamieszczenia sprostowania. I polemiki ze sprostowaniem. Nawet jeśli była np. w zakładzie pracy gablota na ogłoszenia, to miała ona właściciela. I mógł on nieodpowiadające mu treści po prostu usunąć. Albo zamknąć ją na kluczyk.

Sytuacja się zmieniła. Nie mamy już typowego broadcastingu, gdzie pojedyncza osoba rozgłasza treści, czyli jest nadawcą, a pozostali są odbiorcami. Obecny model zdemokratyzował bycie nadawcą. Każdy może publikować treści, które są dostępne dla wszystkich. Ale nie to jest najważniejszą zmianą. Już wcześniej każdy mógł uruchomić swoje radio, czasopismo czy postawić własną gablotę z ogłoszeniami. Oczywiście o ile miał odpowiednie środki i kompetencje. Pieniądze i znajomość prawa, powiedzmy.

Najważniejsze zmianą jest coś innego. W sumie nie zmianą, a zmianami. Po pierwsze, social media sprawiły, że publikacja treści dla wszystkich nie wymaga istotnych nakładów ze strony nadawcy. Nie są potrzebne ani specjalne środki, ani kompetencje, by zacząć przekaz do wszystkich w kraju i na świecie. O ile będą chętni, by nas słuchać.

Prawa człowieka

Po drugie i najważniejsze, ten sposób komunikacji stał się powszechny i dominujący. Odebranie komuś możliwości publikowania poglądów w ten sposób jest pewnego rodzaju wykluczeniem społecznym. Trochę tak, jakby kiedyś zabronić komuś rozmawiać w szkole czy zakładzie pracy. Dotyczy to zarówno w życia prywatnego, jak i – w niektórych przypadkach – zawodowego. W przypadku niektórych istotna część życia zawodowego toczy się na Linkedin czy GitHub[1] . Wyobrażacie sobie rekrutera pracującego w branży IT z wykluczonym korzystaniem z Linkedin? Ja nie.

Dlatego coraz częściej pojawiają się głosy, że prawo do internetu to podstawowe prawo człowieka. W badaniu w roku 2010 77% ankietowanych spośród 27 tys. osób z 26 krajów Europy określiło, dostęp do internetu jako podstawowe prawo człowieka[2]. Wydaje mi się, że można w tym momencie utożsamić internet z social media.

Centralizacja i struktura serwisów social media

Oba przytoczone wyżej serwisy są centralne. Podobnie jak Twitter czy Facebook. W tym momencie pojawia się pytanie o wolność i regulacje prawne. W kontekście wolności słowa i prawa człowieka. Aby dokładniej zobaczyć w czym problem, trzeba przeanalizować strukturę władzy w serwisach social media. Typowo wygląda ona następująco:

  1. Właściciel serwisu – ten, który ma środki. Pieniądze, prawa do domeny, przetwarzania danych użytkowników itp.
  2. Dostawcy infrastruktury – podmioty zapewniające łączność i hosting. Firmy zewnętrzne, ale w większości przypadków niezbędne dla funkcjonowania.
  3. Administrator serwisu – osoba z wiedzą techniczną, umiejąca utrzymać serwis w działaniu. Zarządzanie infrastrukturą, konfiguracja oprogramowania. Może być po prostu pracownikiem na usługach właściciela.
  4. Moderatorzy serwisu – osoby mogące usuwać treści lub użytkowników. Niekoniecznie w kontekście całego serwisu, mogą zarządzać wydzieloną częścią (np. grupą na FB). Mogą być pracownikami na usługach właściciela lub rekrutować się z użytkowników.
  5. Użytkownicy – osoby korzystające z serwisu. Uczestnicy komunikacji. Nadawcy i odbiorcy treści.

Oczywiście funkcje mogą się łączyć. Istotny jest tu fakt, że każda instancja wyższa ma środki techniczne, by ograniczać w dowolny sposób wszystkie instancje niższe. Także eliminując zupełnie ich dostęp do serwisu.

Nawiasem, zagadnienie jest szersze. Temat nie dotyczy tylko typowych social media i tylko o ograniczanie dostępu. Gdy Google, Agora czy Wirtualna Polska mówi, że zamyka serwis to użytkownicy nie mają nic do powiedzenia. Nie muszą nawet dostać możliwości pobrania pełnych treści w formacie zdatnym do łatwego przetworzenia maszynowo. Podobnie z blokowaniem dostępu do serwisów, w szczególności do publikacji treści.

Centralizacja

Nie jest to temat nowy, dominująca rola gigantów social media została dostrzeżona już dawno. Pojawiły się rozwiązania alternatywne, oparte o fediwersum. Czyli osobne, niezależne serwisy, ale dające możliwość interakcji między użytkownikami różnych instancji.

Na pierwszy rzut oka fediwersum wydaje się to rozwiązaniem problemu centralizacji. Ale czy jest nim faktycznie? Uważam, że nie. Gwarancja wolności w tym przypadku opiera się na tym, że użytkownik może pójść na inną instancję. Albo, w skrajnym przypadku, uruchomić własną.

Niestety, uruchomienie własnej instancji leży poza kompetencjami większości użytkowników. Uruchomienie to kompetencje administratora, a istniejące rozwiązania wymagają specjalistycznej wiedzy. Nie są może trudne dla ludzi z IT, ale świat nie składa się ani wyłącznie, ani nawet w większości z ludzi z IT.

Co gorsza, nawet uruchomienie własnej instancji nie gwarantuje, że ludzie z innych będą mieli dostęp do naszych treści. Wymiana danych między instancjami jest bowiem opcjonalna, dobrowolna i może zostać zablokowana. Na wielu poziomach, od konfiguracji instancji, przez filtrowanie pakietów sieciowych. Oczywiście takie rozwiązanie zmniejsza centralizację, ale nie eliminuje źródła problemu.

Rozwiązanie

O rozwiązaniu problemu centralizacji możemy mówić, gdy dowolnych dwóch użytkowników, którzy wyrażą taką wolę, będzie się mogło komunikować ze sobą. Niezależnie od decyzji innych osób i przynależności do serwerów. Fediwersum takiej gwarancji niestety nie daje[3]. I nie znam rozwiązania, które coś takiego oferuje.

Technicznie widziałbym to jako oddanie pełnej decyzyjności o odbieranych informacjach w ręce użytkowników końcowych. Czyli protokół pozwalający na wymianę informacji ze wszystkimi, nie dopuszczający cenzurowania. I prosta aplikacja, zastępująca serwis, używalna dla zwykłych użytkowników, pozwalająca na korzystanie (subskrybcję tematów, tagów, użytkowników, nadawanie, odbieranie wiadomości) przy pomocy tego protokołu. Z możliwością filtrowania użytkowników, tagów, tematów zarządzaną na poziomie użytkownika.

Wydaje mi się, że blisko tego modelu – pomijając aspekt centralnych serwerów – byliśmy w czasach NNTP. Użytkownik miał swój czytnik, swoje subskrybcje i filtry. Pobierał co chciał, odsiewał co chciał. Korzystanie z czytnika nie było wiele trudniejsze, niż obsługa email. Oczywiście wtedy obsługa email nie była powszechna, a i UX aplikacji był inny.

Gdyby dołożyć do tego „niecenzurowalny”, rozproszony protokół wymiany danych, mielibyśmy coś, co wydaje mi się rozwiązaniem. Nie znam szczegółów rozwiązania, ale wydaje mi się, że IPFS miałby szanse spełnić te wymagania. Tym bardziej, że zdobywa popularność – wchodzi do przeglądarek, na przykład jest już oficjalnie w Brave.

[1] Tak, uważam GH za pewnego rodzaju social media. Nie typowe socjalne, bardziej techniczne, dla wąskiej grupy, ze specyficznym elementem socjalnym, ale nadal twór tego typu. Na zasadzie: zwykli ludzie pokazują fotki i komentują je, programiści pokazują kod, wysyłają pull requesty. Nie jest to oczywiście dokładna analogia.
[2] 50% odpowiedzi tak, kolejne 27% raczej tak.
[3] Widzę, że PeerTube jest częścią fediwersum. I wydaje mi się odporne na cenzurowanie. Może więc być tak, że problemem są implementacje. W każdym razie pisząc o fediwersum mam tu na myśli implementacje w stylu Diaspora, Mastodon, StatusNet.