Things every app should do
Test your app with real people, as soon as possible. Gather and act on their feedback. And make sure your app does all of the following things—too many don’t!
✓ | Record usage analytics to track who’s using the app, where they are, what devices they have, and what they’re doing with the app. |
✓ | Provide automated reporting of any errors encountered while the app is running. |
✓ | Let the person using the app send you feedback (beyond leaving a review in the store). |
✓ | Allow the person using the app to work offline (limited functionality and/or old data is better than nothing!). |
✓ | Notify users of important updates and changes to the app. |
✓ | Adjust the onscreen keyboard depending on the type of data required. |
✓ | Support cutting and pasting of text and working with third-party password managers. |
✓ | Indicate empty states or missing content, so it’s clear why nothing is displayed. |
✓ | Give specific, actionable error messages when something goes wrong. |
✓ | Support localization of content, even if the app doesn’t support multiple languages (yet!). |
✓ | Support accessibility tools (which also aid automated testing). |
✓ | Test connectivity functionality, including delays and no connectivity. |
✓ | Have placeholders for content that hasn’t yet loaded or been downloaded. |
✓ | Use caching and compression of content if supported by remote data sources. |
✓ | Enable automatic retry of failed data requests. |