For the benefit of all you young developers out there who are being steered into a life of developing useful and valuable software I'd though offer a few hints and tips on slowing thing down a bit for your customers to increase support revenue:
- Make error messages cryptic or generic e.g. "Error writing file"
- Do not document the underlying architecture, diagnostic features or data formats
- Make sure that products require significant setup after installation or, better still, each time they used in a new project (excellent way to increase consulting revenue)
- Make the product appear flexible and powerful by doing the same thing different ways in various places