Creating desktop apps
Creating major desktop apps is not usually the main call in software development anymore, there is demand for more specialised software, especially when it comes down to enabling repetitive tasks, administration, or presenting interfaces for equipment. The process for desktop work is usually quite iterative, with lots of small feature-based enhancements. There are two major groups:
Productivity
In most cases, such software is used internally, or provides a niche utility for many people. A client usually needs to "scratch an itch" and requires a quick, custom solution. Then discovers that many more people share that itch. The project then expands according to customer demand.
Examples: ReFaMo, Trailer, Alumark
interface
This usually happens conjunction with embedded work, and occurs when a client builds a hardware-related process which then requires exposing.
Example: Maestro Server