[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More


Mobile App Development Best Practices

Published on
9,010 Points
7 Endorsements
Last Modified:
Brandon Lyon
Brandon has over 12 years of professional experience developing software. He's 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

Become a Certified Penetration Testing Engineer

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

Join & Write a Comment

Is your organization moving toward a cloud and mobile-first environment? In this transition, your IT department will encounter many challenges, such as navigating how to: Deploy new applications and services to a growing team Accommodate employee…
From store locators to asset tracking and route optimization, learn how leading companies are using Google Maps APIs throughout the customer journey to increase checkout conversions, boost user engagement, and optimize order fulfillment. Powered …

Keep in touch with Experts Exchange

Tech news and trends delivered to your inbox every month