Mixture of offline and online modes
Pega applications do not need to be 100% offline enabled. It is possible to enable specific screens and cases to work offline and have other parts of the app work only when the application is online and connected to the server. When implementing an application in this way, there are specific concerns to consider and address. You should identify and categorize all of your online and offline use cases during project planning, and review the data and information that your users need while working offline. Make sure that you review your application against the user's context for offline and online use.
Identification and categorization of use cases
It is important that all use cases are reviewed to determine which should be offline-enabled during project planning. Often in doing so, you will identify use cases that cannot be performed offline due to certain requirements.
Must be offline-enabled |
Mission-critical use cases where the user will absolutely be offline. |
Must be online-only | Requires access to dynamic, timely data from other users and systems. |
Might be offline-enabled | These use cases require more judgment to determine if they are truly fit for being offline-enabled. |
For the use cases that may be offline-enabled but do not have to be, the decision to make them offline-enabled is a business-level justification rather than a technical requirement. Some questions to ask are:
- What percentage of the application users are offline for some part of their day?
- What percentage of the user's day is spent offline?
- What percentage of the use cases must already be offline-enabled?
- Do you have an online app with some offline-enabled features or an offline-enabled app with some features only available when online?
It is important to make these determinations during project planning. It is difficult to take a use case that is built for online-only and change it to offline-enabled as a result of offline design limitations.
Review online and offline data requirements
When reviewing data requirements, consider when during the day your users first open and start using the application. How often throughout the day will they open and use the application?
The offline-enabled portions of your app rely on the data that they last received from the server, and there is a high possibility that the data is minutes, if not days old. When walking through your offline-enabled use cases, there may often be points where live, up-to-the-minute data is valuable. It is possible, for example, to have a button that says
that launches an online-only harness with the latest schedule data from the system. However, if you present the data inside the offline-enabled flow, it might be out-of-date and cause confusion.If current, dynamic data is needed to perform an offline-enabled use case, then the use case needs to be rethought and possibly redesigned.
If time-sensitive data is displayed in the application, then it is a best practice to include when that data was last updated. For example, if presenting a train schedule, it would be best to add a label such as
, so that the user is aware that the data may not be current and that they may need to go and check the latest schedule.Many organizations have one or more very large master data sets, such as a parts list, or a customer list. For an online-only web application, there is no reason to subdivide these lists as they can be continually searched and filtered for relevant records by the server. However, special care should be given to sub-divide these lists at the application user level. You do not want to send the complete list down to every user if you do not need to. You may be unnecessarily offloading personal or proprietary information that the user does not need to do their job. By using the user's role and location, it should be possible to identify a subset of the list that covers most or all of the data that they need throughout the day.
Review user context scenarios
While it may be easy to only look at use cases from a business case point of view, many offline applications are implemented as a digital transformation process and represent a measurable change in the user's workflow. Field workers are the primary audience for offline-enabled applications. As such, they are used to working with paper and managing their workflow themselves. It is important that the offline-enabled workflows that are introduced to these users add as little friction as possible to the user's mission-critical tasks.
For many field workers, a one-handed device is required. For this reason, a mobile phone is the most common device used. Tablets and laptops are less common and are used more often by auditors or people who need to review more information at a time. Choosing the right hardware for your users is important because you can then more easily figure out if new IT hardware policies and management tools are also necessary.
Ideally, you should only present and ask for the minimum amount of information that is critical for the field worker to carry out a task. Presenting too much data can confuse and slow down the user. Similarly, asking for tangential or overly detailed information can make it hard for the user to carry out their primary task while using the application. The goal of any offline-enabled application should be to capture critical information in the moment and not replace all tasks that may be better suited for when the user is at a desk, at home, or back in their vehicle.
Remember, when the user is online, it is possible to fetch and present additional data. You can offer the user the ability to fetch additional data from the server when it is available by adding an additional button or link to do a complete record search from the server. It is also possible to enhance offline-enabled workflows with online-only workflows to capture additional details when possible. For example, a field worker may fill out an after-visit report once they return to an area with data coverage, review their offline-entered data, and add additional information to wrap up the case.
Check your knowledge with the following interaction:
This Topic is available in the following Module:
Want to help us improve this content?