Mastodon

Szczeżuja namawiał, namawiał i w końcu namówił. Znaczy nie namawiał wprost, ale pisał o zaletach fediwersum i jakoś tak mnie zachęcił do założenia konta Mastodon[1]. Nie żeby trzeba było mnie specjalnie namawiać, bo od zawsze miałem słabość do alternatywnych rozwiązań i DIY. Nawet od dłuższego czasu produkcyjnie jest w użyciu Diaspora*.

Geneza

Czemu w ogóle wziąłem się za Mastodona, skoro jest Diaspora*, której używam od kilku lat? To, że Diaspora to niby bardziej Twitter, a Mastodon to niby bardziej Facebook nie miało znaczenia. Zresztą piszę „niby bardziej”, bo odnoszę dokładnie odwrotne wrażenie. Możliwe, że kwestia mojej instancji Mastodona, która limituje ilość znaków we wpisie do 500. Nie żeby mnie to jakoś bolało, ale Diaspora* chyba nie limituje. Przynajmniej nie zauważyłem. No ale może znowu może to być kwestia konkretnej instancji.

Poza tym, że lubię testować nowe rzeczy, poszło o ideę fediwersum i chęć sprawdzenia jak to działa w praktyce. Diaspora* niby umożliwia wymianę z innymi instancjami, ale robi to swoim własnym protokołem. Niespecjalnie przez coś innego używanym, jak zeznaje anglojęzyczna Wikipedia. Były plany implementacji Activity Pub, ale zostały porzucone. Brak wsparcia standardu Activity Pub źle wróży na przyszłość. No i nie ma tak ciekawych implementacji jak Pleroma, czyli własny serwer, który można uruchomić na Raspberry Pi.

Mastodon - propozycja logo
Propozycja logo fediwersum. Tęczowy pentagram. Szatan gender. Gównoburza za 3…2…1…
Źródło: https://en.wikipedia.org/wiki/Fediverse#/media/File:Fediverse_logo_proposal.svg

Pozytywy

Jednak miało być o Mastodonie. Na początek dobre wiadomości. Coś jest i nawet działa. Nie jest to wielkie zaskoczenie, bo Diaspora* działała lata temu. Rejstracja konta na wybranej instancji trwała moment. W przeglądarce WWW jest OK i używalnie. Na mobilki są aplikacje. Jako klienta na Androida wybrałem Tusky, czyli jeden z popularniejszych klientów. Daje radę. I chyba nawet wygodniej mi się przegląda, czyli czyta, niż przez WWW.

Kolejny pozytywny aspekt – jest jakieś życie. Są ludzie, nawet dość regularnie piszą. I pisząc ludzi mam na myśli ludzi, nie konta, na których zapięty jest jakiś bot czyli automatyczny feed.

Są integracje. Na przykład WordPress ma wtyczki, które pozwalają zamieszczać informacje o nowych wpisach na Mastodon[3]. W przypadku Twittera korzystam do tego z 3rd party serwisu, a na niszowego Blablera sam dopisałem stosowny skrypt.

Sama platforma też generalnie działa i nie zauważyłem problemów z korzystaniem. Poza paroma zgrzytami, o których niżej.

Mastodon – negatywy

Niestety, porównując z Twitterem widać braki w funkcjonalnościach. Można followować[2] ludzi ale… już nie hashtagi. Follow użytkownika z innej instancji nie jest intuicyjny. Przynajmniej przez przeglądarkę. Ewentualnie są bugi. Objawia się to tym, że po wejściu na profil ofiary zawsze aktywny jest przycisk follow. Nawet, jeśli już obserwujemy osobę.

Wiele instancji daje się we znaki także gdy chcemy poznać obserwujących dane konto. Nie jest to proste ani dostępne w zasięgu jednego kliknięcia. Tusky w ogóle pokazuje chyba tylko followersów z naszej instancji i nie ma możliwości podejrzenia pozostałych. Przynajmniej ja nie znalazłem, a patrzyłem w ustawieniach, czy nie mam czegoś wyłączonego. Z kolei Mastodon przez WWW wyświetla komunikat:

Followers from other servers are not displayed.
Browse more on the original profile

Czyli da się, choć wymaga dodatkowego kliknięcia. Porównując z rozwiązaniami scentralizowanymi – średnie.

Edycja posta w Diasporze jest wygodniejsza. Po przyzwyczajeniu i zapamiętaniu podstaw składni, Markdown jednak robi robotę, szczególnie na mobilkach, gdzie nie mamy wygodnego dostępu do klawisza ctrl. Mastodon tego nie ma – po prostu wpisuje się tekst. W 99% niekrytyczne.

Kolejna sprawa jest poważniejsza. Rozproszenie powoduje, że w przypadku zamieszczenia linka na przez popularne konto, następuje wiele pobrań przez wszystkie serwery obserwujących daną osobę, w celu wygenerowania podglądu. Taki DDoS przez pobieranie podglądu strony. Efekt można zobaczyć w wątku, z którego dowiedziałem się o sprawie. Było zgłoszone jako issue na GitHubie, ale nie zostało rozwiązane. I nie wiem czy zostanie, bo na szali jest wolność i autonomia działania instancji.

Największa wada w stosunku do „dużych” platform: mało ludzi, mało treści. O ile na Twitterze bez problemu jestem w stanie znaleźć kolejne kilka kont, których mógłbym chcieć followować, to na Mastodonie jest to wyzwanie. Może kwestia ilości kont, może kwestia architektury, a może jestem po prostu za krótko na tej platformie i z czasem się to zmieni? W każdym razie zauważam to i nie cieszy mnie.

Mastodon czyli wolność

No i na koniec coś co pewnie nie dotyczy całego Mastodona, ale akurat serwera, na którym mam konto i wydaje mi się śmiesznym ograniczeniem, jeśli chodzi o wolną platformę. Zasady serwera mówią, że nie wolno używać nienadzorowanych botów kopiujących z jednego miejsca na Mastodon i że nie wolno crosspostować z Twittera. Kierunkowo, bo w drugą stronę można. Zresztą jest to później wprost napisane:

Cross-posting from Mastodon to other platforms is fully permitted. Cross-posting into Mastodon from another platform is not permitted.

Nie przeszkadza mi to. Gdyby było inaczej mógłbym przecież założyć konto na swoim serwerze, albo postawić własny, nieprawdaż? Natomiast kojarzy się mocno z odpowiedzią Kalego na pytanie co to jest dobry uczynek? I rodzi pytania o kwestie wolności, możliwość działania na większą skalę i ogólnie przyszłość. Raczej przyszłość odległą, więc odpowiedzi nie wydają mi się w tej chwili zbyt istotne.

Podsumowanie

Mastodon przy odrobinie samozaparcia nadaje się do użytku. Koncepcja jest ciekawa, choć ma przed sobą kilka wyzwań. Zdecydowanie wymaga wygładzenia, jeśli chce móc konkurować z „dużymi” na masową skalę. Gdybym miał bawić się w przepowiadanie przyszłości, to jest spora szansa, że Mastodon wchłonie Diasporę. I bardzo mała, że w przeciągu najbliższych kilku lat stanie się zauważalną alternatywą dla Facebooka czy Twittera. Nawet, jeśli moda przetrwa.

Niemniej, u mnie zostanie. Prawdopodobnie właśnie pomału kanibalizując Diasporę.

[1] Jak wynika z wpisu, z kolei Szczeżuję do założenia Mastodona zainspirowałem ja, przy pomocy Diaspory. Rekurencja…
[2] Przydałby się polski odpowiednik angielskiego follow. Niby jest śledzić, ale – podobnie jak obserwować – to pasywna obserwacja, z boku, bez aspektu podążania czyjąś ścieżką, popierania.
[3] Jak widać na przykładzie tego wpisu, wtyczka nie zadziałała. Przyczyna nieznana i nawet nie wiem jak to debugować.
UPDATE Po bliższym przyjrzeniu się opcjom, okazało się, że nie zaznaczyłem opcji „toot on mastodon” przy publikacji wpisu. O tyle bez sensu, że w opcjach wtyczki mam wybrane „autopost new posts”.

Kluby

Zainspirowany aktywnościami na czytanych blogach, zapisałem się ostatnio do klubów. Kluby są dwa: 512 KB oraz 250 KB. Pierwszy dotyczy rozmiaru strony nieskompresowanej, drugi – moim zdaniem istotniejszy – skompresowanej. Znaczy wykonana została optymalizacja WordPress.

Niby nic nowego, bo o optymalizacji strony i poprawnym działaniu na urządzeniach moblilnych pisałem już dawno. Jednak z WordPressa o rozmiarze nieskompresowanym mniejszym niż 512 KB jestem zadowolony. Tym bardziej, że chodzi o wersję z dodatkowymi statystykami Matomo. Okazuje się, że nie potrzeba żadnej magii, by osiągnąć taki wynik. Nawet motyw jest jeden z domyślnych.

Tak, to tylko główna. Poszczególne wpisy są nieco większe. Tak, nie mam obrazków we wpisach. Z obrazkami na głównej byłoby więcej. Z drugiej strony mógłbym zmniejszyć liczbę wpisów. Ale nie o to chodzi, przynajmniej mi. Nie musi być jak najmniej, ważne, by zwrócić uwagę na rozmiar przy zachowaniu wyglądu i funkcjonalności. Czyli żeby nie było bloatu.

Jeśli komuś naprawdę zależy na minimalizacji, to jedynym sensownym kierunkiem wydaje mi się strona statyczna. Statycznych generatorów stron/blogów jest wiele. Podzielone językami i licencjami, czyli dla każdego coś miłego. Do tego lekki motyw i wyniki są nieporównywalnie lepsze. Co można zobaczyć na przykładzie Wattmeter (geneza). Niestety, funkcjonalność jakby nie ta. Przede wszystkim brakuje sensownej możliwości spięcia komentarzy.

Swoją drogą fajnie widać, jak na przestrzeni lat zmieniają się narzędzia do badania optymalizacji strony. Kiedyś korzystałem z surowo wyglądającego webpagetest.org, teraz rządzi znacznie ładniejszy GTmetrix.

Puchną także same strony. Strona główna starego bloga (Jogger.pl) to 27 requestów, 227 KB skompresowane, 674 KB nieskompresowane. Jednak od obu tych wartości należałoby odjąć odpowiednio 152 KB oraz 461 KB związane z reklamami i widgetem wyszukiwarki Google. Czyli zostałoby 75 KB oraz 213 KB, przed jakąkolwiek optymalizacją. Ten blog ma 11 requestów i odpowiednio 102 KB i 334 KB, ale już po optymalizacji. Czyli jakąś połowę więcej.

Optymalizacja WordPress

Do odchudzania strony głównej, czyli optymalizacji WordPressa korzystałem z wtyczki Asset CleanUp. Więcej o polecanych/używanych wtyczkach WordPress pisałem pisałem tu, więc aktualizuję.

Gdyby ktoś chciał powalczyć samodzielnie to poniżej instrukcja, albo raczej krótkie wskazówki na temat tego, co ustawiłem w tej wtyczce. Nie jest to komplet zmian optymalizacyjnych, część rzeczy mogę robić w innych wtyczkach lub samym serwerze WWW. Czyli klasyczne YMMV, a każda zmiana wymaga testów.

  • Optimize CSS – wszystkie opcje włączone. Defer, minimize, cache.
  • Optimize JavaScript – nie dotykany.
  • HTML Source CleanUp – usunięte kilka tagów. Nie podaję które, bo mocno zależy od konfiguracji.
  • Google Fonts – włączone Remove Google Fonts. Widać różnicę w wyglądzie, ale na testach wyszło mi, że jest tylko odrobinę gorzej. Różnica w rozmiarze – znaczna.
  • CSS & JS Manager – ze strony głównej (i tylko z niej!) usunąłem ładowanie plugina Subscribe to Comments Reloaded. Jest potrzebny tylko na stronach wpisów. Podobny los spotkał tam jquery-core oraz jquery-migrate.

Niedoszła afera z Brave

Wszystko zaczęło się od wpisu o nieco przydługim tytule The Brave web browser is hijacking links, and inserting affiliate codes, który podrzucił kumpel z pracy. Z tytułu wynika, że Brave podmienia linki tak, aby używane były jego kody afiliacyjne.

Krótko o afiliacji – serwisy internetowe płacą za ruch, albo, dokładniej, za określone akcje użytkowników. Np. rejestracja w serwisie czy zakup produktu. Zwykle wejście od określonego polecającego jest identyfikowane przez odpowiedni parametr w URL, zliczana jest liczba interakcji, a na koniec okresu rozliczeniowego podmiot kierujący użytkowników do serwisu dostaje pieniądze. Takie płatne polecanie.

Z kolei Brave to przeglądarka, która reklamuje się jako szybka, bezpieczna. Blokuje reklamy i trackery, w zamian oferując użytkownikom możliwość zarabiania za oglądanie reklam i dzielenia się z twórcami stron WWW. Brzmi nieco utopijnie i podchodziłem nieco sceptycznie, ale… sprawdziłem, faktycznie jest szybka i bardzo łatwo pozwala na blokowanie reklam, bez konieczności zabawy z rozszerzeniami typu uBlock. Nie jestem fanem, ale przyznaję, że to świetna kombinacja do niektórych zastosowań.

Jak widać w artykule kręcona jest afera, jakoby przeglądarka Brave podmieniała linki i wstawiała swoje kody. Tak naprawdę użytkownikowi końcowemu jest raczej obojętne, kto skorzysta na jego rejestracji w jakimś serwisie. Oczywiście cicha podmiana psułaby biznes afiliacyjny, ale byłby to raczej problem wydawców. I żeby doszło do podmiany, użytkownik i tak musiałby wykonywać interakcję z portalem, na którym uruchomiona jest afiliacja. Biorąc pod uwagę, że chodzi o kilka portali związanych z krytpowalutami, szansa na to jest
niewielka. Więc nawet gdyby o to chodziło, to wpływ na użytkownika końcowego jest dyskusyjny i nie widzę powodu by rezygnować z dobrej przeglądarki. Choć oczywiście takie działanie byłoby kontrowersyjne od strony etycznej i ingerowałoby w wolność użytkowników.

Trochę dziwne byłoby jednak trzymanie listy „cichych podmian” publicznie w źródłach na GitHubie, prawda? No właśnie… Używam od pewnego czasu trybu przypuszczającego, bo tak naprawdę nie o podmienianie linków tak naprawdę chodzi. Z tego co sprawdziłem, nie chodzi o cichą podmianę bez wiedzy użytkownika, tylko o… wyświetlenie w sugerowanych stron z linkiem afiliacyjnym w ramach podpowiedzi, gdy użytkownik wpisuje odpowiedni ciąg w adresie strony.

Podpowiedź w pasku adresu w przeglądarce Brave

Użytkownik musi samodzielnie, ręcznie wybrać URL będący linkiem afiliacyjnym. Co więcej, opcję podpowiadania można w ogóle wyłączyć w ustawieniach, po prostu klikając, nie trzeba używać żadnych ukrytych opcji.

Wiadomo, że Brave to projekt komercyjny, więc jakoś zarabiać musi, ale w tym przypadku w mojej ocenie nie dzieje się nic złego. Nadal spokojnie można używać Brave, jeśli komuś zależy na szybkiej przeglądarce z wbudowanym blokowaniem reklam. Z racji tego, że źródła Brave są dostępne na GitHubie, ciche nadużycia będą raczej trudne do przeprowadzenia.

UPDATE: Dodałem screenshot poglądowy jak to wygląda. Ale przyznaję, że sprawdziłem niedokładnie i trochę racji w zarzutach jest – jeśli wpiszemy cały ciąg binance.us to jako podpowiedź wskakuje pierwszy URL, więc wciśnięcie klawisza enter w tym momencie spowoduje wejście z linkiem afiliacyjnym od Brave:

Podpowiedź w pasku adres w przeglądarce Brave – pełna nazwa, podświetlony link, który będzie użyty po wciśnięciu enter.
Podpowiedź w pasku adres w przeglądarce Brave – pełna nazwa plus spacja, podświetlony link, który będzie użyty po wciśnięciu enter.

Jak widać jest to widoczne dla użytkownika, jak widać powyżej dodanie jakiegokolwiek znaku (spacja, /) po binance.us spowoduje wejście bezpośrednie, bez podpowiedzi, ale… jest.