codebuddies / v3

CodeBuddies v3 (final)
5 stars 1 forks source link

[Design] Resources #2

Closed lpatmo closed 4 years ago

lpatmo commented 4 years ago

Please share designs of anything pertaining to Resources and comment with feedback below.

lpatmo commented 4 years ago

image

lpatmo commented 4 years ago

image

lpatmo commented 4 years ago

image

lpatmo commented 4 years ago

image

Grimmaldi commented 4 years ago

With the Submit a Resource form, could we add a field for "Tags", i.e., meta-tags that would allow you to more easily form Learning Paths? Also, could an additional field be added, describing the level of difficulty?

So, a "Python" tag could be added to "Learn Python the Hard Way", and it could be assigned a "Beginner" level?

Also, would the form change based on the type of resource being added? For instance, a book has an ISBN, while an Event does not. An Event occurs only on a given day or date range, but might not be worth listing after this time period had passed.

Events could also include an address, and, for users who had included their address when signing up, notifications could be sent to users within a certain proximity to the event.

lpatmo commented 4 years ago

could an additional field be added, describing the level of difficulty? Yes, thank you for mentioning that! Forgot to include it as an important field.

"Tags", i.e., meta-tags that would allow you to more easily form Learning Paths I wish I knew how to implement this easily! There are questions like:

  • what if there are duplicate tags? how do we clean that up?
  • how do we implement a search through tags? It may be one feature we punt until we have a better understanding of implementation.

Also, would the form change based on the type of resource being added? I think we don't want to worry about that for now -- and won't be asking for user address when signing up, because that feels a little too personal, although country could be a cool field too add. CB's mission is to support remote learners who might not have access to in-person events. Notifications to users within a proximity to an event is cool too! But not within scope right now, IMO.

FWIW, here's a redesigned 'Submit a resource' UI:

image

Grimmaldi commented 4 years ago

The tags idea comes from a few sites and apps that I use. One good implementation of tags can be found on PyVideo (https://pyvideo.org/tags.html).

I thought they might be useful for searching purposes, since some resources (e.g., Python Data Science Handbook) cover more than one topic and adding a single word tag is easier than writing a full description.

As for duplication, I'm not sure what you mean. If you mean, the same tag would be added to the resource more than once, perhaps that could be avoided my making the tags a set or checking if it has already been added to the tags before adding it. If you mean, how do we prevent different versions of the same tag being applied, I don't think we would need to clean that. On PyVideo, there are currently five entries for "functional programming", two for "functionalprogramming", and one each for "functional" and "funktional".

To reduce the number of times this occurs, it would be nice if a type hint offered a suggestion based on existing tags, but that seems like a tall order.

lpatmo commented 4 years ago

Agree they'd be useful! Re: implementation -- I was talking about not sure about how to implement from a technical perspective, not the UI perspective.

On PyVideo, there are currently five entries for "functional programming", two for "functionalprogramming", and one each for "functional" and "funktional".

Yeah, this is what I meant re: de-duplication. Good to know that PyVideo keep all the duplicate tags around!

lpatmo commented 4 years ago

I'm going to move all design discussion of cbv3 into figma, where it'll be more user-friendly to comment on specific aspects of designs (though I believe you would need to sign up for an account in order to leave a comment): https://www.figma.com/file/wXMeX9xgYTcVKNJ1XT9ZQ5/cbv3poc?node-id=0%3A1