Process Flow Design for Performance and User Experience

Introduction

Designing process flows with performance and user experience in mind is crucial for creating efficient and user-friendly applications. In this article, we'll explore different process designs and their impact on performance and user experience, along with solutions to improve both.

How does it work?

Consider a process where a user completes Activity 1, which triggers a series of tools that take 15 seconds to execute before proceeding to Activity 2.

The user will see a Please wait... message as shown below and must wait until the tools finish executing before reaching Activity 2.

Possible solutions

Multi Tools with new thread (No dependency on tools)

To avoid forcing users to wait, use the Multi Tools element and place all the tools under it. Set the Run Mode to Run tools sequentially in a new single thread.

By running the tools in a new thread, Joget will continue processing and move on to Activity 2 without waiting for the tools to complete.

Use synchronous deadline (No dependency on tools)

Add a parallel route and a new activity (Activity 3) as a checkpoint. This dummy activity is mapped to a dummy user and allows users to proceed to Activity 2 without waiting for all tools to execute.

The tools will execute after the synchronous deadline has matured, so users won’t need to wait on the Please wait... screen. This solution works if Activity 2 does not depend on the tools' outcomes.

Use synchronous deadline (With dependency on tools)

If Activity 2 depends on the tools' execution, combine the synchronous deadline approach with dependency management. After completing Activity 1, users can continue their work (e.g., check inbox) and the tools will execute upon deadline maturity. Activity 2 will be created only after the tools have finished executing.

Created by Julieth Last modified by Aadrian on Dec 13, 2024