Thursday, 28 February 2013

Spaced out

** Grumpy old man alert **

A genuine web form
There's a campaign in the US saying that every student should have the opportunity to learn to write computer code. And I agree - it is a great thing to be able to do. However I do warn people who take that step into coding that it may turn them into a grumpy person, when they know how easy it is to do something... yet discover that so many idiot coders have failed to do so.

My particular gripe today is web forms that ask for telephone numbers. The standard format for a phone number in the UK is something like '01793 765432' with a dialling code,  a space, and the local number. Of course you don't type the space into your phone, but it is the correct format. Yet increasingly web forms are rejecting phone numbers with spaces in. Use one and you will get an error message pointing out the folly of your ways.

But here's the thing, and the reason why I bring up coding skills in the same breath. Once upon a time I used to write code in C, the programming language (in various variants) most used to write software for personal computers. In C there is a standard, built-in function that does a pretty simple, but occasionally useful thing. It takes a string of characters and returns that same string with the spaces removed. That's all it does. Frankly it's easy enough to write yourself, but it usually comes in the library of functions. Plain and simple. So guess what? If you have a form and put the text in it through this routine, you will get a phone number without spaces. No need to wrap the user on the knuckles for getting it right - simply change the format to the one you want.

This is a fundamental of good user interface design. If you know what's wrong, don't complain, just fix it. If your programming can't cope with the input it's your fault, not the users.

Get your act together guys. This is pathetic.

1 comment:

  1. Completely agrre with you, Brian. And these nerdy programmers often wait until the end of a lengthy input of other data to point out your error.

    May I add also my peeve of the many websites I have encountered which invite you to select your country of residence from a drop-down menu of every country in the world only to point out much, much, later that they will only deliver to the UK, US, or whereever.