Myślałem sobie ostatnio o komunikatorach i uświadomiłem sobie, że z wierzchu są bardzo podobne. Ja np. mam trudność w odróżnieniu, czy ktoś pisze na @delta_chat czy #whatsapp, tak podobne mają UI. Podobnie są odpowiedzi, reakcje emoji, wzmianki, wideorozmowy...
I pomyślałem: skoro ludzkość bawi się komunikatorami od paru(nastu?) lat i zdołała wypracować wspólny język, jednak wciąż jest problem z fragmentacją (co utrudnia zaproszenie kogoś na komunikator #opensource, bo musi kolejną apkę, a może nie ma miejsca), co stoi na przeszkodzie w powstaniu bądź upowszechnieniu się generycznej aplikacji klienckiej z różnymi backendami w formie wtyczek? Miałoby to mnóstwo zalet:
- pojedyncze UI do którego można się przyzwyczaić.
- nie trzeba pamiętać kogo się ma na jakim komunikatorze.
- globalne przeszukiwanie treści.
- łatwiejsza w obsłudze technologia dla osób starszych.
- szyfrowanie w komunikatorach, które go nie obsługują.
- wiele obsługiwanych platform.
Można by zacząć od unifikacji otwartych protokołów w jednym kliencie - wspomniana @delta_chat, @matrix, #IRC, #XMPP, @session, @briar, @RocketChat, @signalapp i potem rozszerzyć to na korporacyjne media - #Discord, #Telegram, #Messenger i reszta. Z niektórymi może być ciężej, bo klucze API, bo regulaminy nakładające ograniczenia na nieoficjalne klienty i może to ostatecznie przypominać zabawę w kotka i myszkę jak z YouTubem vs NewPipe i Invidious. Ale może inicjatywę dostrzegłyby władze UE i w duchu DSA nakazały interoperacyjność?
Jeszcze lepiej, gdyby między modułami a UI znajdowała się biblioteka, którą możnaby wykorzystać w innych klientach, np. CLI lub botach.
Pidgin. Włączałem go raz z ciekawości bo był preinstalowany z dystrybucją i stwierdziłem, że obsługuje tylko kilka archaicznych protokołów i że raczej mi się nie przyda. Teraz odkryłem to: https://pidgin.im/plugins?type=Protocol. Wtyczki do dziesiątek komunikatorów i nie tylko. Z obu światów. Szkoda, że akurat nie mam przy sobie kompa żeby je wypróbować, być może nawet mógłbym pozbyć się paru aplikacji.
Jest też biblioteka libpurple, z której korzystają też inne klienty. Z jakiegoś powodu nie udało mi się znaleźć żadnego androidowego klienta.
Generalnie projekt wygląda na prawie umarły i cierpi na brak zasobów. Pracują nad nim tylko 2 osoby i jak na razie nie są w stanie przeportować go na Androida. Poza tym, jak przewidywałem, są problemy z regulaminami platform. https://dev.to/grim/why-is-there-no-mobile-version-of-pidgin-44df
Tutaj więcej o problemach świata komunikatorów, w szczególności fragmentaryzacji rynku:
https://petermolnar.net/article/instant-messenger-hell. Artykuł obejmuje szerszy kontekst historyczny.
To dobra wiadomość, że biblioteka i pluginy już są (o ile działają). W zasadzie brakującym elementem układanki jest porządny klient, który mógłby podbić świat, a to już przynajmniej o połowę-2/3 mniej pracy - tak mi się przynajmniej wydaje. Dlaczego by nie wykorzystać np. kodu @delta_chat lub #Telegram? Wiem, że @session ma bardzo podobne GUI do @signalapp, prawdopodobnie dlatego, że zostało zaadoptowane do pracy z innym backendem.
@anedroid @session @signalapp plus nawet jak działały, to pluginy miały masę błędów, część z nich nawet exploitowalnych, z tego co pamiętam.
@viq @session @signalapp U, to niefajnie.