When your users start a track or move between challenges the system needs to load the sandbox and tabs (the technology included in your track). Depending on your software, loading a track/challenge can take some time. To keep users engaged, you have the choice of what users can see and interact with while the track or challenge loads.
Users can only interact with the notes for the upcoming challenge while they wait for it to finish loading.
The default setting for all tracks
What this looks like:
Users push “Launch” button and the track starts loading. A loading bar is shown on the same screen. While the track is loading the users can only interact with the notes slides.
If you have not added notes, users will see a message asking them to be patient while the challenge loads.
When the loading is complete the users push the “start” button and they enter the first challenge. They now see the challenge assignment and the tabs in the track(lab).
Full access
Users can browse the upcoming challenge notes, assignment and tabs while it loads.
What this looks like:
Users push “Launch” button and the track/challenge starts loading. As the underlying technology loads the user is moved into the upcoming challenge. They can see and interact with the notes and assignment.
Users can click tabs. Any tab that is still loading shows a loading bar and messages. The user cannot move to the next challenge until the current challenge is fully loaded.
The messages are one set per track. You cannot add specific messages per tab.
Create the perfect landing
You can use the layouts capabilities to customise what the lab looks like so users are greeted by the parts of the content you think are most relevant.
FAQs
Will this automatically apply to all of my labs, or is this configurable?
The loading UX is fully configurable, so you can choose where it applies. You can set it up at the track level to enable the experience across all challenges in a lab, or you can customize it per challenge if you'd prefer a more selective approach. This way, you have complete control over when and where the feature is active, allowing you to tailor it to your team’s specific needs.
How does loading UX actually reduce waiting times for users?
The loading UX feature optimizes the lab start experience by letting users access assignment content immediately, even if the full lab environment is still loading in the background. This approach not only saves time but also keeps users engaged by allowing them to explore relevant material while waiting. It’s designed to reduce perceived wait times and keep learners in a productive flow.
What happens if there’s an issue loading the environment?
If the environment encounters an error during the loading process, the loading UX displays a clear error message with an option to retry. This built-in error handling allows users to stay informed, take corrective action, and seamlessly continue their work without needing to contact support.
Can we apply the loading UX to specific tracks or challenges only?
Yes, the loading UX is highly flexible. It can be set up at the track level for a consistent experience across all challenges, or it can be customized on a per-challenge basis to meet specific needs. This means you can enable it where it adds the most value, ensuring an optimal experience for your users at every step.
How to use
Using the instruqt UI or CLI you can configure the loading experience:
Per track: the loading experience you select is used for all challenges in that track
Per challenge: you can override the track setting per challenge
For the track:
Select the track you wish to modify the loading experience of.
In the Settings section, click Edit.
In the Loading part, select the desired loading behaviour.
Click Save.
For the challenge:
While on the track, select the specific challenge you wish to modify the loading experience of.
Make sure you are located in the Details tab.
In the Loading part, select the desired loading behaviour.
Click Save
If you have not already done so, pull the track you wish to modify the time limit of:
instruqt track pull <track-slug>
Open the track.ymlfile and add a enhanced_loadingparameter.
enhanced_loading:<boolean>
Set it to true to enable the assignment loading experience.
Set it to false to use the notes loading experience.
As an example, the file might look like the following: