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

Cask Categories #198

Closed
iwarner opened this issue Apr 12, 2013 · 8 comments
Closed

Cask Categories #198

iwarner opened this issue Apr 12, 2013 · 8 comments

Comments

@iwarner
Copy link

iwarner commented Apr 12, 2013

Love this project guys - really well done.

Sorting out my Mac Development scripts with Chef Solo and incorporating this into the workflow

One of my pet hates on homebrew formula though is the fact that as the list of casks / formula get so long I don't spend the time to actually read whats there - yeah I know if I want something specifically but some software may be a better match.

so I would like to see if possible

Casks/Text Editors/Sublime Text 2
Casks/Maintenance/App Cleaner

or something similar

Thanks again

@vitorgalvao
Copy link
Member

Since this is closely built on top of homebrew, I doubt it’d be simple to do.

I also think it’d be a very bad idea, for several reasons.

  • Who would decide the categories?
  • How many categories should we have?
  • Should we decide them upfront, or should we add them as we go along?
  • What if someone creates closely related categories (such as “text editor” and “code editor”)?
  • What category should we give specific apps like f.lux?
  • Where should the categories’ names go, should we simply implement them on the cask files?
  • What if someone has a script that depends on the cask’s location, and suddenly its category changes?

I’ll stop now, but you can see where this is going. Bear in mind that you’re not supposed to worry (or even mess with) the Caskroom, that’s homebrew‐cask’s job. The goal of the project is to be easy for you, the user, to get results — get your apps, have them available — quickly, without having to mess around. That is way easier to do if the developers don’t create unnecessary hoops to jump through.

If you’ve ever read wikipedia’s lamest edit wars, you’ll know that tiny details can make a ton of difference, and you know that having something as harmless as a placeholder name can cause confusion, so imagine what categories would do. Granted, this is way smaller than wikipedia, but it’s just an illustrative point.

I’ll leave this here, as someone may want to add something in agreement or disagreement, but I don’t see this being implemented (nor do I think it should be).

@phinze
Copy link
Contributor

phinze commented Apr 12, 2013

Hi @iwarner - thanks for the kind words! And thanks too for taking the time to participate. 🍰

I do agree with @vitorgalvao here. I think that Categorization is Hard is a corollary that follows from "Karlton's Adage":

There are only two hard things in Computer Science: cache invalidation and naming things.

So I'd like to avoid getting our project mired in the complexity of establishing a taxonomy of apps.

Speaking more generally about the philosophy of the project, I've tried to take a very minimalistic approach to the fields we include in a Cask. If you have a look at recent history, you'll see I killed content_length from the spec because it wasn't providing enough value. In other words, I think the barrier to entry for an additional field on Cask is (and should be!) fairly high.

Now, all that being said, there's nothing stopping you from implementing your own command to accomplish this external to this project. Here's a quick example you can drop as an executable file somewhere in your $PATH to get you started:

https://gist.github.com/phinze/5372273

I'm going to close this issue for now, but feel free to continue the conversation here or on this gist if you'd like.

@phinze phinze closed this as completed Apr 12, 2013
@iwarner
Copy link
Author

iwarner commented Apr 12, 2013

Your points are very valid - thank you for spending the time to address this request.

@vitorgalvao

To add to your list of what Cask does - I think eventually Cask could be a place where we discover software too - already looking at your cask list I have managed to find a couple of gems, I would just like it easier to discover more when the list gets to thousands :)

There are defined categories for say computer games, i'm sure there are for software let me check...
http://en.wikipedia.org/wiki/List_of_software_categories

Flux - I would categorise as a Desktop Widget.

Great work again; and appreciate the code sample, and honest debate. I will hopefully be contributing to this in the near future too.

@vitorgalvao
Copy link
Member

Even though I agree that discoverability is not that great (your best option right now is doing brew cask search and then brew cask home on each one you want to see more information), I also think (like @phinze) that this would be better done externally. This also means that the person that does this (maybe that’ll be you) will also have a very organised list to start with, that only needs categories added to them.

Also note that you original suggestion would only work for already installed apps. To increase discoverability (apps you still do not know of), we’d have to think of another process. I also believe that homebrew‐cask, being a CLI app, has some advantages on how it operates, but some disadvantages regarding those issues — it’s always a tradeoff. With that in mind, something that could work is a GUI app that uses home‐brew cask as its backend to categorise/list apps — something like bodega.

The software list you presented illustrates another problem — there are just too many categories. It’s like trying to define music genres — everyone starts to categorise everything in such a niche way that every element has it’s own category, where some become official, and others do not. In short, it’s a mess.

Regarding f.lux, I disagree. To me, widgets on OSX are those small apps you have on your dashboard — small apps on small widows that do one small thing — f.lux is a menubar app that acts on the whole screen, and you don’t even see its window. Not that it’s relevant that we agree on this, but you can see how having pre‐defined categories on the project would start to stir confusion.

I also thank you for the cordial discussion. New opinions, even if unfit for the project at this time, will keep it fresh and interesting. Looking forward to seeing your contributions.

@phinze
Copy link
Contributor

phinze commented Apr 12, 2013

Great conversation folks. On the topic of discoverability, I totally agree that we could do a better job to help users find cool apps. I too have found some great applications from people submitting stuff.

I've been cooking up plans for a bona fide homepage for homebrew-cask and general docs/presentation cleanup to ramp up to a nice big fancy 1.0 release. I'll start a separate issue to track ideas/discussion around what the home page should be.

@dimitrieh
Copy link

alright, my issues are referred to this one. Are any plans already there? designs?

@vitorgalvao
Copy link
Member

Your issues were indeed referred to this one, but with a clear message: we’re not a discoverability service, and we don’t intend to become one. This has been discussed and refused multiple times, as it is not part of the goals of homebrew-cask. Amongst other things, the logistics are unsustainable.

Not going to happen.

@dimitrieh
Copy link

okey.. clear

@Homebrew Homebrew locked and limited conversation to collaborators May 8, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants