Factors affecting user experience
A good user experience is not only related to the construction of user views and templates. Thoughtful use of features such as background processing can impact the user experience and overall performance of the application. Consider these areas of application functionality that directly impact the user experience and use the following guidelines to ensure the application provides the best possible experience for the users of your Pega Platform™ application:
- Background processing
- System of record (SOR) pattern
- External integration
- Network latency
- Large data sets
- User feedback
Background processing benefits user experience and productivity. When possible, run the required processing in the background so that users do not have to wait for it to complete. This method is also referred to as asynchronous processing. While users are busy reading a screen or completing another task, the application performs the required tasks in another requestor session, apart from the requestor session of the user.
Scenarios where you can leverage background processing:
- External integration
- Network latency
System of record pattern usage
When using the SOR pattern, the system does not store the required data in the case itself. Instead, the system retrieves data when needed at runtime from an external SOR. In these scenarios, you can defer the load of the external data after the initial screen is loaded.
Design for realistic integration response times
External integration with an SOR is almost always a requirement. When integrating with external systems, establish realistic expectations on the time that is needed to load data retrieved from the external systems. By leveraging background processing and asynchronous processing, you can quickly render an initial user interface. This technique allows the user to start working while the application gathers additional data. The application then displays the data as soon as it becomes available.
Network latency estimation
Network latency can affect the amount of time that the system requires to retrieve data from external systems. Whenever possible, co-locate the database repository for Pega Platform on the same high-speed network as the application servers that run Pega Platform or engine. Keep the systems with which you integrate Pega Platform as close as possible to your data center. If the system that you are integrating with is physically located very far away, consider using replicated data from a nearby data warehouse or proxy system. You can also use Edge Servers for web content that is referenced frequently.
Large data sets usage
When it comes to data, less is always better. Avoid retrieving large data sets, and keep your result sets as small as possible. Only retrieve the data you require immediately for the task at hand. Consider aggregating data sets ahead of time by introducing data warehouses and multidimensional databases where quick response times are critical.
Feedback to the users
If it takes longer than a couple of seconds to load a screen, provide users with meaningful feedback on how much time is needed to complete the processing. Give users something else to do while the processing is taking place. You can also design the interaction to display a prompt to users that asks whether they want processing to occur in the background or cancel it if it takes too long. Always keep users in control.
As the look and feel of an application changes, use the responsive UI support of Pega Platform and show users only what is necessary to complete the task at hand. Avoid creating the "Everything View" that tries to deliver every piece of information all at once. Move unnecessary or optional information away from the screen when users reduce the size of the screen. Keep your user interfaces highly specialized and focused on individual and specific tasks.
Other performance issues that affect the user experience
Many application performance issues affect the user experience directly or indirectly. Because the application shares resources across users and background processes, an issue in another part of the application can affect the individual user somehow.
Sometimes, performance issues show up only after the application has been in production for several weeks, and over days, users start to experience performance degradation. Use performance tools and troubleshooting techniques to identify the causes of poor performance. For more information, see Troubleshooting your system.
Check your knowledge with the following interaction: