For designers, as well as developers, probably one of the most exciting phases of the application life cycle is the design phase. In this phase, there are multiple factors that need to be carefully considered, avoiding any rash decisions. An application's design, in simple terms, should satisfy the following:
- The consumers' expectations
- The platform imperatives
- Development costs