Matrix has a lot of problems, some of them inherent to its design, including leaking metadata of encrypted messages to any server that participates in a chat room (this metadata includes the time the message was sent, size, sender and recipients of messages).
I personally think Movim is the better option that's actively federated, while Fluxer is also promising if it successfully implements federation as well.