Main Content

Easy - but for whom?

Archive - Originally posted on "The Horse's Mouth" - 2010-05-18 07:46:11 - Graham Ellis

1. I wrote a graphing package once - for use on the Tektronix 4051 (so you'll see how old that was!) - and the sales team for whom I wrote it loved it in demonstrations. It asked a series of questions and then drew a graph - just what was needed to introduce customers to the piece of hardware and show the sort of results it could produce. But then when people wanted to use that same program to produce their own graphs it was intensely frustrating - they were re-entering data time and again, unable to set defaults and feeling that the whole thing could have been so much more efficient for them.

2. I see a similar trade off - the The "easy to use" v "easy to learn" trade off - in programming examples. I have been catching up on a few reviews of our website this morning, and on an example that joins three tables in MySQL, a reviewer writes "The guide itself is pretty straight forward but really, these three letter abbreviations are slightly hard to follow".

The comment is understandable. In my example, I have used three tables - with names:
  bdg - for a building
  res - for residents who live there
  dom - for domains they have registered
and in each table, I have primary keys (ids) that start with the same letter as the table - thus:
  bid - building id
  rid - resident id
  did - domain id

By using short names, the code examples are kept down in size, and you don't get all the lines folding. The names are just about long enough (for fluent English speakers at least) to identify with / understand what each table is. But I can appreciate that for many of our site visitors, who struggle to understand English, the abbreviation can confuse.

3. Yesterday, I was comparing Perl and PHP; Perl is a fantastic and generalized language which lets you do so many things very quickly - once you know it well, whereas PHP is tuned for web use, for people who don't want to spend quite so long learning, and in the long run is going to produce somewhat longer code.

4. Our coffee machine at Well House Manor is customer facing - a single push of a button produces a cup of fresh coffee. Easy for the users? Not quite as easy as you think, sometimes. The symbol for "hot water" is a odd one, and there's the occasional customer who doesn't realise that (s)he needs to put one of the mugs that are by the machine under the spout before pressing a button ...




There are design decisions to be made all the time. In each of the cases above, someone has thought about (or failed to think about, and made a random decision) the usability and the target market. My own "default" thought process is to ask myself "who is this intended for" - to look at my potential market / readership - and to design accordingly.

So I stand by my three letter table and column names. I think they're about right. And I say to people who are looking for something much more verbose that they may do better looking elsewhere for something more basic, or in their own native tongue - we can't provide the perfect answer for everyone.

And on that basis, to the lady who was on the phone, furious that our web site didn't tell her the times of buses from Potterne to Devizes, I must say "why should it - we're a software and training company in Melksham and we just mention those places as served. Have a look at the bus company's web site if you need detailed bus times!"