Skip to content

Creating a great day 0 UX #58

@jlewi

Description

@jlewi

Today the major blocker to adoption is a great day 0 experience. This issue tries to capture the issues.

Assumptions

For this issue we assume people are using a centrally managed version of runme notebooks. Important this means

  • They access the notebook at https://notebooks.acme.dev
  • They don't need to provision OAuthClients
  • When they load https://notebooks.acme.dev it can pull in suitable default configuration (e.g. OAuth for signon and Drive)
  • Users may need to sign on to the app or enter an APIKey to access the AI

Current Experience

Most users will land on runme notebooks because some shared a link e.g.

https://notebooks.acme.dev/?doc=https%3A%2F%2Fdrive.google.com%2Ffile%2Fd%2F1zb0Kf7VEVmLjwLHhCmmxoY4cc9rYQero%2Fview

Users need a valid Google OAuth Credential in order to open the notebook. Right now our oauth flow requires pop-ups which are often blocked by default. If popups are blocked users just end up seeing an empty window.

In Atlas it is really hard to tell that pop-ups are blocked and I couldn't figure out how to easily enable them. I had to look at the dev console to see the error

https://accounts.google.com/o/oauth2/v2/auth?gsiwebsdk=3&client_id=586812942182-bqhl39ugf2kn7r8vv4f6766jt0a7tom9.apps.googleusercontent.com&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.install&redirect_uri=storagerelay%3A%2F%2Fhttps%2Faisre.gateway.unified-0.internal.api.openai.org%3Fid%3Dauth927984&prompt=consent&response_type=token&include_granted_scopes=true&enable_granular_consent=true. Maybe blocked by the browser?

Once they open the notebook we don't really do anything to help users get the most out of the app.

  1. We don't let them know there is an AI that can help answer questions about the notebooks

    • e.g. What is this notebook about? Can you explain what the x-axis "SOW" stands for?
  2. We don't help users figure out how to setup a runner so that they can execute cells

Fixing the day 0 experience

We should be leaning into AI to assist users. Ideally in a proactive way so the flow would be something like

  1. User opens the link and the notebooks fails to open because of missing credentials possibly due to pop up being blocked
  2. User opens the chat window and asks the AI how to fix the error
    • Or maybe the AI proactively says "Hey I see your trying to open a file and getting an error; here's what you should do to fix that...."

Enabling this

I think there are a couple pieces to enabling this.

  1. We'd like to centralize logging/collection of errors and events so that we can make them available to the user and the AI
  2. We'd like to proactively trigger the AI
  3. We need to figure out a UX for letting the AI interrupt/notify the user that it has thoughts.

For the latter bit; I think if the chat window is open we could just load the conversation into the window.
If the chat window is not open maybe we show a small un-optrusive pop-up letting the user know the AI has something it would like to communicate.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions