I have kind of a meta-hobby at work, where I'm interested in different (self hosted) chat solutions. Because I'm in a special position to set up a lot of different infrastructure tools in the beginning of different projects I'm able to choose the tool without people asking too many questions.
Anyway, we had IRC, HipChat, Mattermost and Rocket.Chat and now I'm using https://zulipchat.com for the first time which has a slightly different UI with what they call Topics inside of Streams (which are like rooms).
Even if it took some time for me to start understanding the new UI I really like it now, it makes catching up on what happened during the day so much easier because of the Topics which are like threads in old school classic forums.
The only thing which I don't like is that it's not using Matrix as it's protocol to make it federated.