Unclear code suggestions status

Problems to solve

Configuration problems are difficult to debug

  • Like during Onboarding, people only know if something is working. There is no indication or explanation on what is happening when it’s not working.

Unclear whether code suggestions are working or not. Users only know when they are working as they see them, but if nothing happens, they are left in the dark about why. (slide 26)

How do we currently communicate status?

Click to see current state
state ui comment
Enabled states
Idle image
Loading image
Disabled states
Disabled in settings image
Unsupported language image
Disabled by user image will be added in gitlab-vscode-extension!942 (merged) Highlight (square has another color) is due-to toolbar element is now clickable
Error states
Failed to load suggestion image All errors now will have same icon, but will have different messages to send to end user

🔔 One-time notifications

As a part of gitlab-vscode-extension#750 (closed) we will have following notification added:

image

Learn more will be taking to docs Never show this again will effectively suppress this notification forever

Wording is not final. (potentially we might have Open preferences instead of Learn more which is better actionable, but this will be a follow-up)

This will also put extension in Error state with message Disabled by user preferences on gitlab.com or smth like that. Clicking that will re-enable extension

(the tricky part here from UX perspective is that we do not know when user enables this on web side, so it requires either user intervention to re-enable it or just restart)

Design proposal

Move the loading status to its own area in the gutter...

CleanShot_2023-08-18_at_15.37.34_2x

...therefore status bar only has three states

CleanShot_2023-08-18_at_15.50.04_2x

The status bar states have an additional tooltip on hover

State Image
Error CleanShot_2023-08-18_at_16.08.25_2x
Error CleanShot_2023-08-18_at_16.08.37_2x
Error CleanShot_2023-08-18_at_16.08.55_2x
Disabled CleanShot 2023-09-26 at 09.52.50@2x.png
Disabled CleanShot_2023-08-18_at_16.09.49_2x
Enabled CleanShot_2023-08-18_at_16.10.06_2x

Design proposal: happy path - code suggestions is working

User has code suggestions correctly configured and is receiving suggestions

Image Description
CleanShot_2023-08-18_at_14.32.16 As user types, code suggestions attempts to find a suggestion but does not (is this a thing?)
CleanShot_2023-08-18_at_14.34.49 As user types, code suggestions attempts to find a suggestion and finds a suggestion
CleanShot_2023-08-18_at_16.22.32 If the user disables code suggestions, the gutter icon is no longer shown

User wants to enable or disable code suggestions

CleanShot_2023-08-18_at_15.15.24

Design proposal: unhappy path - code suggestions is not working

User opens the IDE and code suggestions in unavailable for some reason

Image Description
CleanShot_2023-08-18_at_15.59.42_2x When there is a configuration error, the notification is shown. Nothing would be shown in the gutter
CleanShot_2023-08-18_at_15.03.25 Should the user dismiss the error, or should they have do not disturb on, they could click on the error icon for more details
CleanShot_2023-08-18_at_16.03.55_2x Some errors would be clickable
CleanShot_2023-09-26_at_09.51.56_2x Some errors would not be clickable
CleanShot_2023-08-18_at_16.02.51_2x Examples of different kinds of notifications
Edited by Katie Macoy