|
|
YOUR FEEDBACK
Did you read today's front page stories & breaking news?
SOA World Conference
Virtualization Conference $200 Savings Expire May 16, 2008... – Register Today!
SYS-CON.TV |
TOP THREE LINKS YOU MUST CLICK ON Java Desktop
Software Should Be More Hard Wearing
By: Joe Winchester
Feb. 5, 2007 04:00 PM
Digg This!
I am always in awe of people who develop hardware. They're the real engineers of our profession, the ones pushing forward the speeds at which things work, their size, and their connectivity. For example, in 2005 there were more computer chips produced worldwide than grains of rice harvested and at a lower unit cost. Tonight as I was watching a movie from the 1980s, instead of dating it by the big hair and shoulder pads, the tree rings were most visible by the size of the mobile phone the hero was using, the lack of a plasma or LCD wide-screen TV in an otherwise luxurious living room, and the absence of a satellite navigation device as the lead characters got lost following directions from a map.
I remember coding in RPG in the 1980s and struggling to keep response times down so users wouldn't become dissatisfied with the application and bombard our help desk with complaints. If things got too bad, the customer could always upgrade their box to a newer and more powerful model and, riding the wave of Moore's Law with semiconductor speed doubling and price halving every six months, this was always the long stop for poorly performing code. However, as each new box came along with more memory and more processing power, the software somehow became larger and slower, so that the overall response time never seemed to really go down. I always felt sorry for the hardware engineers who with each new chipset probably thought, "Phew, we've just created an X mega/gigahertz chip; now everything that ran slowly before will perform OK, let's take a break," only to receive the call on their vacation that a new OS release or software package had been created that needed their new hardware specification as a minimum and could they please work on the next release to make it perform acceptably. My mobile phone broke the other day after it fell on the kitchen floor, and after an apologetic call to my network provider, they agreed to send me a new one. Fortunately it wasn't going to cost me anything so I naturally talked myself into getting the latest whiz-bang model. When it arrived I was in awe of the thing: it's super slim, has the most gorgeous anodized case, a viewing area larger than my digital camera's, and as a piece of engineering is a work of art. The software on it, however, is absolutely terrible: to send a message I'm required to open a folder called messages, select "create," then type the message, pushing a button for "options", then pressing "send" again, which then asks me whether I want to send SMS or MMS. From a usability standpoint, it is just appalling. I don't care about network protocol; I want the phone's software to figure out which to use by analyzing the message's content. There are two buttons on the front of the phone that will connect me to the Internet, one of which I keep pressing by accident when I'm backing up through menus. I don't want to connect to the Internet, ever, so I then have to press another button to cancel this. "Do you want to cancel?" This is the only time the phone ever asks for confirmation and, unfortunately for me, the only time I don't want to be asked. After pressing "Yes," it then comes up with a dialog telling me the number of bytes transferred that I have to press another button to dismiss. Why do I care about the number of bytes? It feels like the thing has a bunch of debug options left on. When I receive a call and the lid is open I press the green call button to accept. If I get a call and the lid is shut, all I have to do is open it and not push the button. Nice touch Mr. Usability Designer, except that if I open it and push the green button because I'm not thinking it holds the call. What is holding a call? All I know is that I can hear them and they can't hear me and I have to now push another button to retrieve the call. My TV has a recordable receiver that can store shows on its internal hard drive allowing me to watch them at my leisure. This is great and totally changes the way one watches TV; however, when the chaps wrote their software on it they decided that the remote control buttons for changing channels would be up for a higher channel and down for a lower number. Not a bad choice, except the person writing the software to allow the program guide to be viewed used, not illogically, down for higher number channels (as the list is sorted with the lowest number at the top), so there are now two opposite ways to switch channel numbers depending on which part of the device's software you're using. The list of frustrating software things that plague every existence doesn't end there, and it just disheartens me that the basic task of analyzing, understanding, and tooling for the user's most frequent and simple scenarios seem to have been overtaken by an obsession to cram as much functionality as possible into the hardware, overloading it with slow and poorly thought-through applications. In software we need to stop this millennium's ridiculous obsession with chasing the latest architectural fad or silver bullet that whizzes past, and instead focus on going back to basics and finding out what our users want and giving them something that's reliable, resilient, and more hard wearing.
LATEST JAVA STORIES & POSTS
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
|
SYS-CON FEATURED WHITEPAPERS MOST READ THIS WEEK BREAKING JAVA NEWS
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||