runmedev / runmedev/web

Creating a great day 0 UX

Open
#58 1 comment 0 reactions 0 assignees View on GitHub

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.

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.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.