AgileVentures / WebsiteOne

A website for Agile Ventures
https://www.agileventures.org
Other
143 stars 249 forks source link

getting started page should allow checking off of progress #1581

Closed tansaku closed 3 years ago

tansaku commented 7 years ago

Current status of this (as of 26 May 2017):

This is one possible approach / idea for improving the Getting Started page.

Improving the getting started page is definitely a priority for WebSiteOne, but exactly how (what information, how it's presented and organized, what functionality may or may not be provided to individual users) needs to be explored and then decided.

(For example, other approaches may be: provide the steps in a way that increases the likelihood that people will read them; don't provide individual tracking for users; show each step on a different page; provide tracking only for premium members; etc.)

Work can continue on this, but as a prototype to explore the ideas (and/or to learn about WebSiteOne as a system).

(Reference: discussion during the last part of the WebSiteOne kickoff meeting on 26 May 2017 )


As a site owner
So that more members get more involved with contributing to the community
I would like them to have a simple reminder of how far they have got
unlike now, when they have only their memory
As a junior developer
So that I can level up to mid and senior
I would like a clear pathway that shows me what to do in what order
Unlike now where I have to remember how far I have got and what to do next

it would be nice if the getting started page could check off users progress as they went through the different onboarding steps.

A first pass might be just having checkboxes that the user themselves could check:

https://github.com/brightbit/markdown_checkboxes

but ultimately if we could automatically tick the boxes for the user as they went through the different stages that would be ideal, e.g.

Several users have asked for more structure. I hypothesize that some sort of system like the above might get a few more users along the path to contributing and it might also provide us with a view as to individual user progress and allow us to provide encouragement and support about getting to the next step ...

tansaku commented 7 years ago

I wonder if https://github.com/github/markup comes with all the features that we get in the GH UI such as clicking and re-ordering ...

tansaku commented 7 years ago

freecodecamp map of activities like this FCC style

tansaku commented 7 years ago

ActivitiesController or GettingStartedController or FirstPageController

perspective of end user vs maintainer naming

weedySeaDragon commented 7 years ago

Aren't there wizard gems that will do that for us? They do tracking thru steps for users. Then we'd just need to display the list of steps as checkboxes.

tansaku commented 7 years ago

@weedySeaDragon maybe - do you know any specific ones? https://github.com/schneems/wicked ?

weedySeaDragon commented 7 years ago

https://github.com/schneems/wicked is the one most people seem to use and like.

tansaku commented 7 years ago

thanks @weedySeaDragon - now we just need to unlock the engineering resources to get this done ...

tansaku commented 7 years ago

@mattlindsey don't let me distract you from making prototypes, but I wonder if ultimately we could just copy github's pipeline for processing markup in pages instead of using mercury: https://github.com/github/markup#github-markup

tansaku commented 7 years ago

related javascript: https://www.npmjs.com/package/gfm-task-list

mattlindsey commented 7 years ago

@tansaku This looks interesting. Here's more: https://github.com/blog/1375-task-lists-in-gfm-issues-pulls-comments

I think this simple approach of using the Github markup pipeline has the problem that if anyone checks the box "[x] do a PR" for example, the box would be checked for everyone. So how can we use it in our case?

weedySeaDragon commented 7 years ago

Just to jump in here again, but to try to refine the idea and goals:

Yes -- we need to track things for each user So we need a way of saving the current state for each user.

And then we need a simple UI that shows each user their current state, and what items the have and haven't completed. (Checkboxes are the natural way of representing this.)

So we have:

Main Components

  1. a list of all possible tasks that a user can complete

    • is there an order to the tasks? Can a user complete tasks in any order they want?
      • if there is an order, can we / should we first just do a simple version without worrying about enforcing order? (I think that whomever implements this can decide that, dependent on how much time it would take)
  2. The current state for a user (which tasks have and have not been completed)

  3. A UI for the user to change their state. (checkboxes)

  4. A way for [an AV manager/admin] to edit/manage the list of all possible tasks Basic CRUD stuff

Roles:

Yes?

Perhaps we're at a point where some Pair programming / HO to discuss and do prototyping / start iterating?
@mattlindsey Let me know and I'll be there. :-)

mattlindsey commented 7 years ago

@weedySeaDragon. I like your approach. Let's connect up in Slack and hangout. There's also Friday's WebsiteOne hangout.

weedySeaDragon commented 7 years ago

@tansaku As Matt and I were talking about this, Matt said that there are no admin pages for WebsiteOne. There is no where that an administrator logs in to WebsiteOne to accomplish anything or work with or view information.

With this feature, there is definitely data to be managed: the list of 'user progress tasks'. Basic CRUD needs to be done, and since the list of "user progress tasks" must be an ordered list, the admin needs to be able to handle that as well. And if you want to specify any dependencies among/between tasks, then that means a little more UI is needed. (The underlying model is straightforward: a DirectedGraph. The UI is what I'm wondering about, just to be clear.)

How should this happen? What interface (tool(s)) will an admin be using to manage this information? It is now time to create an admin section for the website? (Not knowing the background of the decisions, I'm just wondering out loud.)

tansaku commented 7 years ago

@weedySeaDragon I admin the site through the rails console at the moment

I think we should be cautious here. My intuition is that we need to carefully tweak aspects of the funnel with minimal changes so that we can get feedback quickly.

I am quite scared of making more complex changes, particularly when we are so short of development resources. My sense is that it's difficult to make these decisions without doing a coordinated sprint on the project ... can you join the WSO kickoff meetings on Fridays? 3:30pm UTC

weedySeaDragon commented 7 years ago

@tansaku I can make the meeting for a few weeks. I'll put it in my calendar and make it so.

Based on your response, I wonder if my vision of this story is quite different from yours. I'll ping you & @mattlindsey on Slack because I think it'd be best to have a conversation about this in a HO vs. keep going back and forth with text. :-)