Mobile App Development Best Practices

Published on
8,760 Points
7 Endorsements
Last Modified:
Brandon Lyon
I have over 10 years of professional experience developing software. I'm also a designer & photographer with a degree in architecture.
You should read OS supplied guidelines before developing. I can't stress that enough. The guidelines will help you understand the reasons mobile app developers do what they do.  Apple is very particular when they review appstore submissions.

UI Guidelines

At the very least, if you don't read the OS guidelines, then utilize a pre-built framework and don't deviate from its design much. Ionic is one example of a mobile UI framework. There are similar guidelines available for smartwatches, TV, VR, AR, voice interaction, etc.

iOS: https://developer.apple.com/ios/human-interface-guidelines/

Android: https://developer.android.com/design/patterns/pure-android.html

Windows: https://developer.microsoft.com/en-us/windows/design

FireOS (Amazon): https://developer.amazon.com/public/solutions/devices/fire-tablets/specifications/03-ux-specifications


UI Tips

Here are some key things to remember:

  • Navigation paradigms are different between the different OSs. This includes menus, histories (back button), swipe gestures, protected touch zones, and more.
  • Everything on a touchscreen NEEDS to be finger friendly. Generally speaking, this means minimum button dimensions of 44dp with 3 dp of margin on all sides, per Apple's guidelines.
  • Always leave room for the on-screen keyboard. You might need to make your views scrollable in order to facilitate that.
  • Use native-style controls whenever possible. Apple doesn't like it when you re-invent existing widgets like date pickers.
  • Try not to deviate from expected mobile app behavior. If your app behaves differently than 99% of the apps out there, chances are people will find it confusing. This is especially important due to limited visual space in an app.
  • Use system iconography whenever possible for the same reasons mentioned above.
  • Mobile data connections aren't always reliable or speedy. Use loading animations and have fallback conditions for when the connection drops or isn't available.


Building to devices

This process is very different depending on the OS. In my opinion, Android is the easiest and iOS is the hardest. Generally speaking, in order to develop for a mobile OS you will want to develop from the equivalent desktop OS (iOS = MacOS, Android or FireOS = Linux, Windows = Windows, etc). All mobile devices will need to be put into developer mode before pushing apps top them. Because the iOS process is so complex, I've linked to its documentation below.

iOS: https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html


Before submitting to an appstore

Every app store is different, but they all have pre-flight checklists. Make sure you are following the rules, have tested your app, and have everything necessary before submitting your app. Up to 2 weeks are required for an app review and your app may not pass on first submission. Plan your release cycles and marketing accordingly.

iOS: https://developer.apple.com/app-store/review/guidelines/

Android: https://developer.android.com/distribute/tools/launch-checklist.html

Windows: https://msdn.microsoft.com/windows/uwp/publish/app-submissions

FireOS: https://developer.amazon.com/docs/app-submission/submitting-apps-to-amazon-appstore.html

If you have any relevant info you would like to include for other platforms, please let me know. FirefoxOS, Symbian, WebOS, Windows Mobile < 10, and Ubuntu Phone are considered dead platforms. Blackberry, Sailfish and Tizen lack a large user base in the USA where I am located.


Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Join & Write a Comment

Hi everyone! This is Experts Exchange customer support.  This quick video will show you how to change your primary email address.  If you have any questions, then please Write a Comment below!
Despite its rising prevalence in the business world, "the cloud" is still misunderstood. Some companies still believe common misconceptions about lack of security in cloud solutions and many misuses of cloud storage options still occur every day. …
Suggested Courses
Course of the Month16 days, 17 hours left to enroll

Keep in touch with Experts Exchange

Tech news and trends delivered to your inbox every month