I really liked the design of the underlying protocol (OSCAR, also used by AIM). It was a lot of fun to implement in a 3rd party client and I learned so much about networking and application protocols from the experience. It contributed immensely my career path.
It was my first introduction to the type-length-value concept over the network, seemed radically different from the text only IRC protocol that I knew back then. I remember how fun it was to write an elegant parser for the ICQ messaging, and how I ended up on somewhat a DOM model where I converted the on-wire format into series of nested objects. Not the most efficient idea, but it was neat.
I really liked the design of the underlying protocol (OSCAR, also used by AIM). It was a lot of fun to implement in a 3rd party client and I learned so much about networking and application protocols from the experience. It contributed immensely my career path.
It was my first introduction to the type-length-value concept over the network, seemed radically different from the text only IRC protocol that I knew back then. I remember how fun it was to write an elegant parser for the ICQ messaging, and how I ended up on somewhat a DOM model where I converted the on-wire format into series of nested objects. Not the most efficient idea, but it was neat.