Designing for Offline Mobile

Overview

You can design specific user input tasks and actions to be available offline to the users of the Appian for Mobile Devices application. This allows users to complete stand-alone input tasks or start processes when they are offline, and automatically submit them when their devices regain a connection. Offline tasks and actions are in Tempo for both iOS and Android.

Offline tasks are available in Sites for both iOS and Android. Offline actions for Sites are only available on iOS at this time.

The sections below describe how to design user input tasks and actions for offline mobile use.

Making Interfaces Available Offline

Offline Mobile must be enabled within the Appian Administration Console.

The first step to designing for offline mobile use is creating an interface that will be used as the form for an input task or as the start form for an action. The interface must be offline enabled in order for the input task or the action to be available offline.

To make an interface available offline, open the Interface Properties dialog in the interface object from the settings menu and select the Make Available Offline checkbox. Learn about setting interface properties.

When this checkbox is selected, an offline indicator appears in the interface object's header.

Designing Interfaces for Offline Use

Currently, only static behavior is supported in offline forms. Thus, when designing an interface that will be used offline, the key thing to remember is that the interface should not rely on any dynamic behavior that requires an internet connection. Dynamic behavior only functions as expected when users are online and may cause confusion to users when they don't function as expected offline.

Dynamic behavior includes but is not limited to showWhen, validations (except requiredness), smart service functions, database calls, and conditional values.

Avoid using the following components when designing interfaces for offline use:

Category Component Offline Behavior
Display Video, Web Video, and Web Content Field These components will show up empty when the interface is rendered offline.
Action Links Links render when offline, but users can only interact with document download links. Interaction with any other links will result in a network error.
Action Record Action Item Record Action Items will render but will not function offline.
Pickers Pickers Pickers do not provide suggestions as the user types in the field and therefore the user cannot select a value. Tapping on a selected item does not remove it either.
Browsers Browsers Browsers will render offline, but users cannot interact with them. For example, a Document and Folder Browser browser will render, but tapping on a folder does not display its contents.
Browsers Org Chart Org Chart will render offline, but tapping on a user will not update the focus of the org chart.

Use of the following component when designing interfaces for offline use should be limited and carefully considered because its functionality is limited when offline.

Category Component Offline Behavior
Grids Read-Only Grid The grid renders, but paging and sorting do not function when offline.

Follow these additional guidelines when designing interfaces for offline use:

  • Limit the use of validations. Input validation requires a connection, so users will not see any validation messages until they regain a connection. The exception to this is validating for required fields. Requiredness validations do not require a connection unless the validation is in a validation group. Note that only default requiresness messages are shown.
  • Avoid dynamic behavior based on user input. Dynamically populating an initial interface is fine because the initial interface will be evaluated and cached on users' mobile devices before they go offline. However, avoid triggering dynamic behavior based on user input because any dynamic functionality requires an Internet connection. The following examples are some dynamic design patterns to avoid:
    • Using cascading or dependent dropdowns in which available values depend on an input
    • Making a component required based on a user's selection in an input field
    • Setting the default value for a component based on a user's input
    • Showing/hiding components or layouts dynamically
    • Adding/removing rows from an editable grid
    • Drilling down from a chart to a grid
    • Filtering data in a grid
  • Limit the use of dynamic initial values. If initial values for fields are populated dynamically and change often, users' forms may become outdated if they are offline when the values change. If highly dynamic initial values are an essential part of the form, then the form may not be a good candidate for offline use. The following examples are some dynamic initial values to avoid:
    • Populating a component using a query
    • Populating a component using functions evaluated using a server connection. For example, the now() and today() functions are often used as a default value in the a!dateField component, but won't appear as expected when viewed offline because evaluating the functions requires a server connection.

Testing Offline Interfaces

The best way to test offline interfaces is to do so directly on a mobile device that is offline. Once you have defined a user input form with an offline-enabled interface, take the following steps to test your interface:

  1. Install the iOS or Android Appian for Mobile Devices application on your mobile device.
  2. Add an account connecting to the appropriate server containing the offline user input task.
  3. Tap Tasks in the app. This list displays all the assigned and accepted tasks.
    • If the offline task has already been accepted, no further action is required. It is automatically downloaded to the mobile device.
    • If the offline task has been assigned to a group and/or multiple users you are required to accept the task first. To accept a task, click on the vertical elipsis menu from the task feed and choose the option to Accept. Doing this downloads the task to the mobile device.
    • Additionally, if the form contains any document download links, the corresponding documents are automatically downloaded to the mobile device.
  4. Put your device in Airplane Mode and disable Wi-Fi.
    • The Offline banner shows up.
  5. Tap the task that you want to test.
  6. Fill out and submit the form to queue it for submission.
  7. Turn Airplane Mode off.
    The task submits automatically unless there are validation errors that require further attention.

Follow these steps to test an action start form with an offline-enabled interface:

  1. Install the iOS or Android Appian for Mobile Devices application on your mobile device.
  2. Add an account connecting to the appropriate server containing the offline action.
  3. Tap Actions in the app.
  4. Put your device in Airplane Mode and disable Wi-Fi.
    • The Offline banner shows up.
  5. Tap the action that you want to test.
  6. Fill out and submit the form to queue it for submission.
  7. Turn Airplane Mode off.
    The action submits automatically unless there are validation errors that require further attention.

Change Management

Since users who do much of their work offline will often be without an Internet connection, it is possible for an interface they are working with to change while they are offline. If a form that a user is working with changes while they are offline, the change will be brought to their attention when they are back online and they will be given an opportunity to review and modify their form before submitting it. However, this should be avoided if possible in order to provide the best experience for users and to avoid unnecessary delays in submitting users' forms.

Make changes to forms seamless to users by deploying changes when the majority of users are not working offline and when they are likely to receive the changes before going offline again. This might be during night or weekends, but will differ depending on your organization and your use cases.

Configuring a Form for Offline Use

To make a user input task or an action available to users for offline use, the following must be true:

  • Only the parent rule used in the form expression needs to be configured to be available offline. The interface rule that is used to define the form expression may contain nested rules that are not configured to be available offline.
  • The form expression must be configured using Interface Designer. If the action or task is called from the "Write an Expression" option in the process modeler, the expression must contain a single interface rule that is configured to be available offline. If the expression contains a non-interface rule, multiple rules, or an interface created directly in that editor, it will not be available offline. If you need to use a rule to query data to provide as a rule input to the start form interface, define a process variable with the rule as the definition in order to avoid having multiple rules in the form definition.
Open in Github Built: Fri, Nov 04, 2022 (07:10:52 PM)

On This Page

FEEDBACK