Software design lessons learnt from a sleeper train

"Rich Baldry, a product manager based in our Vancouver offices, found himself with some time to kill on his (prolonged) journey across Europe this weekend, and has jotted down some thoughts regarding good software design. Over to you Rich.."

Rich Baldry
Along with several hundred of my colleagues I found myself stranded in Berlin this week. The cloud of volcanic ash now covering most of Europe wreaked havoc on the return travel arrangements for those of us attending the company’s annual Sales Kickoff.

Although I’m based in Vancouver, I was supposed to be travelling to the UK to work with colleagues on designs for the next generation Sophos Management Console. When my flight was cancelled, I managed to get a ticket for a sleeper train to Holland, connecting with a ferry to the east coast of England.

The train I boarded in Berlin had originated in Prague and when I found my sleeper compartment, the occupants of two of the berths were almost asleep. The guard suggested we lock the door before going to sleep, using the rather anonymous knob you can see in the picture below.

I was woken at about 3am to the sound of the door being pushed, knocked and shaken. My first thought was that someone was trying to force their way in, but when I came to properly I realized one of the original occupants had woken up and was trying to get out. He hadn’t been told about the locking knob and was wondering what on earth had happened.

Train with door lock marked with an arrow

The problem is that this knob was located way above his head, in the frame of the door – probably the last place you would look for a door lock. The lazy alternative to good design is documentation, but unfortunately there was none of this either – no signs on the door or even labeling on the knob itself. As a result, this poor chap (who I later learned was a very nice Scot called Hamish) suffered several minutes of near-panic and the rest of us were woken up in the middle of the night.

A key part of our mission at Sophos is to make our products brilliantly simple to manage so our customers save time and money in deploying the products and keeping their businesses secure. Amongst other things, this means designing them in such a way that the controls are easily discoverable and are obvious in their function.

So as my colleagues and I seek to create and innovate in the coming weeks and months, this was a timely reminder of how bad design causes stress, inconvenience and ultimately costs time and money. Seems like even an ash cloud has a silver lining.