Skip to content

Have "favorite owners" and highlight crates by your favorite owners in crate lists #494

@carols10cents

Description

@carols10cents

Part of RFC 1824, rust-lang/rust#41616.

In the user research study we did, many people mentioned the reputation of an author as a factor they considered when deciding which crates to try.

We could do something like show how many other crates an author has, with the assumption that more crates = more experience = better quality, but that might not be true, and publishing lots of empty crates could gain you more reputation defined in this way.

We could distinguish members of any of the Rust teams, but there are lots of experienced people providing high quality crates that would not get this distinction.

Instead, I think it would be useful if each person who uses crates.io could add a crate author to their "favorite" authors, and any search that user does would show an indicator in the list of crates if the crate was written by a favorite author. The list of someone's favorite authors would be private so that each person could decide who they think is experienced, and this feature wouldn't get gamed or become a popularity contest.

What needs to be done

  • In a similar manner that you can "follow" crates today, add a button next to crate owners that's "favorite" or a star or something. When clicked, save a record in a table similar to the follows table that a particular user has saved that crate author. (I think this should be on crate owners, that is, the users or groups that are in crates.io's database and associated with a crate, not crate author information, that can be anything, read from Cargo.toml)

  • We'll need an "unfavorite" or "unstar" button too, to be able to remove an owner as someone in your favorite owners.

  • We should list all favorite owners, potentially with what they've been up to lately on crates.io, on your dashboard

  • When looking at any list of crates, we should query for whether any of a crate's owners are in the current user's favorites. This should get returned in the JSON from the API. When this metadata indicates one of a crate's owners is one of the current user's favorites, we should add a CSS class to the HTML and style that crate's row differently (and also indicate why it's styled differently somehow).

Please let me know if you have any questions, potential implementers!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions