Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Onboarding tutorial: entry point #8148

Closed
billygriffin opened this issue Aug 22, 2019 · 4 comments · Fixed by #8244 or #8384
Closed

Onboarding tutorial: entry point #8148

billygriffin opened this issue Aug 22, 2019 · 4 comments · Fixed by #8244 or #8384

Comments

@billygriffin
Copy link
Contributor

billygriffin commented Aug 22, 2019

Problem:

Many users when they first download GitHub Desktop aren't certain what things they are able to do with it and how to do those things. We try to make primarily functionality in the app as discoverable as we can (and sometimes do it better than others), but that presumes a basic level of knowledge of Git.

The goal here is to help new users get more comfortable with working with GitHub repositories locally, understand how to use GitHub Desktop with GitHub, and give people muscle memory to repeat similar steps in a real repository.

Tutorial entry point:

This proposes to allow users to create a tutorial repository when they are first using GitHub Desktop.

When they arrive at the "Let's Get Started" page where they can add, create, or clone their first repository in Desktop, we should allow them to create a tutorial repository. The tutorial repository is only available if the user is signed into GitHub.com or GitHub Enterprise Server.

Since the publishing steps can be a bit cumbersome when you don't yet know what you're doing, we're proposing to publish the repository as a private repository on GitHub on the user's behalf during the tutorial repo creation process. This way it's already hooked up with their account on GitHub.com and we can allow them to do things like push commits to a branch and make a pull request, but they don't have to worry about it being publicly visible unless they explicitly choose to.

  1. Ability to create a tutorial repository
  2. Let users know what will happen (private repo published to GitHub.com)
  3. Publish the repository with the correct content
  4. Take users to the tutorial repo in the app

Considerations:

  1. This issue includes being able to detect in Desktop that a given repo is a tutorial repo and should therefore display the tutorial steps.

  2. This issue also includes the actual content for the tutorial repository and what it will include.

  3. Since we're creating a repository for them, do we need to expose the local path for where the repository will be saved on their computer somehow?

What about after the repository is created?

The user should then be in that tutorial repository in Desktop and it should be published to GitHub.com. The actual contents of the repository and the tutorial steps will be addressed in #8149.

@ampinsk
Copy link
Contributor

ampinsk commented Aug 22, 2019

Entry point designs

Following the steps @billygriffin outlined, we'll add a primary button to the Let's Get Started screen. We'll show a confirmation dialog, then take you to the tutorial repo.

The tutorial repo will contain a README.md file with some content to be finalized at a later date. For a start, I've been using:

# Welcome to GitHub Desktop!

This is your README. READMEs are where you can communicate what your project is and how to use it.

Make any change to this file, save it, and then head back to GitHub Desktop.

🖼 Figma Prototype

GIF

entry-point

Static screens

Entry point

Entry point-confirm

EDIT: Update copy to:

This will create a repository on your local machine, and push it to your account `@username` on GitHub.com. This repository will only be visible to you, and not visible publicly.

Guide-Step1

@billygriffin
Copy link
Contributor Author

@niik Cross-posting from #8149 (comment)

A question came up via @tierninho about what should happen in the tutorial itself if someone is only signed in on Enterprise Server and not dotcom, and whether the tutorial repo should be available in both cases. And if it is available on both, what implications that would have for needing to support behavior and verbiage differently based on whether they're on Enterprise Server or dotcom. We were curious if this is something you thought about given that it currently supports both @niik.

@niik
Copy link
Member

niik commented Sep 16, 2019

A question came up via @tierninho about what should happen in the tutorial itself if someone is only signed in on Enterprise Server and not dotcom, and whether the tutorial repo should be available in both cases. And if it is available on both, what implications that would have for needing to support behavior and verbiage differently based on whether they're on Enterprise Server or dotcom. We were curious if this is something you thought about given that it currently supports both @niik.

When we discussed the entry point work in zoom (we as in me and @billygriffin) I understood the desired logic to be as follows

1. User is only signed in to GitHub.com

Show the tutorial button and publish the tutorial as a private repository under their account on GitHub.com

2. User is only signed in to GitHub Enterprise Server

Show the tutorial button and publish the tutorial as a private repository under their account on the GitHub Enterprise Server instance

3. User is signed in to both GitHub Enterprise Server and GitHub.com

Same as 1

4. User is not signed in to any accounts

Don't show the button

what implications that would have for needing to support behavior and verbiage differently based on whether they're on Enterprise Server or dotcom. We were curious if this is something you thought about given that it currently supports both @niik.

The tutorial entry step already uses different verbiage depending on whether the repository will be created on GitHub.com or a GitHub Enterprise Server instance. Specifically it uses the term GitHub.com for GitHub.com and the hostname (sans protocol) when creating on a GitHub Enterprise Server.

image

Screen Shot 2019-09-11 at 12 08 10 PM

Given that I've accurately understood the desire for the tutorial to work both for GitHub.com and GitHub Enterprise Server I think it follows then that the tutorial itself needs to apply the same logic.

Desktop 2.2 release automation moved this from In Progress to Done Sep 16, 2019
@outofambit outofambit mentioned this issue Oct 1, 2019
3 tasks
@zeke
Copy link
Contributor

zeke commented Oct 3, 2019

Create a tutorial repository and clone it

😍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

6 participants
@zeke @niik @billygriffin @ampinsk @tierninho and others