Monday, 14 March 2016

The return of the Scunthorpe problem

One of the applications that CST Group, my company, has developed is an online contacts and application form management system for a leading UK pub chain. It was all working well until the company decided to equip their team of business development managers with brand new 4G enabled tablets.

Most parts of our application worked fine, but there was one page that simply refused to load. Lots of head scratching ensued: perhaps the HTML within the web based application wasn’t valid? But a quick check through the W3C validator showed that it was perfect XHTML 1.0 Strict code. Likewise the CSS behind the page validated fine. Our next suspicion was that the page was too big (it contained a massive drop-down listing around 2000 pubs), but we realised it couldn’t be that because there was another page with an even bigger dropdown of other things. Could it perhaps be a caching issue? We re-built the application using a randomised name for the page, but again it refused to load.

The only thing left to do was a bit of good old fashioned binary-chop debugging. Split the page in half, and find out which part works and which doesn’t. Then split the non-working part in two, and continue doing that, until you home in on the bit of code that’s causing the application to fail. It didn’t take long to realise that it was that list of 2000 pubs that was causing the problem. Even as a standalone <select> and <option> tagset on a page it was refusing to load via the 4G connection, although it worked just fine when connected to wi-fi.

There was obviously something in this list that was causing the problem, so it was binary chop time again. After a few iterations we discovered the culprit. A pub called “The Black Cock”. I’m sure the sign outside of the pub shows a dark chicken, but the mobile broadband provider was running over-sensitive porn filters, and these had decided that the Black Cock was something else entirely. In the end we had to speak to the network concerned and ask then to add our IP addresses to a white-list of known safe websites.
 
Within the web industry, this is known as the ‘Scunthorpe Problem’, a term which dates back to 1996 when America Online (now AOL) applied so-called ‘swear filters’ to the fields on its sign-up form. The over-zealous nature of those filters prevented people from the town of Scunthorpe from signing up. For those who aren’t aware of this little episode I’ll leave it as an exercise for you to work out why.

No comments:

Post a Comment