Mobile App Development Best Practices

Mobile App Best Practices

 
Almost every mobile development platform provides user interface design guidelines and offers great opportunities for you to deliver engaging and unique user experiences. Consider these common design concepts from Android and iOS before you start coding to enhance the usability and appeal of your apps.
 
 
Formatting Content
  • Create a layout that fits the screen of the phone.
  • Users should see primary content without zooming the screen of the phone. 
 
Touch Controls
  • Use UI elements that are designed for touch gestures to make interaction with your app and feel easy and natural.
       
 
Design for fat fingers
  • Create controls that can be accurately tapped with a finger.
  • IOS recommends creating a button that measures at least 44 points x 44 points.                        
  • Android recommends creating a button that measures at least 48dp x 48dp.
 
Text Size 
  • The text should be appropriate so it's legible at a typical viewing distance without zooming.
  • According to IOS standards, the font should be at least 11 points.
  • According to Android standards, the font should be at least 12sp.
 
Contrast
  • Make sure there is ample contrast between the font color and the background so the text is legible. 
 
Spacing
  • Don't let text overlap. Improve legibility by increasing line height or letter spacing.
 
 
High Resolution
  • Provide a high-resolution version of all image assets. Low-resolution images will show blurry in high-resolution screens.
  • For IOS it is recommended to provide @2x and @3x images.
  • For Android, it is recommended to provide hdpi, xhdpi, xxhdpi and xxxhdpi.
 
 
Distortion
  • Always display images at their intended aspect ratio to avoid distortion.
   
 
Organization
  • Create an easy-to-read layout that puts controls close to the content the modify.
 
 
Alignment
  • Align the text, images, and buttons to show users how information is related. 
 
Gestures
  • Touch and hold
    • iOS: Magnified view for editing and rearranging in lists etc.
    • Android: Show available actions.
  • As a general rule, use standard gestures.
  • Don't block system-wide gestures (e.g. revealing notification center).
  • Avoid using standard gestures to perform non-standard actions.
  • Use multi-finger gestures to enhance the experience of some apps.
  • Offer short cut gestures to supplement, not replace, interface-based navigation and actions. 
Loading
  • Make it clear when loading is occurring.
  • Educate or entertain people to mask loading time.
  • Customize loading screens.
  • Show content as soon as possible. 
Navigation
 
There are three types of navigations:
  • Hierarchical
  • Flat
  • Content-driven or experience-driven.
For navigations
  • Always provide a clear path.
  • Design an information structure that makes it fast and easy to get to the content.
  • Use touch gestures to create fluidity.
  • Use standard navigation components (e.g. page controls, tab bars, split views, sliding menu, navigation controller).
  • Use a navigation bar to traverse a hierarchy of data.
  • Use a tab bar to present peer categories of content or functionality.
  • Use a page control when you have multiple pages of the same type of content. 
Requesting Permissions
  • Request personal data only when your app clearly needs it.
  • Explain why your app needs the information if it's not obvious.
  • Request permission at launch only when necessary for your app to function.
  • Don't request location information unnecessarily.
Terminology
  • Use familiar, understandable words and phrases.
  • Keep interface text clear and concise.
  • Avoid language that might sound patronizing.
  • Strive for an informal and friendly tone.
  • Be careful when using humor.
  • Use relevant and consistent language and imagery.
Summary
 
Every single widget you are using in your mobile app is important. You have to keep in mind its size and place for good user experience. In addition, how do you show the information to your user, how you make your user wait is also important and relevant user experience guidelines are to be kept in mind for it :)