In this part, I will be discussing the best practices for overall mobile application development. This finishes this series of article.

Best practices for overall application development

If the application has login screen, provide automatic sign-in feature so that every time user does not need to re-enter the credentials again unless he specifically chooses to do so.

  • If the application needs to make lot of network requests to get data from remote server, make the design in such a way, so that, large chunk of data is downloaded during application loading time itself. Normally user will wait during application loading time and does not mind to wait for some extra time. So this is the right time to download the large chunk of data. Remember this extra time should be treated as premium and it may not be advisable to make it too long. Also the user wait will not wait every time the application is loaded. So cache the data whenever possible.

  • If there is some data to be collected from a form and submitted to the sever, avoid making network request every time, rather, collect all the necessary data and make one network request to submit the data to the remote server. This is particularly advisable in cases where the network connectivity mode is through paid services like GPRS or 3G.

  • Make provision in the design to have multi-level caching to avoid network request for any dynamic content to be retrieved from the remote server.

  • If the entire application look and feel needs to be customized, avoid using high-resolution images like “bmp”, rather use industry standard formats like “png” or vector formats like “svg” (if it is supported by the application framework).

  • Reduce the application start time using appropriate storage mechanism available from the particular platform once the data is available.

  • Update the UI with appropriate status messages whenever there is a delay in showing the data. For example, if there is some network request, instead of keeping the user from guessing, update the UI appropriately and keep the user informed.

  • Adhere to the particular application development guidelines strictly.

Ensure access control to the application and protect the sensitive data created by the user using appropriate encryption techniques.