The Basics
- Design of your Application
- Reduce your application memory footprint
- App Responsiveness
- Security Restrictions
- Power Consumption
Design Best Practices
Different interaction Paradigm than Desktop
Users only interact with your application for a few moments (take the phone out and put it away). You need to be able to get at information fast.
Limited Real Estate for Screen
- Keep it simple and organized
- App should address a specific user need
- Pushing the Windows key “quits” application.
Memory
- Limited Memory available, no virtual memory
- Images are “vectorized” reducing size and making performance better via the GPU
- Make sure your application doesn’t leak or swallow memory
- Identify all user scenarios
- Test every milestone and release
- Test with real device whenever possible.
- Release memory whenever possible (close up resources you aren’t using)
- Load resources only when the user decides to view something..
- Purge off-screen views, caches, any stored (cached media)
Responsiveness
- Only load critical resources so that application is available to the application.
Security
- Sandboxing
- Secure coding practices
- Key chaining
- Certificate, Key, and Trust related functions/services.
- Cryptographic services
Power
Start and stop location services as needed to conserve power (such as the GPS)
Only send and receive to the network when absolutely necessary.