Add new comment
This post is more of an open letter to all developers. Software developers, database developers, and any developers that develop anything. Including mouse traps.
Three words: Keep. Things. Simple.
Why? Well, that reason is also simple. The key to the answer is when you’re attempting to design something keep the end user in mind, and by that I just don’t mean how you perceive they will use your product, widget, or application. Try to envision the process. The system.
Here is a photo of my remote control. Every time a new feature is created a button is added. Over time so many buttons are created it becomes absolutely unusable.
One thing I always tried to do -- and this spans pencil and paper as well as electronic format -- is imagine how I do something at the moment of crisis. Here is what I mean.
Back in the day, when I was an undergrad and later in grad school, I was a warehouse manager. I was also an office manager. I was also the dispatch clerk. I was also the shipping clerk. See where this is going? You can call it my first forray into the world of data management. I had shipments coming and going out of the warehouse that I had to manage. I had to fill orders. I had to process shipping paperwork and, oh yes, I had to do it with a legal pad and a pencil. It was why I first started to investigate this thing called a database. How to construct it, manage it, and use it. Call it chief cook and bottle washer. I just didn’t ship items I had to be the data entry clerk as well.
Why do I say all this? Well simply it is because I was able to think in all aspects of the job. So, when it came time to design the database I thought in terms of not just how the tables, queries, and reports were designed. I thought of how I was going to be using it. Where do I put buttons? What absolute necessary reports do I need to have easy access to at a moments notice? Finally, how do I enter the data? Not sitting at a desk in the front office, but on the shipping table at the loading dock when 7 shipping vendors arrive all at the same time for 20 different orders going to as many if not more destinations because, as we all should know, things happen in waves. For twenty minutes there is no activity; you can sip your coffee and organize your thoughts and paperwork; then all at once everything happens on multiple fronts. So the question arises how do I devise a system where I can multi-task in such an environment of loading trucks and doing data entry? I suppose I was fortunate in that regard because it taught me not so much regarding the specific job but rather the insight of thinking globally. If I put this button here on this data entry form how will this work when the user is under fire? Does it make logical sense? Once you’ve answered that question everything else falls into its slots properly and you’ve got a good solid system. Electronic or otherwise.
That’s why the remote control is such a fail. If there is an alleged logical order to the buttons it isn’t readily apparent. I am also positive, much to the dismay of manufacturers, that many don’t use 80% of the options available. I can tell you now I use the up/down/left/right buttons to navigate. I use the numeric keypad to enter the channel numbers. I also use the rewind-backwards/stop/forward/pause buttons. I also use the enter key and the previous channel. Now I realize that sounds like a lot but it really isn’t. After those options what else is truly needed?
Which brings me back to the same three words: Keep. Things. Simple.
Keep things simple even in complex environments. Yes, that may sound like a contradiction, but it doesn’t make it any less true. What do I mean? Don’t over complicate an already complicated situation.
For database developers dealing with hundreds of tables don’t create field names of FN, LN, EN, AN. Try CamelCase: FirstName, LastName, EmployeeNumber, ApartmentNumber. It will make it so much better when you try to create that stored procedure, that database view, that trigger.
For web developers, can I find what I’m looking for on your page? Everyone is so compressed for time they’re often quickly scanning the page. If it’s an import feature make sure it jumps out at the user quickly otherwise you might as well be using a camouflage theme -- unless the treasure hunt aspect is what you’re going for.
For remote control developers. Remember: less is more. Most of us just want to watch the game then go to bed so we can do this all over again tomorrow.
Lastly, for everyone, don’t ever push the wed button: