The loading sequence for workspaces is crucial part of our user's experience. Adding things like docker builds, prebuilds, waiting for prebuilds and also different phases over time, as well as integrating it into the IDEs (the loading screen runs in an iframe) has made the current solution a bit messy. At the same time the loading sequence is a key step and unless we are able to make workspaces start in no time a great opportunity to engage with users in various ways.
We want users to understand at any point what is going on in the system. This includes surfacing information about the state as well as some sort of indication of progress and whether it's going to complete.
The loading screen needs to present any error reports in understandable form including what action a user could take.
The loading screen is an opportunity to engage with users emotionally. Examples showing some humor when things go south (i.e. are making fun of us) but also having nice easter eggs from time to time. Think Google Doodles for Gitpod. Also, I'd love to eventually have a mascot, which could play a nice role here.
Loading screens are a perfect opportunity to educate users about features they haven't discovered, yet.
Make sure the loading is perceived as fast.
We should tell people about the value they get with Gitpod. E.g.tell them how productive they are, how much time they (or even their teams) saved with prebuilds, etc.