[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now


Mobile App Development Best Practices

Published on
8,666 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.

Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

Featured Post

[Webinar] Lessons on Recovering from Petya

Skyport is working hard to help customers recover from recent attacks, like the Petya worm. This work has brought to light some important lessons. New malware attacks like this can take down your entire environment. Learn from others mistakes on how to prevent Petya like worms.

Join & Write a Comment

Are you ready to implement Active Directory best practices without reading 300+ pages? You're in luck. In this webinar hosted by Skyport Systems, you gain insight into Microsoft's latest comprehensive guide, with tips on the best and easiest way…
In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…
Suggested Courses

Keep in touch with Experts Exchange

Tech news and trends delivered to your inbox every month