Thursday, 7 November 2013

Speaking computer

Thanks to this tweet:

I was reminded of an issue that causes problems. Computers speak a different language and it's difficult to get your head around at first.

If I told you:

"Pick a random number between one and thirty."

Would you have any problems reaching a number that fit those criteria? Probably not.

If you asked a computer to complete the same function it could take a very long time because it would see:

"Pick a random number." 33
"Is that number between 1 and 30?" No
"Pick a random number." 1958372
"Is that number between 1 and 30?" No
"Pick a random number." -8
"Is that number between 1 and 30?" No
"Pick a random number." 987362514037
"Is that number between 1 and 30?" No
"Pick a random number." 3304
"Is that number between 1 and 30?" No
"Pick a random number." -2837595093
"Is that number between 1 and 30?" No
... and so it goes until we reach the point where a number fits both criteria

And that is the difference between us and machines. Pick a random number is an instruction to us, and we await the criteria.

Pick is the instruction to a machine. A random number is the principle criteria. Between 1 and 30 is only the final check in the list.

When computers were being developed, the people who found it easiest to understand this language were the same group who developed programmes. The interfaces were then developed by this same group and adhered to those grammatical structures. Remember how difficult it was to use your first computer? And remember how the person showing you kept saying it was really easy?

It is deeply frustrating to anyone new to the word processing environment to be told something like "Select the text, then click bold" because actually, despite what you and I have learned, it is naturally more intuitive to us to choose the Bold state, then apply it to several parts of the text (a brush that paints things bold).

Thankfully, over the last umpty ump years GUI development has been carried out with people who don't understand the language of computers in an effort to make it more intuitive.

It does leave us in an odd position though, because those long standing operations aren't showing signs of disappearing - they're still common when using computers (how many people have never written a rich text blog, article, email, letter, etc?) but unlike the interactions that have only recently become mainstream (taking and editing video) they are not intuitive and have to be learned.

Doesn't anyone else think that's a bit weird?