15 tips for instant software improvement
Some software projects succeed but 80% dies after a few months of living. Why that happens? Sometimes people who develop product start doing marketing and it kills product faster than Ebola. Everyone should understand what are his functions are and what are not.
The other project death scenario is excessive rush. It's true that trying to get online with your project is a task of high importance (main marketing point - FIRST) but often people drive it over the edge. This results in releasing low-quality and feature-less product which is just useless.
To avoid typical software development and design mistakes I've gathered 15 features which any quality software should contain. Of course, some advices are not applicable to specific software types but nevertheless their significance is a major.
- Splash screen on launch. This is not an obligatory feature, but it gives an impression of professionalism (when it's beautiful) and allows you to perform some resource-intensive operations in background.
- Clear install and uninstall routine. At least user should be able to remove software using "Add/Remove programs" in Control panel. Also, good uninstaller should notify user if he's going to lose some data (documents and configuration files).
- Clean uninstalling. If user uninstalls software - no traces and scraps should be left.
- Uninstall feedback. Less aimed to user but very handy for developers and marketing analysts. Even if 1 from 10 people will write you helpful feedback - it will give you some food for thought.
- Help, FAQ and tutorials. Any application needs at least online help. But a good app should have a short FAQ (top ten questions), extensive help on all features and GUI and video tutorials (ideally Flash-based, made with screen recorders like Wink or Camtasia).
- Use of default system fonts and Unicode. This will simplify software localization and will help visually impaired people to work with your software (high-contrast and big fonts schemes in Windows).
- Keyboard hotkeys. Hardcore professional users usually like to perform as much operations as possible using keyboard only so making a tool without hotkeys is not an option.
- Accept command-line parameters. Even more hardcore feature comparing to hotkeys. But there is a small amount of "oldskool" professional users who like command line. Be nice with them.
- Automatic online updates. People are lazy and already pampered with "Windows Update" so if you are not going to make some quick cash on one application version (don't you?!) - It's better to implement online updates as soon as possible. This will save your support troops a lot of time.
- Automatic saving (autosave). Again, this tip is not applicable for any tool, for data-related only. Try to implement background saving to temporary file which can be reopened on next launch in case of failure. Steal the workaround from MS Office apps, it is great there.
- Minimize to tray. If your tool is not one-shot (like file restoring) - this is the obligatory feature. Users love minimizing to tray, they even compete in tray size ("I have 21 icon! Woohooo!").
- Reconfigurable GUI. Hard to make, easy to love. This is your personalization present to users. If they will be able to set that toolbar a bit lower, make that tree wider and... - they will not start using your rival's product because they will be forced to learn something new (if we imagine that rival has some "fixed" GUI).
- Autorun. Load on startup. Run with Windows. Call the way you like but use it. Accustom to your application and you will grow up an army of your loyal users.
- Fast user switching support. Times of personal computer ended. Das Ende. Your wife is working on her text under "Wife" account while someone wrote you a message to "Husband" account via MSN Messenger. You switch the account and Ka-boom! Some nice tool which helps you to insert cool smileys anywhere you want successfully finished its operations. Isn't it nice?
- Multi-monitor configuration support. Developers usually disregard such users while such configurations are widely spread among professionals (coding, design, monitoring). So, the more professional your software is - the higher risk you'll encounter some multi-monitor configuration bugs at user's side.
Improve your software and watch how dozens of customers will tell you "Thanks!" and open their wallets!
About the Author: Andrew is a software consultant and online marketer. You can find more information about hi-quality software solutions on his current project site - Bookmark Base bookmark manager