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

Separate apps and libs in category listing #1094

Closed
aturon opened this issue Sep 30, 2017 · 2 comments
Closed

Separate apps and libs in category listing #1094

aturon opened this issue Sep 30, 2017 · 2 comments
Labels
A-categories C-enhancement ✨ Category: Adding new behavior or a change to the way an existing feature works

Comments

@aturon
Copy link
Member

aturon commented Sep 30, 2017

From what I can see, each category is clearly either an "app" category or a "lib" category. I think it'd be helpful to somehow break up these two groups, rather than listing them interleaved. It'd make the category list a bit less overwhelming.

@carols10cents
Copy link
Member

Funny story-- that's actually how I had categories originally:

(Also, not sure I get why there are separate categories for applications and libraries instead of e.g. having a separate flag?)

I could be argued out of it :) I mostly did that because that's what Awesome Rust did!

then this comment:

I feel the same, for example my next project to be released on crates.io will be both an application and a library, plus the extra libraries/applications takes a lot of space and create noise.

then this comment:

Is crates.io intended for non-developers? The distinction between applications and libraries seems good for me on assumption that a non-technical user will be able to use apps, but won't have use for libraries. But if the whole site is for developers only, then maybe there's no point using that as top-down category.

then this comment:

I think I'm just going to move the FFI categories beneath "Libraries" for now, since most of the tools I know of integrate with your code in a library fashion somehow. Are there any purely external applications that do, say, binding generation?

Yes: bindgen works as a standalone command-line tool.

which influenced me some more:

Hmmmm, hmmm. This is further pushing me towards the side of "get rid of the library/application categories"

then this comment:

Having a library (and application) main category goes against that principle. Library is not a topic, developing an application for something is. bindgen is a good example of this and is certainly not the only one—the libraries and dev-tools categories have many common subcategories and for most of them the merge would make a lot of sense.

and my ultimate decision:

The thing that tipped my decision is that now on /categories, you see 37 categories available, instead of only 3 (Applications, Developer Tools, and Libraries). I think this makes it clearer, sooner, the breadth of all the different kinds of crates available and makes a better first impression.

and some more rationale:

That was only the last reason for my decision :) The other factors include:

  • "Application" and "Libraries" are not really "topic" areas and could better be expressed with an icon or a badge
  • Some crates have both an application and a library
  • Sometimes you might be fine if there was either a tool or libraries that could be used to build a tool to accomplish some task

Does this additional information change anything?

@locks
Copy link
Contributor

locks commented Sep 7, 2019

I am closing this issue as the current rationale has been exposed above and there has been no recent activity.
Thank you for the breakdown of the whys.

@locks locks closed this as completed Sep 7, 2019
@Turbo87 Turbo87 added C-enhancement ✨ Category: Adding new behavior or a change to the way an existing feature works and removed C-feature-request labels Feb 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-categories C-enhancement ✨ Category: Adding new behavior or a change to the way an existing feature works
Projects
None yet
Development

No branches or pull requests

4 participants