Maybe a better name for productivity software would be facilitation software. After all, it's the software that makes it possible to create documents, presentations, spreadsheets and related files. Good productivity software also takes care of tricky tasks like converting spreadsheets full of data into charts and graphs. But the initial effort must still come from the user.
The key to useful productivity software relies on how well the developers are able to anticipate a user's needs. Developers have to take many factors into consideration when programming productivity software. What's the application's purpose? How will people use it? What functions will they require? How should developers organize the software's interface? Ideally, developers figure out the features customers will need before the customers realize they need them.
When developers successfully answer these questions, they can make programs that are both functional and easy to use. If the developers don't think through the software thoroughly, the result can be a program that frustrates users.
Part of the challenge of developing productivity software is to organize program features in a way that's intuitive without copying another developer's work. Some users are picky about certain features. If they switch from one product to another, they might get frustrated if the second product doesn't organize its features in the same way as the program they've become used to.
Often, companies offer updated software packages with new features that also reorganize old features in new ways. Doing so risks the wrath of long-time users, who can become accustomed to a particular organizational format. For that reason, some productivity software companies build in an option to view later versions of software in the style of earlier versions. A few will even include an option that emulates a rival company's product in an effort to lure customers away from competitors.
Some developers choose to create open source productivity software. Open source means the developers make some or all of the programming code they use to create applications freely available to the public. That way, other people can take the code and make additions or alterations to create their own software. With an open source community, developers can monitor user response and tweak applications to better meet user needs. While this can benefit the software's users, it's harder to make money from open source software. Many developers rely on donations from users.
Companies offering proprietary software might not respond as quickly to customer needs, but the proprietary approach makes it easier to design a working business model around the software. If the software company is the only source for a particular application, then it's easy for the company to put a price on the software. Proprietary companies are also more likely to have the resources to hire top developers. While that's not a guarantee that a proprietary piece of software will be better than an open source version, it can be an advantage.
There's a relatively new movement in productivity software that ports applications from the desktop to the Web. What's the difference between traditional productivity software and the programs to which you can subscribe online? Find out in the next section.