App Quality Guidelines

Version 3

    Prior to submitting an application to AppGallery, the submitter should review the guidelines below to ensure their app meets our criteria designed to establish a level of application quality and an effective user experience.

     

    Zebra offers registered partners two levels of testing. Compatible testing is a basic testing that verifies the interoperability between the software and Zebra mobile devices. Validation testing is the extensive testing which verifies interoperability, functionality and usability of the application. Please visit Zebra's Global Solution Center web site for test program details and a list of the special benefits to Zebra application partners.

     

    Category

    Area

    Description

    General

    General app requirements

    The app must not crash or freeze.  At any time during app usage, the app must not terminate unexpectedly nor freeze, forcing a re-launch of the app. 

     

    General app requirements

    The app must be production ready and free of any bugs/defects.  At any time during app usage, the app must behave as expected.

     

    General app requirements

    The app must be easy to use and easy to understand.  Any messages should be clear to the user.

     

    General app requirements

    Any information that needs to be entered into the app should be intuitive.  Otherwise, use one of the following: populate the information or text fields, provide hints in the app, or provide instructions on app usage.

     

    General app requirements

    The app must be simple to install with a single .APK

    Security

    Test for malware

    The application must be free of malware threats or malicious content.     

     

    Marketing and ads

    The app must not contain marketing, spamming, or advertising functionality

     

    Inappropriate Content

    The app should not contain or offer any inappropriate content.

     

    Permissions

    The application must request the minimum permissions required to support the app’s core functionality

     

    Sensitive Information

    All sensitive information should be encrypted.

    Performance

    Send/Receive Data

    The application can send and receive data via a network session. 

     

    Suspend/Resume

    The application should suspend and resume correctly, remaining in stable condition. Application should be stable when suspending and resuming multiple times from different locations in the application. 

     

    Responsiveness

    The app must not be slow or unresponsive.  Users should be notified of any activity that may take additional time ie. via a notification message or progress bar.

     

    Network delays and loss of connection

    When the application uses network capabilities, it must be able to handle network delays and loss of connection.  The application must be able to function or provide the user an error message indicating there is a loss of connectivity.

     

    Application rotation

    Application must be able to handle network connectivity during screen rotation.

     

    Application uninstall

    The application must be able to be removed from the device.

     

    Application suspend during data synchronization

    Application must be able to handle pause and resume. The app will handle pausing during data synchronization.

     

    Application rotation during data synchronization

    Application must be able to handle network connectivity during screen rotation.

     

    Roaming between WiFi APs

    Application must not interfere with roaming across multiple access points. The application keeps working with no interruption of data being sent.

     

    Transitioning between WAN and WLAN

    Applications must handle switching between WAN and WLAN gracefully without interruption.

     

    Cancel Lengthy Operation

    The application allows the user to cancel any lengthy operations.

     

    Move to External Memory (SD card)

    The application must be able to move from main memory to external memory and back.

     

    Multiple Application Launch

    The application should not have multiple instances of the application running when it is re-launched.

    User Interface

    Error messages

    The application must display clear meaningful error messages to the user.  Any error message displayed must be easy to understand.

     

    Screen Rotation

    The application must be rendered properly during screen rotation in every app screen.  Data entered into the fields are not lost.

     

    Valid Actions

    Each UI component (ie. button, selection, etc.) should invoke a valid action according to the application specifications.

     

    Menu – Valid Actions

    Any menu items that can be selected or changed by the user must perform valid actions according to the application specifications.

     

    Multiple device support

    If the app is supported across multiple devices of varying screen sizes and resolutions, the app must display properly and consistently across the multiple devices.

     

    Visual quality

    Text, graphics, and other UI elements must not be cut-off or distorted.  All text must be readable and free of spelling errors.

     

    Version Number

    The application should display a valid version number.

     

    Support for Multiple Languages

    Verify multiple language support.  Application should display supported language text appropriately.

     

    Multiple Format Input Handling

    The application can accept input in multiple formats.  The application must work with all supported input methods (external keypad, external touch screen, on screen keyboard, keypad).

    Stability

    Battery Removal

    Application must preserve state information to cope with being force closed by the system.  The application must not lose any information or become difficult to use as a result of the forced closure.

     

    Application Idle

    The Application recovers from an idle state correctly. 

     

    Ad-hoc testing

    The application must behave as expected without any application crash during ad-hoc testing.

     

    Functional testing

    The application must behave as expected without any application crash during functional testing performing the app use cases.

    External Influence

    Memory Card Insertion and Removal

    The application must work correctly when the memory card is inserted or removed. (Applies to apps that use the memory card  for storage.)

     

    Application behavior during interruptions

    The application must work correctly when disrupted through interruptions (ie. connection to PC, incoming call, outgoing call, when alarm is set, etc.).

     

    Accelerometer/

    Motion Sensor Responses

    The application should not be impaired by the motion of the device whether the application responds to the action or not.

     

    Generate Printouts

    The Application must produce all printouts properly.

    Each print job is output successfully in the proper format.

     

    Guidelines are subject to change. Zebra reserves the right to reject any app based on these guidelines.

     

    * May not be applicable to all apps depending on the app features.