I have used a lot of different messaging tools over the years, and some have stuck, others have not.

Back in the days: IRC (90s, early 2000s)

There was some sporadic use of e.g. talk for point-to-point chatting among users of UNIX hosts. I used to use IRC a lot, starting in the 90s. There were various subject matter channels of interest, and I was quite keen about it at the time. However, its usage petered off gradually. I think my last serious use of it was with erc (Emacs client) in conjunction with bitlbee (which provided bridging to some other IM things that were being used at the time).

(Plaintext) email was ‘the thing’ for business communication.

Another attempt: Jabber / XMPP (~2000+)

I do not recall quite exactly when I started using XMPP, but it was early 2000s. There were also some bridging tools for that, but I do not recall what they were. The protocol itself was launched in 1999 or so, encryption added at some point, and in general it was quite functional. However, not particularly popular.

I do not think the XMPP protocol itself ever really broke through enough, as I feel I have mostly used it to chat (either while physically present, or not) in the IETF meetings. As it was standardised there, it is not surprising it was used there.

Plaintext email was still ‘the thing’ for business communication.

Dark days of proprietary messaging (~2010+)

A lot of both text- and voice-based proprietary chat tools started to crop up (this is far from exhaustive list but these at least I remember using, mostly at work):

  • ICQ (1996-2024)
  • MSN Messenger, nee Windows Live Messenger (1999-2012)
  • Skype (2003+, mainly voice, acquired by Microsoft in 2011)
  • HipChat (2010+, acquired by Atlassian in 2012)
  • Zoom (2011+)
  • Slack (2013,+ mainly text until recently)
  • Google Hangouts (2013+)
  • Signal (2014+ - open source but firmly in control of one party)
  • Discord (2015+ - IRC for gamers with good voice support)
  • Microsoft Teams (2017+)

While I earlier tried bridging some of these to IRC, later on it was mostly matter of using multi-protocol client (mostly Trillian, some others) but frequently the bridging was not particularly good so I gave up on it at some point (not quite sure when) and started living with the fact that I had to check N different IM clients every day for work and for ‘fun’.

Sadly, plaintext email is still a thing around this time period, but bit less so (a lot of chatter has moved to messaging).

The new hope? Matrix

Matrix.org was initially introduced in 2014, but I would say it started to gain some steam only few years ago (e.g. 2019 - around that time the protocol left ‘beta phase’, and foundation running it was launched). I dabbled a bit with it (while using too many clients still) in 2020 and 2021, but gave up on it at the time.

This year I revisited it, and while the clients and servers are still somewhat immature (or well, the protocol specifications move faster than clients and servers get updated), it serves useful purpose for me now. I have managed to squeeze the number of instant messaging clients I use to two thanks to Matrix:

  • Matrix client (Element Desktop on Mac, Element on mobile)
  • iMessage client

and it could be even one, but as iMessages contain things that I am quite leery about (2FA authentication messages, credit card verification messages), I rather leave those within it. All other tools my associates (and workplaces) use are bridged to Matrix:

I am running my own Matrix homeserver, as homeservers have access to the messages, and I rather not use bridges hosted by others due to that. In addition to those 3, I am also bridging some webhook-style things using nim65s/matrix-webhook: Post a message to a matrix room with a simple HTTP POST to some rooms on my homeserver.

I think in terms of messaging, I am happy enough with Matrix as a solution. But it is 2024, and I am still using plaintext emails to sometimes deal with quite sensitive financial matters.

Alerting, word or two

At office I have used in the past horrible proprietary systems (some I wrote myself), PagerDuty, OpsGenie, and Grafana OnCall, to page me about stuff happening. At home I can’t do that, so this years project involved thinking about free way of getting ‘good enough’ alerting and then notifications when things go bump in the night.

I have wound up with two-pronged approach for alerting:

  • dedicated status checker tool (initially Uptime-Kuma, but I moved https://github.com/TwiN/gatus as it is easier to configure via code and also has fancy Prometheus metrics re-export)
  • Grafana alerting

and both of these wind up in the Matrix (Grafana does not have dedicated Matrix connector, but I use webhook with it; Uptime-Kuma and Gatus supported Matrix out of the box).

If I ever get serious about it, I think I still need some sort of liveliness indicator to the pipeline, but other than that, I am quite happy about the messages my home alerting stack produces and delivers now.