Android app quality guidelines

The Android team at Google have published a number of device-specific app quality guidelines which we follow to make sure the users of any bespoke Android apps we develop have an excellent user experience.

Core app quality

Android users expect high-quality apps which directly influences the long-term success of your app in terms of engagement and user retention. We will put the Android apps we develop for you through a compact set of quality criteria and associated tests.

Before we deliver your bespoke Android apps, we will test them against these criteria to ensure that they function well on many devices and meet Android standards for navigation and design.

Some of the main app quality criteria are shown below.

Visual design and user interaction
These criteria ensure that your app provides standard Android visual design and interaction patterns where appropriate, for a consistent and intuitive user experience.

Area ID Description
Standard design UX-B1

The app follows Android Design guidelines and uses common UI patterns and icons:

  1. The app does not redefine the expected function of a system icon (such as the Back button).
  2. The app does not replace a system icon with a completely different icon if it triggers the standard UI behavior.
  3. If the app provides a customized version of a standard system icon, the icon strongly resembles the system icon and triggers the standard system behavior.
  4. The app does not redefine or misuse Android UI patterns, such that icons or behaviors could be misleading or confusing to users.
Navigation UX-N1

The app supports standard system Back button navigation and does not make use of any custom, on-screen "Back button" prompts.

UX-N2

All dialogs are dismissible using the Back button.

UX-N3 Pressing the Home button at any point navigates to the Home screen of the device.
Notifications UX-S1

Notifications follow Android Design guidelines. In particular:

  1. Multiple notifications are stacked into a single notification object, where possible.
  2. Notifications are persistent only if related to ongoing events (such as music playback or a phone call).
  3. Notifications do not contain advertising or content unrelated to the core function of the app, unless the user has opted in.
UX-S2

The app uses notifications only to:

  1. Indicate a change in context relating to the user personally (such as an incoming message), or
  2. Expose information/controls relating to an ongoing event (such as music playback or a phone call).

Functionality
These criteria ensure that your app provides the expected functional behavior, with the appropriate level of permissions.

Area ID Description
Permissions FN-P1 The app requests only the absolute minimum permissions that it needs to support core functionality.
FN-P2

The app does not request permissions to access sensitive data (such as Contacts or the System Log) or services that can cost the user money (such as the Dialer or SMS), unless related to a core capability of the app.

Install location FN-L1

The app functions normally when installed on SD card (if supported by app).

Supporting installation to SD card is recommended for most large apps (10MB+)

Audio FN-A1 Audio does not play when the screen is off, unless this is a core feature (for example, the app is a music player).
FN-A2 Audio does not play behind the lock screen unless this is a core feature.
FN-A3 Audio does not play on the home screen or over another app, unless this is a core feature.
FN-A4 Audio resumes when the app returns to the foreground, or indicates to the user that playback is in a paused state.
UI and Graphics FN-U1

The app supports both landscape and portrait orientations (if possible).

Orientations expose largely the same features and actions and preserve functional parity. Minor changes in content or views are acceptable.

FN-U2

The app uses the whole screen in both orientations and does not letterbox to account for orientation changes.

Minor letterboxing to compensate for small variations in screen geometry is acceptable.

FN-U3

The app correctly handles rapid transitions between display orientations without rendering problems.

User/app state FN-S1

The app should not leave any services running when the app is in the background, unless related to a core capability of the app.

For example, the app should not leave services running to maintain a network connection for notifications, to maintain a Bluetooth connection, or to keep the GPS powered-on.

FN-S2

The app correctly preserves and restores user or app state.

The app preserves user or app state when leaving the foreground and prevents accidental data loss due to back-navigation and other state changes. When returning to the foreground, the app must restore the preserved state and any significant stateful transaction that was pending, such as changes to editable fields, game progress, menus, videos, and other sections of the app or game.

  1. When the app is resumed from the Recents app switcher, the app returns the user to the exact state in which it was last used.
  2. When the app is resumed after the device wakes from sleep (locked) state, the app returns the user to the exact state in which it was last used.
  3. When the app is relaunched from Home or All Apps, the app restores the app state as closely as possible to the previous state.
  4. On Back keypresses, the app gives the user the option of saving any app or user state that would otherwise be lost on back-navigation.


Compatibility, performance and stability
These criteria ensure that apps provide the compatibility, performance, stability, and responsiveness expected by users.

Area ID Description
Stability PS-S1 The app does not crash, force close, freeze, or otherwise function abnormally on any targeted device.
Performance PS-P1 The app loads quickly or provides onscreen feedback to the user (a progress indicator or similar cue) if the app takes longer than two seconds to load.
PS-P2 With StrictMode enabled no red flashes (performance warnings from StrictMode) are visible when exercising the app, including during game play, animations and UI transitions, and any other part of the app.
SDK PS-T1 The app runs on the latest public version of the Android platform without crashing or loss of core function.
PS-T2 The app targets the latest SDK by setting the targetSdk value to minimize the use of any platform-provided compatibility fallbacks.
PS-T3 The app is built with the latest SDK by setting the compileSdk value.
Battery PS-B1 The app supports power management features in Android 6.0+ (Doze and App Standby) properly. In the case where core functionality is disrupted by power management, only qualified apps may request an exemption.
Media PS-M1 Music and video playback is smooth, without crackle, stutter, or other artifacts, during normal app use and load.
Visual quality PS-V1

The app displays graphics, text, images, and other UI elements without noticeable distortion, blurring, or pixelation.

  1. The app provides high-quality graphics for all targeted screen sizes and form factors.
  2. No aliasing at the edges of menus, buttons, and other UI elements is visible.
PS-V2

The app displays text and text blocks in an acceptable manner.

  1. Composition is acceptable in all supported form factors.
  2. No cut-off letters or words are visible.
  3. No improper word wraps within buttons or icons are visible.
  4. Sufficient spacing between text and surrounding elements.


Security
These criteria ensure that apps handle user data and personal information safely. In addition to this checklist, applications published on the Google Play Store must also follow the User Data policies to protect users' privacy.

Area ID Description
Data SC-D1 All private data is stored in the app's internal storage.
SC-D2 All data from external storage is verified before being accessed.
SC-D3

All intents and broadcasts follow secure best practices.

  1. Intents are explicit if the destination application is known.
  2. Intents enforce and use appropriate permissions.
  3. Intents that contain data and payload are verified before use.
SC-D4 No personal or sensitive user data is logged to the system or app-specific log.
App Components SC-P1

Only application components that share data with other apps, or components that should be invoked by other apps, are exported.

This includes activities, services, broadcast receivers and content providers.

Always set the android:exported attribute explicitly, regardless of whether or not you export any of your application's components.

SC-P2 All application components that share content with other apps define (and enforce) appropriate permissions. This includes activities, services, broadcast receivers and especially content providers.
SC-P3 All content providers that share content between your apps use android:protectionLevel="signature".
Networking SC-N1 All network traffic is sent over SSL.
SC-N2 Application declares a network security configuration.
SC-N3 If the application uses Google Play services, the security provider is initialized at application startup.
Libraries SC-U1 All libraries, SDKs, and dependencies are up to date.
WebViews SC-W1 JavaScript is disabled in all WebViews (unless required).
SC-W2 WebViews only load whitelisted content if possible.
SC-W3

WebViews do not use addJavaScriptInterface() with untrusted content.

On Android M and above, HTML message channels can be used instead.

Execution SC-E1 The app does not dynamically load code from outside the app's APK.
Cryptography SC-C1 The app uses strong, platform-provided cryptographic algorithms and does not implement custom algorithms.
SC-C2 The app uses a properly secure random number generator, in particular to initialize cryptographic keys.


New Media Aid has been the app development partner for Kelly Turkeys since 2006 and has developed a number of mission-critical bespoke apps for us and we highly recommend them for bespoke application development.

Asa Howard, Finance Director
Kelly Turkeys - Danbury, Essex

New Media Aid has been our development partner for both our website and virtual learning environment since 2004. The quality of service has been consistently exceptional in every way. I would be very happy to recommend them for any development and as a highly reliable long term partner as well as for short term projects.

John Rubinstein, Principal
Woodhouse College - Finchley, London

New Media Aid has developed a number of advanced, bespoke apps for BAE Systems and we are happy to recommend them for bespoke app development.

Rob Morris, Vice President Marketing & Analysis, Asset Management
BAE Systems - Hatfield, Hertfordshire

These apps developed by App Developer for Android mark a new turn towards technology for an industry that’s been slow to adapt until now. With no suitable ‘off the shelf’ solution available below costly, enterprise level software, we were involved in the development process from the start, getting the right solution that suited our operations and our customers.

Ben Guy, Managing Director
Hammond Produce

App Developer for Android quickly understood what we needed and were able to develop exactly what was required with minimal input from ourselves. As this was the first Android app we had developed we were pleased that it was done on time and within the quoted price. We would gladly work with them again and recommend them.

Mark Austin, Managing Director
Wing Parking

Having recently moved to Android PDAs for our mobile workforce, we identified a need for a Bespoke App and a Web-based Management System to control it. App Developer for Android demonstrated a real understanding for our needs and a "can do" attitude that we found extremely helpful. Their solution was provided on time and within budget and has exceeded our expectations. We will be happy to work with them again when we have further requirements.

Trevor Wright, IT Manager
Weblight

New Media Aid has successfully developed a number of bespoke applications for us over the last few years - we have always been pleased with the results and with the ongoing support and assistance we receive.

Anne Barlow, Marketing Manager
British Chiropractic Association - Reading, Berkshire

New Media Aid undoubtedly fulfils the requirements we have for our company’s corporate website. Not only did they provide us with all the features we needed from the get-go, they also promptly come up with solutions when we have new requests.

JD Venter, Deputy Editor
Dry Cargo International - Colchester, Essex

New Media Aid developed a bespoke website and content management system for us that makes it easy to run our business. The app has been designed in such a way that we’re able to have it updated when our needs as a company develop. Our trade customers love the fact that they can login and view historical orders as well as viewing new products and ordering online themselves. I would definitely recommend New Media Aid for bespoke app development.

Shona Easton, Managing Director
Easton Design Studio - Cranleigh, Surrey

We are thrilled and very excited by our new mobile-friendly website from New Media Aid which is seamlessly integrated with a bespoke candidate and vacancy management system. They have been extremely responsive and patient and have talked us through the whole process. They are always available for queries and trouble-shooting not only on this project but also with other web apps they have developed for us. We couldn’t recommend them more highly.

Millie Harvey, Marketing Manager
Excelerate Resources - Warwick

New Media Aid develops business-critical bespoke applications for Gateway College and we are happy to recommend them for bespoke application development.

Paul Taylor, Network And Corporate Data Manager
Gateway College - Leicester

We are delighted with the flexible and efficient service we received from New Media Aid. Highly professional and personable which works well for us as a small business. We wanted to update our old website and not being IT specialists it was good to talk through issues and get helpful advice on new design ideas and practical solutions. Working together on the design and implementation of our new site has resulted in a user-friendly eCommerce website on PCs, phones and tablets – and we instantly saw a huge increase in business once the new site went live. No hesitation in recommending their services.

Gordon Little, Managing Director
GE Little Radiator Covers - Basildon, Essex

New Media Aid developed Gigacom Tems a bespoke and fully integrated project management system. New Media Aid fully support all our IT requirements and must be congratulated on the valued and excellent support that we continue to receive from the New Media Aid team. I have no doubt that without the high level of innovative support that we receive we would not be able to efficiently deliver the services that we provide for our customers.

Phil Taylor, Operational Management Team
Gigacom Telecommunication Engineers Management Services - Alton, Hampshire

The certificate scanning system developed by New Media Aid is working really well for us and is more efficient than our previous way of processing certificates. It really is brilliant and must have saved us a fortune in paper!

Rachel Bothamley, Senior Examinations Officer
Lincoln College

New Media Aid has supported the development of a complex store and back office system that significantly helps improve the accuracy of our processes whilst improving the efficiency and service to our clients. Couldn't be happier with a supplier (who we genuinely consider as a partner).

Stephen Mason, Managing Director
Mason Information Technologies - Nottingham

New Media Aid has an excellent understanding of our business and therefore can offer a high level, intuitive service. They have programmed and maintained our websites and CMS for nearly 10 years and are responsive and very easy to work with, we highly recommend talking to them about your digital projects.

Donald Campbell, Marketing Manager
Team London Bridge - Southwark, London

Excellent service, clear pricing and Alastair is so easy to deal with. Would definitely recommend. We're very pleased with our new App!

Mary Stealey, Operations Manager
Just Filters - Harlow, Essex

Alastair was great at understanding our needs and building a new android app and web-facing management interface that met all our requirements. The solution was delivered within impressive timescales and at a competitive price. He kept us up to date throughout the project, was happy to be involved in conference calls to discuss setup and deployment, and was always incredibly responsive to our questions and requests for further enhancements. It was a pleasure working with Alastair and we look forward to the opportunity of working with him again in the future.

Stephen Connolly, Technical Team Manager
Parker Hannifin - Hemel Hempstead, Hertfordshire