Skip to content

Add "loading terminal" to post-signup flow

Created by: quinnkeast

Background

As part of the private code for Cloud launch, we're implementing a new post-signup flow that will help users to connect with code hosts and add repositories as a first step immediately after signing up, but before they perform their first search. If we do this, then we will immediately be able to provide a more intuitive first search experience, because users will be able to search and experiment with code they're familiar with and care about, and in the long term, we will be able to use the user's own code as the basis for product / search education.

The initial implementation for the post-signup flow is covered in #20299.

The third step of the post-signup flow is a "terminal" UI to show cloning progress.

CleanShot 2021-04-22 at 14 55 18@2x

Cloning is a necessary step before users can search their code. We want to make the cloning step blocking until the cloning is complete, but we have to maintain a positive experience. The "terminal" UI is our solution to show progress: unlike a spinner or progress bar, it supports a much longer wait time literally and perceptually. Users won’t think it’s stuck, because the progress is detailed and right there. It’s a familiar environment where users are used to things taking time, so it gives us more leeway for things to take a while. And it also grounds the flow into a development brand identity: this is a tool for developers.

As an extra bonus, it lets it bring a moment of delight from the self-hosted install by showing the ascii asterisk when cloning is complete:

CleanShot 2021-04-22 at 14 57 12@2x

If the cloning process takes too long, we can show an escape route:

CleanShot 2021-04-22 at 14 59 22@2x

Open questions

This is a stretch goal, and we have open questions around implementation to figure out how we can achieve the maximum impact here with minimum effort. Some specific questions:

  • What should we show in the "terminal" to reflect progress? What's available to us already?
  • @artemruts can you add more?