Oh, isn't he so cute?
I used to use messenger applications such as Trillian and Adium which understood instant messenger protocols such as AIM, IRC, XMPP, Yahoo! Messenger, Bonjour and many more. Software used to be built a lot more in this style. There were a number of clearly defined standards and a wide variety of software to plug into those standards.
He thinks that AIM and Yahoo! and (MSN) Messenger had "clearly defined standards"...
That's so cute.
No, dude, those are not clearly defined, and they aren't standards either. Back in 2010 or 2011, had the unenviable task (I certainly didn't envy it) of adding something that, on the face of it, sounded simple and straightforward: add support for blocking file transfers for these three (...) (...) (...) so-called "protocols" in my company's firewalls. So I dug into them. And I dug. And I dug. And I continued digging. Yahoo's was the least awful, to the extent that compared to the other two, it didn't leave any mental scars.
But AIM's protocol, more correctly called "OSCAR", was ... special. It was elaborately layered, with lots of "let's have a laugh with the people who try to analyse it" features, like a layer called SNAC (no "k" at the end) that spoke extensively of "food groups", and a prize feature where they would use it in clear-text format over SSL/TLS ports like 443, whence the special code in the SSL/TLS handler to detect that the connection was using OSCAR instead of SSL/TLS and switch to its handler. (Yes, our firewalls have a full deep-packet-inspection mode, and therefore do not tolerate people trying to slip illicit traffic over well-known ports without being in the relevant actual protocol.)
Microsoft's alleged protocol might even have been worse, being a weird composite of text and binary formats, with the text parts usually in a format similar to HTTP headers (token-colon-space-value-newline), except that...
For inexplicable reasons, some of the lines were lightly obfuscated. Instead of:
IPv4AddressAndPort: 192.168.1.42:443
it would say:
troPdnAsserddA4vPI: 344:24.1.861.291
That project caused me a <<<===================>>> teeny tiny bit of stress.