Eventually
we found one at the Ideal Homes exhibition in London, ironically made by a
company a few miles from home in Leatherhead. It was very expensive but we had
to have it because the leaves were fitted with pistons which slowly lift each
leaf once it they have been given a manual start. The piston isn’t strong
enough to keep the leaf in an upright position for use, so you still have to
scramble under the table to fold out the gate, therefore rendering the piston
pretty pointless – over engineered if you like.
I’m
thinking about this now because we’ve just bought a new suite for the front
room and the two poufs have magazine storage compartments inside, and you’ve
guessed it the lids have pistons on them. These are a little more useful
because they keep the lid up while you rifle through months of magazines trying
to find the article you are after, and prevent the lid from falling on your
head.
It
turns out they are not the only pistons in the house, we have a soft closing
toilet seat which is essentially a piston too. I think this clearly falls into
the over engineered category, I’ve certainly never worried about the toilet lid
falling on my head.
All
of this got me wondering about what else we have that is over engineered and
whether I’m guilty of doing it too.
How
do you open a document on your computer? Double click on it, right click on it
and select Open from the menu, open the application first and then select the
Open command and search for the file, or maybe you drag it onto the open
application. That’s four different ways to do the same thing, and I can’t help
thinking that there’s probably a fifth way that I’ve forgotten.
Surely
we don’t need all those ways to open a document. You can make a very good
argument that the piston examples add to the desirability of the product and make
them sexier in some way – it was the main reason for us buying the gate fold
table after all. But does the number of ways I can open a document in Windows
affect whether I buy it or prefer iOS instead.
If
some people use the options and find them useful or easier then what’s wrong
with adding them? It makes the software more complicated that’s what. Somebody
has to spend the time writing the alternate functionality, somebody else has to
test it, if you have comprehensive documentation somebody needs to add it to
the user manual or online tutorials, and if it fails it will take time and
resources to fix it.
Having
said that the latest web site data entry tool I’ve been working on has almost
as many ways of editing a record as Windows has for opening a document. You can
double click on it, right click and select Edit from the context menu, single
click to view the record and then press the Edit button in the view window.
After
reading what I’ve said above you are probably wondering why I did that. Well, I
guess it’s because we think our users expect it.
It’s
a lame excuse and it would be better to know whether our users do use these
functions, although now that we’ve added them it seems pointless taking them
out, it’s not like a piston which adds to the ongoing production costs.
At
a recent conference I sat in a talk about the IOT or Internet Of Things for the
uninitiated. I find it hard to understand the value of a lot of IOT
applications – do I really want to change the temperature of my home heating
while I’m on the train going home? But one example did sound pretty useful for
a manufacturer of white good.
I
bet your washing machine has about a dozen wash programmes and I also wager
that you have never used most of them. So why do they exist? Because somebody
thinks somebody uses them and it looks impressive on the marketing material.
The IOT example in the conference suggested that every time somebody starts a wash
the machine should send a message to the cloud indicating which programme was
being used, so that half of the buttons can be removed when version 2 of the
machine is designed.
So
should I add instrumentation like this to my software, so that I can remove
some of the Edit options?
As
it happens my software already has instrumentation – every call to the server
is logged in the database so that we can see which functions are used more than
others and more importantly we can see which ones perform badly i.e. slowly.
However, it doesn’t matter how you select Edit on the UI it always logs that
the same edit function has been executed on the server.
It’s
given me something to think about but like most people I think I’ll continue to
over engineer my software in the hope that each extra option I add will attract
or please at least one of my users.
No comments:
Post a Comment