Archive: Feb 2014

It is at times when IT companies are bought for $19bn (WhatsApp, by Facebook) that I think back to systems we once developed that had a similar application. In this case, my mind has fixed on a web chat system we developed for a UK Government Department back in 2006.

The primary purpose of this system was to allow the Department’s Permanent Secretary to hold question and answer sessions with his staff; but the system was developed so that it could be used by anyone within the organisation for whatever purpose they saw fit.

A screenshot from a test of the web chat system in May 2007

Like much of the development work we were doing at that time, this was ground-breaking work for the environment in which it was to be hosted; and it felt like we were pushing the boundaries of what was possible, probably slightly beyond what was possible.

The web chat system itself was written using a combination of .NET, ASP and Javascript (in Internet Explorer 6, or possibly 5.5 at the time), and was all managed via a custom-built XML interface on top of SQL Server. It utilised one of the hot technologies of the time—SOAP (Simple Object Access Protocol)—to pass messages between the client browser and server.

The polling of new data was one of the most challenging aspects of the web chat application, which we solved at the time by running timers in JavaScript every few seconds to check the server for any new messages (since the last message the current client had received). Any messages were returned via SOAP as an XML document which was then processed; with the results inserted into the appropriate DOM element.

From what I can remember there were a number of performance issues when too many messages were loaded onto the page at the same time, so we had to introduce a paging system to only hold so many messages on the screen at the same time.

An extra layer of complexity was added at a relatively late date when the intranet team running the system decided they wanted to add some moderation, so that every message posted within a particular chat session would need to be approved before it could be displayed. I think this was a result of general nervousness as the date for the first live chat approached!

[T]he most popular chats were associated with some of the various clubs and associations run within the Department

The system was actually fairly flexible. Chat rooms could have specified start and end dates and times; and as well as the configurable moderation, could be set up to allow anonymous postings, and user notifications for when new messages were posted. The latter was via email, because we were 7 years too early for browser-based push notifications.

I think the most popular chats were associated with some of the various clubs and associations run within the Department.

OK, it wasn’t quite WhatsApp (which after all is tied very closely to phones and the modern telecoms infrastructure), but I’m sure it could have been developed further and been ready for the smartphone revolution when it came. In any case, I’d be happy with only a fraction of that $19bn.