In The Toolbox – Team Chat


As I write this MSN Messenger is taking its last few breaths before Microsoft confine it to history. Now that they own Skype they have two competing products and I guess one has to go. I’m sad to see it be retired because it was the first instant messaging product I used to communicate with work colleagues whilst I was both in and out of the office.


At my first programming job back in the early 90’s the company used Pegasus Mail for email as they were running Novell NetWare. They also used TelePathy (a DOS based OLR) to host some in-house forums and act as a bridge to the online worlds of CompuServe, CIX, etc. Back then I hardly knew anyone with an email address and it was a small company so I barely got any traffic. The conferencing system (more affectionately known as TP) on the other hand was a great way to “chat” with my work colleagues in a more asynchronous fashion. Although some of the conversations were social in nature, having access to the technical online forums was an essential developer aid. Even the business (a small software house) used it occasionally, such as to “connect” the marketing and development teams. Whereas email was used in a closed, point-to-point manner, the more open chat system allowed for the serendipitous water-cooler moments through the process of eavesdropping.


As the Internet took off the landscape changed dramatically with the classic dial-up conferencing systems and bulletin boards (BBS’s) trying to survive the barrage of web based forums and ubiquitous access to the Usenet. Although I did a couple of contracts at large corporations I still had little use for office email and that continued when I joined a small finance company around the turn of the millennium.


It was nice being back in a small company – working with other fathers who also had a desire to actually spend time with their families – because it meant we could set up remote working. The remote access was VPN based (rather than remote desktop) which meant that we would have to configure Outlook locally to talk to the Exchange server in the office. This was somewhat harder back then and it was just another memory hog to have cluttering up your task bar. A few of us had been playing with this new MSN Messenger thing, which, because we were signed up personally meant that whether we were at home or in the office we easily talk to each other. Given our desire to distribute our working hours in a more family friendly manner that meant we often found ourselves working (remotely) alongside a team-mate in the evening.


Instant messaging soon became an integral part of how the team communicated. With the likelihood that at least one of us was working from home we could still discuss most problems when needed. Of course there was always the option to pick up the old fashioned telephone if the limited bandwidth became an issue or the emoticon count reached epidemic proportions. Even 3 and 4-way conversations seemed to work quite painlessly. However shared desktops and white-boards felt more like pulling teeth, even over a massive 128 Kbps broadband connection.


Eventually I had to move and I ended up back at one of those big corporations – one that was the complete opposite of my predecessor. Here everything was blocked, you couldn’t (or shouldn’t) install anything without approval and instant messaging was blocked by the company firewall. In this organisation email ruled. This was not really surprising because The Business, development teams, infrastructure teams, etc. were all physically separated. Consequently emails would grow and grow like a snowball as they acquired more recipients, questions and replies until eventually they would finally die (probably under their own weight) and just clog up the backup tapes. The company’s technical forums were also run using email distribution lists. Anyone brave enough to post a question had to consider the value of potentially getting an answer versus spending the next 20 minutes dealing with the deluge of Out of Office replies from the absent forum participants. They even had a special “Reply All” plug-in that would pop up a message box to check if you were really, really, really sure that every recipient you were intending to spam actually needed to see your finest display of English prose and vast knowledge of the subject matter.


Little known to most employees the company actually ran an internal IRC style chat service. Presumably, in an attempt to reduce the pummelling the Exchange Server was taking, they forced their developers to “discover” it by making the chat client start up every time they logged in. They also disbanded the email distribution lists and set up IRC channels instead. Even the ACCU had its own channel!


It may sound like a draconian tactic, but it worked, and I for one am really glad they did. Suddenly the heydays of the conferencing system I had used back in the beginning were available once more. Although there was a “miscellaneous” topic where a little social chit-chat went on I’d say that by-and-large the vast majority of the public traffic was work related. Both junior and senior developers could easily get help from other employees on a range of technical subjects covering tools and languages. Naturally, given the tighter feedback loop, the conversations easily escalated to the level of “what problem are you trying to solve exactly?” which is often where the real answer lies.


One particular channel was set up to try and enable more cross pollination of internal libraries and tools. In an organisation of their size I would dread to think how many logging libraries and thread pools had been implemented by different teams over the years. Our system also had its own dedicated channel too which made communicating with our off-shore teams less reliant on email. Given the number of development branches and test environments in use this was a blessing that kept the inbox level sane. The service recorded all conversations, which I’m sure to some degree kept the chatter honest, but more importantly transcripts were available via a search engine which made FAQs easier to handle.


When it came time to move contracts once more I was sorely disappointed to find myself back where I was originally with the last company. Actually it was worse because there were no internal discussion lists either that I could find. Determined not to let my inbox get spammed with pointless chatter I set up a simple IRC server for our team to use. My desire was to sell its benefits to other teams and perhaps even get some communities going, even if we had to continue hosting the server ourselves. Internally the company had Office Communicator (OC), which in the intervening years had acquired the same chat product my previous client used, but sadly this extra add-on was never rolled out and so we remained with our simple IRC setup. Contact with some of the support teams was occasionally via OC but email still remained dominant.


For me IRC style communication has been perfect for the more mundane stuff. For example things like owning up to a build break, messing with a test environment, forwarding links to interesting blog posts or just polling to see if anyone is up for coffee. Using a persistent chat service (or enabling client side logging) also allows it be used as a record of events which can be particularly useful when diagnosing a production problem.


I suspect that from a company’s perspective they are worried that such as service will be abused and used for “social networking” instead, which is probably why they blocks sites like Twitter and Facebook. However, if teams are left to their own devices they will fill the void anyway and so a company is better off providing their own service which everyone expects will be monitored and so will probably self-regulate. But the biggest benefit must surely come from the sharing of knowledge in both the technical and problem domains. As the old saying goes “a rising tide lifts all boats”.


Chris Oldwood

25 July 2013



Chris started out as a bedroom coder in the 80s, writing assembler on 8-bit micros. These days it’s C++ and C# on Windows in big plush corporate offices. He is also the commentator for the Godmanchester Gala Day Duck Race and can be contacted via or @chrisoldwood.