Matrix e o melhor de todos os mundos
Mas afinal, o que diabos é Matrix e por que devo me importar?
Matrix é um protocolo decentralizado para comunicação em tempo real de código aberto. Pode ser utilizado desde troca de mensagens, intermediador de ligações VoIP até como protocolo de internet das coisas. Basicamente, qualquer lugar que suportar enviar e/ou receber requisições HTTP (spoiler: 99% das coisas conectadas na rede global de computadores, vulgar internet).
Assim como o XMPP (Jabber), existe o conceito de federação. Diferente do XMPP, funciona. Caso você esteja se perguntando o que federação significa, vou tentar dar uma explicação rápida: é o conceito que torna possível você com seu email @gmail.com enviar e receber mensagens dos seus amigos com @hotmail.com. E a propósito, o que torna possível você usar aquele cliente de email de 40 dólares enquanto seus amigos usam o cliente nativo do sistema enquanto te chamam de louco é o fato do protocolo usado pelo email ser aberto.
Até então descobrimos que protocolos abertos e federados são do c*ralho, mas o que torna o Matrix tão especial ao ponto de eu sentar a minha bunda aqui para escrever esse texto?
O Problema
Hoje em dia, se você quer pedir ajuda a alguém da comunidade tecnológica você abre o Freenode no seu cliente de IRC, que por sua vez vai conectar no bouncer que você configurou para ter acesso ao histórico dos canais que você faz parte mesmo no período que esteve offline, manda sua dúvida no #canal relevante e espera pelo melhor. Ou então a tecnologia em questão tem uma comunidade forte no Gitter, então você abre ele.
Quando você está trabalhando, te obrigam a abrir o Slack. Quando você quer interagir com algum bot útil, falar com seus amigos nerds, consultar canais relevantes etc. você abre o Telegram, afinal o Telegram é livre*! Por que todas as pessoas não usam ele ainda? *obs: servidor de código fechado, não é realmente livre.
Por algum motivo obscuro, alguns amigos seus preferem usar o Facebook Messenger, então você abre ele também. Oh, tem aquele seu amigo esnobe que não perde a oportunidade de usar o Messages da Apple, e você infelizmente tem um Mac, então abre ele também. Por a caso você também está negociando um item no Rocket League, então você deixa o Discord aberto. Finalmente, para se comunicar com o resto do mundo, você abre o Whatsapp…
A Solução
Um dos maiores objetivos das pontes na vida real é interligar pedaços de terra outrora isolado. As pontes do Matrix fazem isso, mas com os ecossistemas de troca de mensagens.
Ok, como o Matrix e suas pontes podem resolver esse problema? Acho que uma imagem vale mais do que mil palavras…
Eu poderia ter ido mais longe e integrado esse chat com canais no Gitter, IRC, XMPP…
Existem vários tipos de pontes, que são explicadas de maneira detalhada aqui.
Sobre a integração do meu print, basta fazer o seguinte:
1. Crie uma sala no matrix (pode ser no seu servidor ou no matrix.org)
2. Usando o riot.im (ou outro cliente de matrix com interface para integrações) adicione uma integração com Slack
3. Adicione o bot @matrix_t2bot no grupo do Telegram e dê o comando /id;
4. Adicione o bot @telegram:t2bot.io na sala no matrix e dê o comando !tg bridge <id do comando acima aqui>
5. ???
6. Profit
Alternativamente, você também pode configurar seu próprio servidor com a ponte telematrix para não depender do t2bot.io. Na verdade você não precisa nem do matrix.org, pois a ponte para o slack também está disponível livremente aqui. Como configurar um servidor Matrix e as pontes mencionadas são um exercício para o leitor 😉
Conclusão
Matrix é um protocolo novo, ainda está dando suas engatinhadas virtuais, mas ao mesmo tempo apresenta conceitos inovadores e, diferente dos seus “antecessores”, não exige que você o evangelize entre seu círculo social para, finalmente, poder utiliza-lo. Você pode criar uma conta agora mesmo no matrix.org e usa-lo como um simples IRC bouncer que também acessa salas do Gitter. Talvez você já tenha conversado com um usuário do Matrix no IRC e nem percebeu 😮
Se você já está convencido que Matrix é o protocolo do futuro e quiser conversar sobre, meu contato é @yan:yetanothernerd.xyz.
Nota: a versão anterior desse artigo usava o servidor tchncs.de como exemplo, mas foi atualizado para demonstrar como usar o t2bot.io pois a ponte utilizada por esse servidor é mais atualizada e possui mais recursos (como unir sua conta Telegram com Matrix).