Windows

Swimlane UI

Overview

Swimlane UI is a customizable Glue42 Desktop application that can host Glue42 enabled applications, organized into Swimlane workspaces. This approach shows the advanced Window Management capabilities of the Glue42 platform and is primarily used to reduce complexity in window management and optimize desktop space utilization. The Swimlane UI provides the users with a more structured and intuitive workspace environment, thus enhancing workflow and increasing productivity.

Workspaces

What is a Workspace?

The Swimlane workspace is a single window divided by vertical, horizontal or nested lanes, where users can add and arrange applications as tabs or tiled windows.

The Swimlane UI is fully customizable and the specific Glue42 Desktop implementation for each of our clients may be totally different in terms of UI and functionality, depending on defined workflow needs and requirements. Here, we have provided conceptual diagrams as visual examples. We will make the real-life design to suit the client’s visual taste and preferences. This means that certain functionalities, shown on the diagrams, may or may not be present in the client’s version of our product, or may be implemented in a completely different way, depending on the client’s needs and requirements. Below you can see an example of a likely workspace arrangement:

Fully set workspace

Workspaces can be created, saved, restored and even shared. They are usually designed around specific user expectations and their main goal is to organize and optimize the workflow for various tasks by removing the confusion that may occur from switching between different application windows, and by reducing to a minimum the time lost in launching, rearranging and resizing application windows.

Workspaces can be created either by a single end-user (tailored to suit a specific user’s requirements or preferences), or they can be pre-set and then used by any number of people (e.g., a company manager may design a Swimlane workspace for a specific task, which is then to be used by some or all company employees).

Creating New Workspaces

On the diagram below, you can see two ways of how creating a new workspace may be implemented. The Swimlane UI app may be launched from an Application Manager on the Glue42 Desktop toolbar, or directly from the Glue42 Desktop toolbar, depending on our client’s preference:

Launching Swimlane UI

When the Swimlane UI starts, it can either lead to a landing page with various options (e.g., the landing page may have options for creating a new workspace, loading a saved workspace, recommended workspaces, filtering and sorting options for available workspaces, options for adding apps to a workspace etc.), or directly start with a blank Swimlane window which you can later customize:

Swimlane UI landing page

You may also have the option of creating several Swimlane workspaces as tabs within a single window, as shown on the first diagram with a fully set workspace.

Nested Swimlanes

Swimlane workspaces can also be nested. Nesting Swimlane workspaces offers you an extremely flexible way of arranging your workspace and making better use of your desktop space. Nesting Swimlane workspaces comes in handy when you need a more advanced arrangement of lanes and apps in your workspace:

Nested Swimlanes

Adding Applications

You can add apps to your workspace mainly by dragging and dropping - drag a Glue42 enabled app to your Swimlane workspace and drop it inside:

Adding apps

In a specific end-user version of Glue42 Desktop, adding applications may work and look very differently, or may not even be available to the end-user, if they are to work only with pre-set workspaces. Other possible options for adding apps, for instance, may include adding dropdown menu apps to the Swimlane UI, which can be triggered from various places on the UI ("+" buttons, UI icons etc.)

Applications may also have certain restrictions:

  1. User permissions: the users may have permission to see only some apps.
  2. Application properties: an additional property allows applications to participate in Swimlane workspaces.
  3. Workspace restrictions: applications can be optionally restricted from participating in certain workspaces. E.g., once the first application is added in the workspace, only a predefined set of applications that can share context with this application may be available for the workspace.

Rearranging Workspaces

Once you have built a Swimlane workspace, you can freely rearrange the apps within it. Just grab an app’s title bar and drag and drop to the desired location. You can rearrange app positions within the same lane (switching positions, grouping as tabs, extracting a tab, splitting the lane between apps), you can move apps between lanes, or you can even drag an app out of the Swimlane workspace and drop it outside as a floating window.

A highlighted area appears as you drag an app across the workspace. This is to help you visualize the new position of the app. The highlight changes as you move the app over the Swimlane workspace, guiding you where to drop the app, depending on whether you want it as a new tab within a lane or as a nested lane.

Highlighted area examples

Note that some applications may have position restrictions, i.e. can’t be moved to a tab group or dropped as a floating window outside of a Swimlane workspace.

Resize Swimlanes by simply dragging their borders. When an app or a tab group within a lane becomes too small to visualize, it may enter tile mode (depending on the app properties). On the right side of the tab area of every app there is an Expand/Restore button. Press it to expand the current app in the entire Swimlane window. Press again to restore the app to its normal state. If you have to work with many apps simultaneously and there is not enough desktop space to properly visualize them, you can use the apps in tile mode and still be able to effectively access them via the Expand/Restore button.

Saving Workspaces

If the particular Glue42 implementation allows modification of workspaces, you can name and save a workspace. The next time you restore it, the set of applications within it, their position and context will be preserved. Saved workspaces may appear on a list of apps in the Application Manager, as well as on a launcher page of the Swimlane UI.
You can alternatively save a workspace as a Layout. This will save your entire working layout - Swimlane and other windows or window groups.

Restoring Workspaces

The option to restore a Swimlane workspace allows you to preserve the exact layout of your workspaces (number, size and position of apps) and re-use them later. Restoring a Swimlane workspace may be implemented in a number of ways:

  • Selecting a saved workspace from a list of apps in the App Manager on the Glue42 Desktop toolbar.

  • Selecting a workspace from a list of saved workspaces on the launcher page of the Swimlane UI.

  • Loading a workspace as a tab in an already open Swimlane window (as shown on the fully set workspace diagram above).

  • Workspaces can be triggered by other applications or notifications.

Restoring a workspace

Restoring a workspace

Sharing Workspaces

Workspaces can be designed, saved and then shared with end-users. One way of doing so is to have the configured workspaces on a central server from where all or some employees can access and use them. This is especially useful in large companies where you may require many different workspaces and you may also want particular employee groups to have access to specific workspaces by setting permission levels.

Another way is to directly send the .json file of the saved Swimlane workspace to the user and then they only need to paste it at the respective folder on their local machine to access the workspace through Glue42 Desktop.

Swimlane Loading Strategies

Glue42 Desktop can load workspaces in the Swimlane UI using different strategies, depending on whether:

  • everything should be loaded simultaneously from the very beginning, or the visible apps should be loaded first;
  • the invisible apps (should you choose to load the visible apps first) should not be loaded until the user activates them, or Glue42 Desktop should start loading them in the background at set intervals;

The different strategies for loading apps in the Swimlane workspaces have different advantages and disadvantages, as explained below. It is important to take into consideration the actual user needs, as well as the available machine resources, before deciding on a strategy for a specific workspace.

Direct Mode

In direct mode, the loading of every application starts straight away, no matter if the application is visible or tabbed behind another app.

Advantages:

  • The user gets everything up and running from the very beginning.

Disadvantages:

  • The CPU usage will spike when opening the workspaces (because all apps start loading at the same time). May lead to poor user experience.
  • High memory consumption - all applications are loaded and take up memory, even if they remain unused.

Direct Mode

Delayed Mode

In delayed mode, all visible applications are loaded straight away, and invisible applications are loaded in batches at set intervals (based on the configuration). This means that all apps are eventually loaded after some time.

Advantages:

  • Load time of visible apps is decreased (due to reduced CPU load at startup, only visible apps are loaded).

Disadvantages:

  • High memory consumption - delayed loading, but still all apps are loaded and take up memory, even if they remain unused.

Delayed Mode

Lazy Mode

In lazy mode, all visible apps are loaded while invisible apps are loaded only when the user needs them (meaning, when the user activates the application).

Advantages:

  • Load time of visible apps is decreased (due to reduced CPU load on startup, only visible apps are loaded).
  • Some apps might not be loaded at all, if the user does not need them. Eventually, this leads to reduced memory usage.

Disadvantages:

  • Apps which are not loaded initially need to be loaded when the user activates them. This may be inconvenient, if loading the application takes too long.

Lazy Mode

Control Levels

The strategies for loading apps in the Swimlane workspaces can be controlled in two ways:

  • Globally (with a config)

A global configuration can be applied for the default load strategy. You can see its parameters in the system.json configuration schema - loadControl property under the swimlane top-level key. The possible values for the restoreStrategy property are direct, delayed or lazy:

"swimlane": {
    "loadControl": {
        "restoreStrategy": "delayed"
    }
}
  • Per workspace (using an API)

A restoreType can be passed to the openWorkspace() call, overriding the default restoreType property:

glue42gd.swimlanes.openWorkspace("Start of day", {restoreType: "lazy"});
  • Per application (with a config)

Any application can state that it does not want to be restored in delayed or lazy mode. Just add the noDelayedRestore flag to its configuration:

{
    "noDelayedRestore": true
}

Zzz Indicator

The Zzz indicator is only for testing purposes and should not be delivered to end users.

A Zzz symbol can be added to each tab that is not loaded yet. This is useful for testing purposes or for seeing how the load control strategy works. To add the symbol, set showDelayedIndicator to true in the loadControl configuration.

Lockdown

The Swimlane framework provides a rich instrumentality in terms of workspace/tab movement. A Glue42 Desktop user can move tab windows between different tab groups as well as drag/drop them outside of the parent Swimlane. The same functionality is available when using workspaces - the user can reorder them, as well as move them from one Swimlane frame to another. There are some cases when the described functionality has to be restricted. For example, there are users who don’t want to change the Swimlane layout accidentally, so a lockdown functionality has to be created, providing restriction options related to the workspace/tab movement/close.

Workspace Lockdown

In this case, the lockdown restricts the following features:

  • tab windows cannot be dragged/dropped, closed, reordered and the “add” button disappears;

  • workspaces cannot be dragged/dropped, closed, reordered and the “add” button is available or not, depending on how the very first workspace is opened. If the first workspace is locked down, then the “add” button disappears for the entire Swimlane frame life cycle, otherwise - remains available.

Tab Window Lockdown

In this case, the lockdown is restricted only to the “close” functionality - the user will not be able to close the window. Moving/reordering continues to function.

Configuration

Workspace Lockdown

The lockdown functionality can be controlled per workspace only via the Swimlane API call openWorkspace2(), so there is no need for configuration changes:

glue42gd.swimlanes.openWorkspace2("workspace_name", { lockdown: true });

Tab Window Lockdown

The lockdown functionality can be controlled per tab window only by changing the workspace layout .json file (ShowTabCloseButton property):

{
    "Lane": 0,
    "PositionInLane": 0,
    "TabIndex": 11,
    "Selected": false,
    "Type": "window",
    "Name": "LayoutsActivityApp7",
    "TabTitle": "Layouts Activity10",
    "TabGroup": "edb43b92-b859-4b70-84b6-8473e80db3b8",
    "ShowTabCloseButton": true,
    "DisableTileMode": false,
    "ActivityId": "LayoutsActivity10_TEMP_1__399a066b7a584b68a404a0746df612f7",
    "ActivityType": "LayoutsActivity10",
    "ActivityWindowType": "LayoutsActivityApp7",
    "IsOwner": false,
    "Maximized": false
}

Logging

You can search in the log using the lockdown key word.

Hibernation Note

If a locked down workspace is hibernated, then it is resumed as locked down.

Customizable UI

The Swimlane UI is fully customizable. UI features can be added or removed in accordance with the client’s preferences. This makes the Swimlane UI API very adaptive and allows its implementation to easily and effectively comply with specific user needs and requirements. All in all, the actual implementation of the Swimlane UI is amazingly flexible, as our goal is to provide you with a workspace management application that is both effective and intuitive, but most of all - easy and pleasant to work with.