I can't remember, but I don't think MSN had offline messages. And I don't think ICQ lost offline messaging in the OSCAR transition, IIRC, ICQ moved to OSCAR with offline messages, then AIM got them, then AIM and ICQ could talk for a while (but all my ICQ contacts that I kept had moved to AIM or MSN by then anyway).
As I recall, originally, the ICQ client polled the server via UDP to see if it had any messages, and then you would do peer to peer for online messaging. But when you logged in, you'd get a cascade of the offline messages (uh, uh, uh, uh-oh)
Woah, ICQ had peer-to-peer? I thought it was quite centralized! Was that before the OSCAR migration?
I only remember Skype being "true" peer-to-peer, with your PC randomly becoming a presence/call relaying "supernode" if you had a publicly reachable IP and good connectivity. Different times!
Yeah, ICQ was peer to peer for online messaging as I recall in the say 97-99 timeframe. I think Yahoo was too. They'd fall back to server message passing, of course.
But this was just for messaging (and file transfer), not for presence/buddy list which was all server driven.
In that time frame, few had firewalls or NAT or two computers at the same location, so (server mediated) peer to peer just worked unless you were on a corporate network.
There were even some tools that showed you the IP, the "real status" and etc. of your contacts. The 9 year old me have felt like the greatest hacker of all time when using those tools :)
As I recall, originally, the ICQ client polled the server via UDP to see if it had any messages, and then you would do peer to peer for online messaging. But when you logged in, you'd get a cascade of the offline messages (uh, uh, uh, uh-oh)