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

Improve Telescope sign-up flow #1643

Closed
humphd opened this issue Feb 3, 2021 · 4 comments · Fixed by #2148
Closed

Improve Telescope sign-up flow #1643

humphd opened this issue Feb 3, 2021 · 4 comments · Fixed by #2148
Assignees
Labels
area: back-end area: design Issues needing design or assets area: front-end type: enhancement New feature or request
Milestone

Comments

@humphd
Copy link
Contributor

humphd commented Feb 3, 2021

What would you like to be added:

I'd like to improve how our sign-up flow works. Here's my idea, see how you can improve this:

  1. a Seneca student is either asked to join Telescope (part of a course), or decides on their own (self-motivated student looking to join the community). I see a lot of both types of people right now.
  2. The student visits Telescope and clicks some kind of "Sign Up" link
  3. The begin a multi-step process to create their account(s)
    1. The are taken through the Seneca SAML SSO flow, and need to login
    2. We get their name, email, etc and display it in a form or something. They have the chance to modify their name (e.g., display name). Many students don't use the name that Seneca has for them.
    3. Next we ask them to either CREATE or PROVIDE their Blog URL. If they don't have a blog, we provide instructions on where to go to do it, with links and a couple of suggestions. If they already have a blog, they enter the URL and we try to guess the RSS Feed (we can do this for most blog providers, since the format is known).
    4. Next we ask them to either CREATE or PROVIDE their GitHub username. If they don't have a GitHub account, we provide instructions on where to go to do it, with links. If they already have a GitHub username, they enter it. We use that to get info for the user, including their GitHub avatar picture URL
    5. We might give them a way to enter other URLs at this point (e.g., Twitter, website, etc)
  4. We store the user's info and the various URLs collected above in our database (Add a User service, with database for user, feed info, drop planet feed list #1642)
  5. The user is now registered in our system, and we take them to their /profile page, which shows the info just entered, and allows the user to edit and update their info, examine data being posted about them (e.g. posts) and modify that (e.g., delete a post from our system), delete their account, etc.

Why would you like this to be added:

We have a very basic flow right now via the /myfeeds page, but it's quite limited. Telescope is amazing, and I want to open it up to more of the Seneca tech community to use and get involved in. The wiki was a reasonable way to work in the beginning, but we've moved beyond that now.

Process:

We'll need to split this work into various bugs, including:

  • front-end UI designs
  • front-end UI implementation
  • back-end updates, tests
  • data updates
  • data migration from wiki
@PedroFonsecaDEV
Copy link
Contributor

@humphd @chrispinkney @birtony

Untitled Diagram (4)

Please let me know what you think about it.

@humphd
Copy link
Contributor Author

humphd commented Mar 2, 2021

cc'ing @izhuravlev too, since he ran into some issues this weekend getting his blog feed added to the current system and could probably help us think this through.

Here are my thoughts:

  • "My Account" seems like it's not the right name for the case that the user isn't logged in right now. I think we need to have "Login" and "Signup" as two distinct entry paths for this case. Someone who hasn't ever used the system before will find it confusing to see "My Account" on a page where they know they don't have one.
  • If you click "Signup" you are then taken through the Seneca-SSO-Login flow, followed by our Firebase-Account-Creation flow, as you've listed. We could either initiate the Seneca-SSO-Login flow immediately, or let you click a button to start it (i.e., we could show you the list of things you need to do, and one of them is Seneca signin)
  • If you click "Login" we need to take you to an "account" or "profile" page that you can use to edit your current info, add things (e.g., new feed), see error messages or problems with your feeds, etc.

@humphd
Copy link
Contributor Author

humphd commented Mar 16, 2021

The auth and feed-discovery services have landed, and the user service is hopefully going in this week. I'd like to prioritize this work for 1.9, since we'll have to iterate on it over subsequent releases, and it will let us test our entire workflow more easily.

@chrispinkney
Copy link
Contributor

Please see issue #1037. During today's triage call we discussed how issue #1037 can't really be approached via code.

We can solve this issue via education:

  • We can inform the user to specify that they should only add their own rss feed and nobody else's.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: back-end area: design Issues needing design or assets area: front-end type: enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants