

Dear Github, please fix the Watch-Button - paulasmuth
http://paulasmuth.com/blog/github_please_fix_the_watch_button/

======
necubi
Really, the issue is that the news feed is broken. Even following a relatively
small number of people and projects (10 and 29 respectively) my news feed is
dominated by the many updates (issues and commits) from a couple of popular
projects. The result is that things I might be more interested in from smaller
projects are effectively invisible.

Facebook has done a really good job solving the problems of information
overload and would provide a good model. The most important step is to group
updates from each project. Right now half of my news feed is comments on a
single repository. Those should take up only one or two slots.

The next step is to filter according to some metric of "interestingness." This
is more challenging, but clearly solvable using machine learning (let us tag
posts as interesting or not interesting to train the classifier).

I'd love to see GitHub make the news feed more useful. It's currently the most
unpleasant part of an otherwise nearly perfect experience.

~~~
eli
Even just a really naive solution: offer me a view that shows only the most
recent 2-3 updates for each project I watch.

That would solve about 95% of my problems with the news feed.

~~~
astrodust
I'd love just the last update for each project. It's handy to use "Watch" as a
sort of bookmarking tool.

------
bretthopper
The solution is pretty simple: GitHub needs a "Fav" or "Star" button.
Basically just a bookmark.

There's a lot of projects I want to remember but don't necessarily care about
the daily activity.

And no, browser bookmarks aren't good enough. A nice faved/starred page would
show stats and maybe last commit/activity. That's it.

~~~
mvanveen
I disagree. I don't have a button on Facebook for "bookmarking someone."
Facebook's news feed has managed to keep the news feed relevant despite
massive social changes in my lifetime Facebook usage (everything from high
school, to college, to working as a professional software engineer).

A new button will not fix Github's news feed problem. Making the news feed
more relevant to users will.

~~~
rimantas

      > A new button will not fix Github's news feed problem
    

But it will fix a problem a lot of people have: "I want to remember this
project, but I don't care about news from it".

~~~
rsanchez1
This is my problem exactly.

------
jakubw
There is a bunch of ways to distinguish important updates from the others.
First, prioritize updates from projects I am or have contributed to. Second,
updates from people close to me in the social graph (i.e. the people I watch
on GitHub or people who belong to the same organization as I do). The
frequency and size of updates should matter too - an usually silent project
with a big update should have an advantage over noisy projects. Filtering out
typical bugs (or commits/PRs fixing them) from the top priority ones should be
fairly easy too - all the information is already there (comments, labels).
Finally, you can go insane and start analyzing the actual code or even use NLP
for commit messages/pull requests/bugs and make decisions based on that (for
instance, prioritize projects that use similar tech as I do, changes that
mention me or touch the code I've created or touched recently).

No need to turn off anything, just make it smart.

~~~
eli
I think you are overthinking it. We don't need a fancy AI solution to the
relatively simple problem of "busy" projects drowning out quieter ones. I
don't think it would work very well and, anyway, we have different ideas about
what's important in an update.

Just collapsing updates from busy projects by showing the few most recent
updates and then cutting it off with a message like "(+ 12 other commits and 3
issues; click here to expand)" would get it most of the way there.

------
StavrosK
Why do you care so much about how many watchers you have? I don't understand
the point, certainly not to go as far as bunching commits and pushing at night
to keep the watchers happy...

~~~
shtylman
Sounds like a brogrammer to me. If I am watching a project I usually give
input to the pull requests and bugs. To me watching is being a bit more
involved than a simple 'like'. Sometimes I feel like too many projects are
based around the idea of "I will only develop it if people are watching it"
instead of trying to solve a real problem for the author and going from there.

~~~
redcircle
> Sounds like a brogrammer to me.

Is that necessary? <http://ycombinator.com/newsguidelines.html>

~~~
shtylman
Sorry. I just couldn't get over the complaining about loosing "followers" like
that was the whole point of the project :/

------
benofsky
This is really a problem with Github's news feed, rather than the watch
button. Facebook had this problem a few years ago but put a lot of work into
aggregating similar stories, etc.

~~~
zalew
> This is really a problem with Github's news feed, rather than the watch
> button.

yep. the same on BitBucket.

------
xyzzyb
I'd rather see the watch button replaced with a Google Reader style interface
for projects. Let me see that Rails has 97 unread commits, Twitter Bootstrap
32 unread, and little forgotten project has 2.

"Little Forgotten Project has two updates? Cool! I'd forgotten all about that
neat idea, let's see what they've been up to."

------
Eleopteryx
I don't even really look at my feed. There's way too much going on in it for
me to really keep track. I basically "watch" repos to bookmark them. "This
might be useful in a project at some point; let me make sure I can find it
later." Currently watching 92 repositories.

------
metabrew
Yep i use watch as bookmark, and as such the feed is useless. There needs to
be a Star/Fav thing, and leave watching for important stuff.

I've often wanted to write and broadcast a note or short msg (not a commit),
that is deemed more important than a commit, about project goings-on and
updates. Would be good to announce properly when there are serious changes or
new features. Perhaps done with tags, but it needs to be prominence some how,
it is all lost in the commit feed atm.

------
freshhawk
It's already been mentioned but this use case for watching a project is called
a bookmark.

I watch projects where I actually care about and want to see the changes.
Because I'm doing actual useful things and the social aspects of github help
me do that.

I'm not on github to engage in some kind of social network circle jerk
popularity contest to collect the most "watchers". I know a lot of people are
and it makes them feel really important to follow a bunch of projects and
pretend they're "in the know" or part of the project just because they clicked
the watch button.

But every site doesn't need it's own different kind of bookmarks, that's a
stupid waste of time. Other startups do it to drive viral growth or to
"increase engagement" or some other BS reason. Github drives growth by being
useful to developers and other collaborators. As soon as they start
sacrificing power for people collaborating on code projects in order to
satisfy the fanboys they risk losing their primary draw, the good projects
that use github because it's useful.

I doubt this will happen, although I can definitely see why they would add an
in-site bookmark to appease this crowd since they apparently don't know how to
use client side bookmarks.

~~~
stock_toaster
My client side bookmarks tend to be a bit of a black hole (or possibly a
thunderdome). Many things enter, but very few find their way back out to my
eyeballs.

Perhaps I have bookmark-itus. I bookmark many things I may find interesting
later, or want to remember. I end up searching through my bookmarks more often
than not, because there are so many of them.

As to watching, I use it to get notified if a project I am interested in has
updated, made changes that are meaningful to me, or has come back to life
after a long silent period, or _if it is something I want to look into later
but don't particularly want to have the full update feed for_.

That last part would be fulfilled handily by an internal github 'star' or
'bookmark' system. There are stars for gists, why not projects?

*note: I use pinboard.in, which is great.

~~~
freshhawk
Yeah, I think I might have been too harsh on the star idea.

I absolutely have bookmark-itus, but because of that I have a good bookmark
system where I can set a date or interval for it to remind me that the
bookmark exists. I think I took this idea from the GTD tickler concept.

I can see the use case for "tell me if this project has done something
interesting (determine that magically) but I don't want to see every commit
cluttering my feed" type features on github. Just don't break the feed to do
it. It's clearly a secondary use case for the feed.

I'm also not sure if this use case is something _actually_ useful rather than
just stimulating to users. A site using this idea and github integration along
with some Zynga math to optimize the dopamine dispensing combined with
twitter, HN and the rest of social news would make sure that I felt like a
hacker and never actually produced anything.

~~~
stock_toaster
I agree that breaking the feed would be wrong. The feed _should_ include
everything. I also feel that github would be well served to provide an
alternative mechanism to 'remember' projects so users can stop trying to
shoehorn the functionality of the feed to suit that need.

------
jon6
\--quote-- So I began to aggregate my commits into batches to push in the
middle of the night. Unfortunately, that really slows me down. \--end quote--
How is pushing a bunch of commits that much different from pushing each
commit? Slows him down.. what??

------
deadbeef84
Not sure I agree completely, "watch" is when you're actually interested in
what's going on in the project. "Fork" is when you want to contribute with
code changes. Maybe a "Like" button to show your appreciation would be nice?

------
grayrest
I would really appreciate it if notifications were aggregated by thread and
updates by project.

I generally only care that a thread/project was updated. If I'm interested,
I'll go in and look at what's new. Letting me know more than once just makes
it harder to actually keep track of things you care about.

~~~
eric-hu
This.

From the article:

>Eventually I noticed, that it would only create an update for each push, not
for each commit. So I began to aggregate my commits into batches to push in
the middle of the night. Unfortunately, that really slows me down.

He's doing what the Facebook news aggregator does by default. All
pushes/commits can generate only one news feed item for a certain time frame:
"Author made N changes/updates/commits"

To play the devil's advocate, though, perhaps this should be a part of the
learning process of using Github. It would be instructive to all watchers to
see what kinds of mistakes a good dev makes (or just be reminded that a good
dev makes mistakes as well).

------
joedev
This is what happens when collaboration tools are turned on their head and
used as as popularity contest.

------
mutewinter
I run a website that tracks watchers on GitHub projects, <http://gitego.com>.

What I see is that it is incredibly rare for a project to lose watchers. It
seems that people are using GitHub's watch feature as a bookmarking service.

On a side note, GitEgo tracks two[1,2] of paulasmuth's GitHub repositories,
and neither of them has "lost lost around 30 watchers by the evening." He may
be referring to other projects on GitHub, but even Twitter Bootstrap[3] (the
most popular GitHub project), almost never loses watchers. Granted, these
projects could all be gaining just a few more watchers than they are losing
per hour, but the net effect is almost always a gain each day.

I think the real problem is that watching a repository doesn't engage a user
in its contents. Watching commit messages fly by isn't as entertaining as
reading 140 characters someone groomed for public consumption.

[1]:
[http://gitego.com/paulasmuth/fnordmetric#watchers?interval=b...](http://gitego.com/paulasmuth/fnordmetric#watchers?interval=by_day)

[2]:
[http://gitego.com/paulasmuth/recommendify#watchers?interval=...](http://gitego.com/paulasmuth/recommendify#watchers?interval=by_day)

[3]:
[http://gitego.com/twitter/bootstrap#watchers?interval=by_hou...](http://gitego.com/twitter/bootstrap#watchers?interval=by_hour)

------
city41
Just to play devil's advocate: this does force people to be more mindful of
their commits. This is a good thing. Each commit should be a cohesive, logical
change to the codebase. Such that if the change is later undesired, simply
reverting one commit should completely remove it. This is very good practice
for when you use git at your day job. In this scenarios, your 'watchers' are
your coworkers, and they will rightfully get upset if you clog the repo with a
bazillion haphazard commits.

~~~
pgroves
I agree this is the underlying issue but I disagree with your solution. One of
the last big problems none of the popular SCM's has really fixed is separating
commits that are "checkpoints" for the developer from those that should be
used as documentation of the project history (e.g. "Closes bug X").

There are times I end up doing a commit just to switch from my laptop to
desktop. In Mercurial I end up with a million commits with the message "merge"
b/c I really just did a pull of someone else's code and it forces you to do a
commit just to get synchronized with the master (even with no meaningful
conflicts).

I wish I could nuke all those ugly checkpoint commits and bundle them into a
single commit with an intelligent comment when I push to the main server, but
that's just not the standard workflow.

~~~
kenmazy
git rebase -i can handle your last request (interactively combine/remove/move
history).

In fact, git can also handle your second wish by having simply creating a
"sync" branch pointing to that extra commit, then when you switch to between
your laptop and desktop, pull the sync branch, check out the commit (apply it
to your working directory), then switch back to the master branch and continue
working (the commit never appears in the master branch).

Git rebase would handle the "forced commit on merge with no meaningful
conflicts".

hope I don't sound like too much of a fanboy :)

~~~
mattbriggs
+1, git rebase -i is amazing for this

------
atjoslin
the news feed should just bundle together news from one user.

~~~
eekfuh
Exactly. I don't think a 'like' button would be of much use. I'd rather see:

Al3x made 2 commits Project: [message one] Diff Project: [message two]

------
talove
Maybe the problem is how much value that you put on the amount of watchers you
have? Is it somehow a bad thing that someone doesn't want to see all of your
updates. Would those people somehow serve value to you had you not annoyed
them and they just kept watching.

In my opinion as git being a tool to transparently see any and every thing
changing. If you some how want less than that, perhaps you shouldn't subscribe
to (aka watch) a "repository."

Ultimately, maybe the right thing for github to do would be to group nearby
commits, but still summarize them and easily let you dive into them. This is
code after all and almost any time I've updated a dependency, it's been
because of the small details. In my accounts of the companies I've worked for,
subscribing to the repositories we use, seeing every commit has served a lot
of value. Just watching because it's some popular repository did not.

------
bdon
I find that what I take the # of GitHub watchers to mean (i.e. the popularity
of a project) is better surfaced by the number of downloads on RubyGems.org,
at least for gems.

Better yet, RubyGems collects that information without any user input.

It would be awesome if the # of downloads could be shown on a GitHub project
page.

------
kmfrk
I have never used my dashboard, because I watch so many repos. I use it as a
bookmark function, but it'd be great if they replaced it with "bookmark" with
a default option of not "following" the updates.

There are a lot of interesting projects, but I only want to follow those
immediately relevant to what I am doing.

------
ryanto
I wouldn't mind seeing a version of a the Github dashboard where my feed was
grouped by projects.

I don't think having a timeline where you see all commits of all projects
sorted by time really helps. The commits in project A don't effect the commits
in project B, so they do not need to be viewed in sequence or relation to each
other.

Let me have a dashboard where I can see all my projects then some
recent/popular issues and commits to that project, keeping all projects
separate.

Don't add a like/favorite/bookmark button, I think that's too many options.
Watch already says "I'm interested in this", so we don't need additional
buttons to express the same thought.

------
mikeocool
Yeah, agreed. I thought for a while that the Watch button would be a good way
to keep track of what's going with open source projects I care about. But I've
found I pretty much ignore the news feed completely, there's just way too much
noise there.

~~~
mikeocool
I suppose there's varying degrees to which I care about a project. I do want
to know about every commit on the ones I'm actively involved in. On the other
hand I'd be way more interested in like high level summaries for the projects
that I'm just a user of.

------
pwim
I don't use the watch or follow feature of github, as it seemed kind of
pointless to me. The main strength of github is collaboration, not discovery.
If it were up to me, I'd remove the more SNS like actions as they just seem
like an afterthought.

------
mutant
I disagree with post almost entirely. This idea of "like" validation is
flawed. Your true validation is recognition from the community, a "watcher"
doesn't equate to a pat on the back, anymore than a "like" does. It's an
inconsequential empty token. We need to get away from this notion of a like
means anything more than an twitch response to something. It doesn't mean a
person will ever return to your page if the project (or page or whatever) ever
does anything again. Gaming the like/watch system is so easy, folks typically
know this is hardly an indicator of usefulness except in rare circumstances.

My $.02.

------
NARKOZ
I'm using GitHub Feed Filter extension for Chrome

[https://chrome.google.com/webstore/detail/jcpkhafkpnaljjbgdg...](https://chrome.google.com/webstore/detail/jcpkhafkpnaljjbgdgbehajihicjalkc)

------
matthewcford
I'm building a repo bookmarking tool as a google chrome extension (for
github). It's in early alpha at the moment as I only really get to work on it
on the weekends, but it'll be ready for a public beta in 2-3 weeks.

In the mean time you can checkout the video of it working or if you're feeling
brave download the alpha version of the extension.

[https://plus.google.com/u/0/b/110983919160550210204/11098391...](https://plus.google.com/u/0/b/110983919160550210204/110983919160550210204/posts)
[video & download links]

------
dwyer
>You can publicly watch one of their projects; this is similar to "liking"
something on facebook.

>If you commit "too often", people will get annoyed and unwatch you.

So don't _watch_ projects you're not interested in _watching_ and leave the
Facebook mentality at Facebook. Issue closed.

I couldn't imagine not working on my projects out of fear that somebody who's
feigning interest might stop feigning interest. Who thinks like this?

------
Pythondj
How about a "Deploy" button instead, Yes I like to "Watch, and "Share" is oh
so social, but what would be much more useful is a "Deploy" button that would
take requirement.txt, config.pl, manifest.yml and all those other artifacts,
read them, and help me get the app running on the server, the instance or
cloud. I can deal with the constant notifications that come with "watching" a
github repository - what I want is a simpler path to Deployment.

------
snitko
My proposition is that the watch button means you only see important updates,
like when the new major version of Rails is released. The importance should
still be decided by the repo maintainer though. I don't agree with bundling
commits proposition, because it is not controlled by the maintainer and will
not necessarily capture the stuff that is important and present it in a
meaningful way.

------
Sander_Marechal
IMO the one who watches should be able to control which updates he sees in his
feed, not the project developer (which is what the article and may commenters
suggest). For some projects I'm watching I'd like to see every commit, issue
update, etcetera. For others I'd only be interested in new tags that are
created. The project developers don't know what I'm interested in. Only I
know.

------
rplnt
I was expecting that author would want to literally fix the button. It always
bugs me like it is designed:

[watch] [fork] [watchers] [forks]

With this I often click "watchers" when I want to watch a repository. To me,
much better solution would be something like this:

[watch | watchers] [ fork | forks]

------
spullara
Github has terrible management for this and even for notifications. I'm a
member a large organization with popular projects and the entire UI has become
completely useless. I think a Mute button for people, projects and issues
would work great. I'd have no problem clearing out things that way.

------
xbryanx
Maybe you should be able to subscribe to certain types of commits, like a tag,
merge, or branch operation.

------
groby_b
You don't collect watchers. People watch your project because it's interesting
to them and they are _actively_ involved. If it is, it doesn't matter how
often you update, only the quality of your updates matters.

It's not twitter, stop playing the "follower count" game.

------
saghul
Totally agree. My workaround for this at the moment is to use Yahoo Pipes
(<http://pipes.yahoo.com/pipes/>) and filter my GiHub feed which I then read
with an RSS reader. Not ideal, but it gets the job done.

------
nathan_f77
Yes, I agree with this completely. It got so annoying that I either needed to
start un-watching repos, or just ignore the news feed, and I chose the latter.
If only there was a way to just 'star' projects without having them take over
the news feed...

------
amanuel
I have two suggestions:

Activate a 'quiet' mode? In quiet mode nothing is sent to people's feeds.

Daily Digest mode. Daily digest would do just that. Lump all update in a day
into 1 news feed.

I'd be happy with either option.

------
may
Or batch all commits into one update. That way it doesn't matter how much you
commit, or push, it's a max of one entry per day per repo per user.

Then, make tags the exception -- since they are likely being used for
releases.

------
haldean
What about only publishing notifications for tags? Most people only use them
to tag releases (or RCs) so the creation of a new tag might be the sort of
thing people would be interested in knowing about.

------
entropie
No. I watch projects i find interesting. I usually dont look at the noise in
my feed or something. I rarely visit github, only if i get linked to it or for
browsing code. So, its totally fine (for me).

------
tlrobinson
Likewise, I don't use the news feed because I watch too many projects that
have too high volume.

I have the same problem with RSS. I feel like this is a generic problem that
needs solving.

------
oshow
This Chrome Extension allows you to filter the flood of notifications,
although you need re-watch/follow settings. <http://nothub.org/>

------
ErikRogneby
Twitter allows you to curate lists to filter through the clutter. I think that
would apply nicely here. I don't think watching is broken, I think the feed
needs some love.

------
timsally
Facebook faced this exact problem with its newsfeed. The solution? Do what
Facebook did. Allow people to watch projects and then subscribe to various
levels of activity.

------
nivertech
Github also add "bookmark" button with list of tags. Of course one can use
something like delicious for this, but built-in service is much more
convenient.

~~~
matthewcford
Some thing like this?
[https://plus.google.com/u/0/b/110983919160550210204/11098391...](https://plus.google.com/u/0/b/110983919160550210204/110983919160550210204/posts/VH9LedQMe2b)

------
jahewson
This is exactly why I had to un-watch ry/node - it was drowning out my
newsfeed. Perhaps collating updates from individual projects would help?

------
georgeg
I wanted to say this very thing and am glad you have stated it very well. I
have un-followed projects because the news feed became too noisy.

------
vseloved
Actually watch button really does what it should: let's you keep track of the
project. If you want like button, just ask for it instead.

------
purephase
I'd love it if they added Gist support for Organizations. Much easier to
manage config files that way.

------
scottschulthess
I think the issue is people use the Watch button like bookmarks.

------
alpb
Like facebook, watch button can have options when hovered.

------
kmax12
github is awesome: <http://news.ycombinator.com/item?id=3641704>

------
blantonl
sounds to me like a "check this box to post to subscribed watch lists" would
fix this?

------
rsanchez1
I'm so glad someone else noticed this. I started out watching a few essential
projects I used on a daily basis, and added the feed to my Google Reader.
Eventually I started using the "watch" button as a "like" button and my feed
became unmanageable. I just stopped watching the feed. I wish there was some
way to have only some of those items show up in my feed.

