facebook rss twitter

10 things that software makers should and shouldn't do

by Bob Crabtree on 26 March 2007, 18:27

Quick Link: HEXUS.net/qaiar

Add to My Vault: x


Bob Crabtree's goes off on one again - and the result is a list of the 10 things he reckons that software writers and makers should and shouldn't do or, more accurately, what they shouldn't do and should do.

No pre-amble, let's get straight down to it - these are the changes I want to see (though in no particular order) and that I think all users should join me in demanding!

1/ Don't tell me only after I've installed a program that I am going to have to reboot the PC to be able to use the app.

Tell me this before the installation gets properly under way. Don't make a reboot necessary without having a good reason - and make sure to tell me what it is.

The only excuse I think should be acceptable for a reboot is that it's a security app that needs to get its hooks into the operating system at a low level and can only do that after the PC restarts.

If you don't have that excuse, I'm going to think that you don't know how to write software properly or are hiding something from me about what happens after a reboot.

2/ Don't hide from users anything you're doing that could adversely affect the PC or its security - just think about the damaging storm that broke out when Sony last did this with covertly installed copy-protection nasties.

Do tell me why a reboot is necessary and what you've done to my PC - and make this information available to me from a menu any time in future.

3/ Don't under any circumstances install any phone-home or email-home features without my express approval.

Tell me you're going to do this during the install - ideally before it gets properly under way - then tell me again afterwards and let me turn this off from a menu any time in the future.

Better still, just don't install any such features.

4/ Don't force the program to be installed on the boot drive.

Give me a clear option to install the program on any drive I choose.

If you don't give me that option, I have to assume that you really don't give a damn about users or just haven't a clue about programming.

5/ Don't give me that option to install a program on a drive other than the boot drive and then go filling the boot drive with files that are generated by your program.

By default, put all those other files on the drive on which the program is installed but give me a clear option during the install to choose where all files generated by the program are going to reside - and let me change this from the program's menu any time in the future.

If the program resides on a drive other than the boot drive and yet you still insist on forcing the program to save files to the boot drive, I might accept that you care just a bit for users but would end up concluding that you are actually completely clueless.

6/ Don't use an uninstaller that will fail if anything it's expecting to remove is judged corrupt or isn't found. Many uninstalls are carried out in an attempt to get an non-working program back on its feet again.

If the uninstaller hits such problems with items it's expecting to remove, it should continue anyway but give a list of the things that haven't been successfully removed and save that to Windows' desktop (or some other place of my choosing, under a name of my choosing) along with an explanation of how you now propose to get rid of them or, at very least, how they can be removed manually. And it should tell me all this has been done.

7/ Don't use an interface or controls for your program that flout conventions. There's little point reinvent the wheel just to make it prettier - it also needs to be rounder and to roll along better than the standard wheel - and most new-generation wheels fail on both counts.

Make your program easy to understand and use by following conventions. I want a toolbar and a menu bar at the top of the interface and I want buttons for minimise, maximise and close over at top right. While we're on the subject, how the hell could Microsoft have ever thought that users of Internet Explorer would be happy - when moving to V7 - to have lost, by default, the menu bar and tools they've come to know and understand?

I also want a status display at the bottom of the interface and to be able to use the shortcut keys that I've taken the trouble to learn and that do work a standard way in most programs. At very least, I expect Ctrl-A, Ctrl-C, Ctrl-V, Ctrl-X, Ctrl-Y and Ctrl-Z to work as they do in the majority of programs.

And, though Microsoft may be regarded as having turned those particular key combinations into standards, that doesn't mean that it has any valid excuse for never having used Ctrl-Q as the quick way to quit a Windows program and close it down.

Yes, I do like - no, love- the feature in Internet Explorer 7 where Ctrl-Q minimises all the open tabs into a single tab - so I can pick an active tab from a thumbnail of its content, rather than by struggling to read the truncated names shown on individual tabs.

Internet Explorer 7 Quick Tabs activeInternet Explorer 7 in Quick Tabs view 
and with menus and toolbars turned on (click for larger image)


But why spoil all the good work by using that particular keyboard combination to toggle this view on and off? Was it simply because you dreamt up the name of this feature - Quick Tabs -  before deciding on the keyboard combination and then thought you had to use Ctrl-Q?

8/ Don't let me lose all my work as a result of a crash of your program or the operating system.

Make your program back up my work automatically at timed intervals of my choosing and, when the program next starts after a crash, offer to restore things to how they were at the time of the last back up.

If adding auto backup is going to mean that your program runs too slowly to be acceptable, then warn that this is a possibility during the installation and let me make the choice - and also give me the option to turn this feature off or on again from a menu any time in future.

Better still, add auto-saves with user over-rides but also rewrite your program so that this feature doesn't cause any usability problems.

9/ If your program (or drivers) works in combination with hardware that connects via a USB port, don't force me to re-install the software if I accidentally plug the hardware into a different port than the one that was used when the hardware was first installed.

Add some software intelligence so that the hardware works on any USB port. If that really is not possible because of shortcomings in the USB standard, then get together with a whole lot of other software creators to force the USB standard to be changed so that it is easy for all of you to ensure that any piece of installed hardware will work on any USB port.

10/ Don't try to kid me - especially now when one UK pound buys me two dollars - that there is any good reason why users in the UK are paying the same in pounds for your software as US residents do in dollars. It's bad enough that you're ripping me off, don't insult my intelligence as well.

Carry out dollar-pound currency conversions every three months - any more frequently probably wouldn't allow product to pass through the retail channel unaffected - and adjust your UK pricing each time so that it still matches that of the USA. We do not want to be susidising the low-cost of software in the USA.

Yes, UK prices will rise if the dollar gets stronger but that's how it should be.

We do all know that your pricing must take account of the VAT that has to be added to software purchases in the UK and we also appreciate that, as a result, the price will be more here than in the USA - but that's between us and our government.

Any extra cost should be a direct reflection of the prevailing VAT rate with, just perhaps, a little bit on top for any extra global or transatlantic shipping costs.

And, no, Apple, Microsoft and all the rest of you with production facilities in Ireland, the extra cost of shipping from the Emerald Isle to the UK isn't something you can use to justify anything other than a few pence extra on the top of any software, whether program or operating system, and even if we ignore the tax-breaks you enjoy as a result of the location.

Oh, and don't tell us about the crippling extra cost of translation unless you do actually provide UK English versions that differ radically from the US English versions that so many of you unthinkingly force us to have to install.

So, those are the things about software that most get my goat and that I reckon you should all be moaning about loudly. But do they reflect your top-10 software moans? Let us know in this thread in the HEXUS.lifestyle forums - and also tell us what irks you most and what else that you want software makers to stop or start doing.

HEXUS.links

HEXUS.community :: discussion thread about this article
HEXUS.lifestyle - opinions :: Apple TV media player now available in UK. But why?
HEXUS.lifestyle - opinions :: Windows Vista retail doomed unless Microsoft cuts prices?
HEXUS.lifestyle - opinions :: Apple movie downloads (US only) & network media player (yawn) - commentary on "special event"

HEXUS.lifestyle - news :: Adobe still ripping off EU buyers?
HEXUS.lifestyle - news :: Rip-off-priced Sony Blu-ray Disc burner can't play BD movies

HEXUS.lifestyle - news :: Sony BMG settles CD root-kit class-action suits
HEXUS.lifestyle - press releases :: SONY BMG stops production of XCP copy-protected CDs



HEXUS Forums :: 33 Comments

Login with Forum Account

Don't have an account? Register today!
Can I add the following:

11.

Don't install shortcuts on the desktop or tray icons without asking me first. No I don't need 6 icons and tray icon for one piece of software thanks.

12.

I've you save info, don't put it in my documents, why does save games need to be stored in my documents???? If you do this at least let me change this setting somewhere! And especially for coral, if you do let me change this at least make that effing work! Without a trip to the registry.

13.

Don't auto start yourself when I boot up, if you need this ask me first!
14.

dont force me to install updates and patches that are automatically downloaded. if its not broke, i dont plan on fixing it!
Good list, made me smile, and have Dugg it.
I did, however, get a “Did you mean this” page from Digg, which came up with a similar (in idea) article from 2 years ago:

http://www.webindexing.biz/articles/TenThings.HTM

Edit: Hmm, can't be sure my Digg submission worked, as the screen hung/froze for a while. Will see.
MSIC
Good list, made me smile, and have Dugg it.
I did, however, get a “Did you mean this” page from Digg, which came up with a similar (in idea) article from 2 years ago:

http://www.webindexing.biz/articles/TenThings.HTM

Edit: Hmm, can't be sure my Digg submission worked, as the screen hung/froze for a while. Will see.

Genuinely hadn't seen that before but the points made over there are all pretty good, I reckon.

Oh and no Diggs reported on the article itself, though I suspect that may be because our counter only registers when you click on Digg from the story.
My biggest gripe with software it when it feels the need to run at startup. I can tolerate a program that's ~<2MB in memory footprint, but unless its essential, then if it's bigger, I don't like it.

Just because I have 2GiB of RAM doesn't mean your crappy, barely used program can run all the time, just so that it can load quicker. For one it makes all my other programs load slower, but the real issue is that all that memory should be for nice big datasets, not badly written programs.