My final category of is the way PDAs are used when compared to a desktop PC. As I wrote above, a typical Pocket PC application is meant to be used for a few seconds to several minutes at a time, compared with many minutes or even hours at a time for desktop applications. Users want immediate response from PDAs, so applications should attempt to stay loaded in memory by not normally giving the user a way to explicitly close it. They might also use background threads to load up forms or for other sluggish processing tasks.
It is likely PDA users will also use a desktop PC to do some of their work. Many mobile applications are written to complement a desktop application. For example, a full-blown GUI is available on the desktop, and data can be synced to a PDA, and the PDA application contains only a subset of the features of the desktop application. If users need this environment, a PDA application might require a companion desktop version, which might then require developing complicated synchronization logic.
Data on a Pocket PC is a whole other topic for consideration. By design, PDAs are small portable electronic devices, and small portable electronic devices are easy to lose and be stolen. Should sensitive information be kept on a device like this in an unprotected format? Requiring users to turn on the Pocket PC's password-protection feature is an option, but tapping in a password every time the PDA is turned on quickly becomes annoying and will likely be turned off. So a better approach might be to encrypt the application's data by storing it in an SQL Server CE database or by using the WinCE Crypto API to encrypt and decrypt with your own file format. Of course, encrypting data might make it more secure, but it will also slow down the application.