The hardest, most time-consuming part of being an independent developer isn't coding: it's tech support. So as you're building your application, always think about how you can make it easier to support.
This isn't entirely self-serving – in fact, it's one of the best things you can do for your customers, because they've got better things to do than ask for your help. Think of every support question as a failure on your part, because if you designed your software right, customers wouldn't need to contact you.
With that in mind, here are few things you can do to ease the support costs of your software:
- Assume that your software will be used by people who will never read the documentation.
- After you complete a feature, try to describe it in a single sentence. If you have trouble doing that, then your customers will have trouble using it – so redesign it.
- I've said it before, and I'll say it again: always think twice about adding any feature that's hard to support. Otherwise, you may find yourself spending all your time supporting your software instead of actually developing it.
- If people keep asking for a feature that already exists, make it more obvious.
- Provide a tutorial which instructs new users on the basics of your software, and make sure it doesn't assume any prior knowledge (too many tutorials use geeky language that only experienced users would understand).
- Add a “frequently asked questions” page to your site, and link to it from your support page, your support forums, etc. Then design the next version of your software so that those questions don't need to be asked anymore.
BTW, unless you plan to build something that's not very popular, don't use email as your only method of support. One of the biggest mistakes I made when I developed HomeSite was that I initially provided support solely by email, which practically buried me in an avalanche of people asking the exact same questions. Switching to web-based forums not only cut way back on the time I spent supporting HomeSite, but it also resulted in an active community of HomeSite users – many of whom would help each other before I even had time to reply.
By Nick Bradbury. [Nick Bradbury]