The First Rule Of Good Software Design? First, Do No Harm!By Alex Walker
Who amongst us hasn’t at some time been cursed by the autocorrect gremlin?
You tap out a ‘letter-perfect’ message, dart your thumb to ‘SEND’, only to watch in slow-motion horror as the autocorrect gremlin decides you couldn’t have meant THAT, right? A moment later it has overridden your words with something ludicrous before sending it on its way before you can object.
It’s like having a little Mr. Bean in your pocket.
I particularly love the following example — mainly because it didn’t happen to me.
This is one of those cases of product designers trying to help us, but accidentally doing the opposite. A misspelled message of ‘I am leaving noo’ would have come off as forgivably sloppy, but not as heart-attack inducing as ‘I’m leaving you’. Less funny too.
Still, as funny as autocorrect fails can be, I suspect the total impact of autocorrect is a win. The benefit of the fixes outweighs the fails.
Sometimes these attempts to help can be more damaging.
So, is this a date?
One of the newer ‘UI helpers’ we’ve seen in the last decade is the ability for applications to recognize dates in plain text.
Although, as humans, we skip between date formats with relative ease, it’s only been recently that software has been sophisticated enough to understand that the following all refer to the same point in time:
- Wed 25th Jan
- Wednesday, 1/25/2017
In fact, applications like Gmail, MS Word and Slack are even clever enough to understand concepts like ‘tomorrow’ or ‘next Friday’ as dates that you can click on to turn into events or appointments.
This can be really helpful — until it’s not…
Please Stop Helping
Although Microsoft isn’t quite the global juggernaut it once was, their ability to offer their software very affordably to schools, universities, and academia has kept them dominant in the education and research sector. The vast majority of the world’s university studies and papers are produced using some combination of MS-Word, Excel or Access. A feather for MS caps.
Unfortunately, last year it was reported that Microsoft’s Office suite was responsible for breaking or invalidating about 20% of genetics studies since 2004.
How did this happen?
As with most sciences, Genetics has its own language and vocabulary of terms that most of us will never encounter. For instance, you probably didn’t know that…
Septin 2 (or SEPT2)
Membrane-Associated Ring Finger (C3HC4) 8 (or MARCH8)
Many of these studies are dozens, if not hundreds, of pages long and individual Excel tables may list ‘SEPT2’, ‘MARCH5’ or ‘MARCH8’ many thousands of times.
How does Excel handle these gene names?
As you probably guessed — Excel and MS Word try to convert each and every one of those genes into a helpful date. In fact, altogether there are at least 25 different known gene names that get automatically renamed when imported into Excel.
“That’s not a gene, sir — it’s a calendar event!!”
The real kicker? When Excel auto-converts the gene into a date, it permanently forgets the original state. You can convert it to 25 different formats of September 2nd, but ‘UNDO’ simply deletes the text rather than returning it to original ‘SEPT2’.
Of course, if you know to turn off the defaults before importing your data, you’ll have no problem. Many researchers know to do this. Still, this problem has been detected in 720 of 3,600 genetics papers since 2004, so this is no ‘freak occurrence’.
We’ll never know precisely what impact this has had on genetics and medical research. But corrupted data simply HAS to weaken the quality of the results. Scientists build on other scientist’s data, and we know that data is flawed.
Might we be closer to a cure for cancer or antibiotic-resistant superbugs if all this corrupt data was clean?
Probably — though we’ll never know exactly how much closer.
“First, do no harm”
This idea is one of the central principles of medicine. In other words:
More from this author
“You’re better to do nothing, than do something that might make things worse.”
We don’t have a set of universal tenets that we adhere to in designing software, but gee,… that’s a good first design principle, isn’t it?
“When designing new features, first, do no harm.”