In addition to deciding on the type of application you will build and the platform (such as Silverlight or XNA) that you will use, you must consider the capabilities of the device and understand how these may affect your design. The following are the major factors:
- UI design and style guidelines
- Application deactivation and tombstoning
- User input considerations
- Storage considerations
- Connectivity considerations
- Security considerations
- Data formats and accessing remote services
- Resource management and performance
- Availability of components and frameworks
The next sections of this chapter explore these factors in more depth.