Creating a great day 0 UX
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 45
- Forks
- 6
- Avg merge
- 7h 14m
- Merged PRs (30d)
- 51
Description
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.
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.
-
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?
-
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
- User opens the link and the notebooks fails to open because of missing credentials possibly due to pop up being blocked
- 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.
- We'd like to centralize logging/collection of errors and events so that we can make them available to the user and the AI
- We'd like to proactively trigger the AI
- 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.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the current OAuth popup flow and the existing chat-window experience described in the issue. The issue does not name implementation files or tests; first turn the proposed logging, proactive AI, and notification ideas into a concrete scope with a defined day-0 user flow and acceptance criteria.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react, typescript
- Domain
- ai, authentication, design, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 32/100