Github is making me feel stupid(er)
serpentine.com
serpentine.com
I understand it's a tough problem domain, but there is definitely room for massive improvement in the UX.
div#repo_details { opacity:0.3 !important; } ul.with-details-box { opacity:0.3 !important;}
to make those fade a bit and draw you eye toward the menu bars below them. You could event apply it your specific repo urls, so you could customize it depending on what you're working on.
Again, only a temporary hack, but better than nothing until a better universal design can be agreed upon and implemented.
Stylish: https://addons.mozilla.org/en-US/firefox/addon/stylish/
Jakob Nielsen wrote about that over ten years ago: http://www.useit.com/alertbox/990321.html - I think the gist of his article still holds true.
It's awesome that the URL scheme is 'right' and I can easily use it to get to where I need. But that just means the UI/UX is severely lacking.
For example, I use the bookmark http://www.reddit.com/r/%s with the keyword rdr so that I can just type "rdr programming" into the location bar to go to http://www.reddit.com/r/programming. It has made my browsing a whole lot faster.
Now that I think about it maybe they just need an "awesome bar" for github; put in a sha, branch name, issue, tag, pull request, etc and it can auto-complete and take you there.
Also the network view could be really useful for managing projects if it were much faster and slightly better...
In general I just think that there are way too many similarly sized/colored buttons spread all over the place, so I never know where to look for what I need, and I can't ever quite tell where I am without much work.
I think the mental model of how to view and navigate the repo/network is not transparent or consistent. If they could nail that it would really help a ton.
The layout at the top of the page is roughly hierarchical with a header for your account (which is standard). You have (edit: my numbers do not match the ones in the article):
1. where you are (project)
2. what you want to see (code, issues, etc) (within that project)
3. branches, commits, etc (associated with the code in the project)
4. latest commit (to the code in the branch in the project)
5. code
There's a clear progression from "project" to "code", with only minor hiccups along the way (the description has to do with the whole project, but then it's pointless to have it at the top of every page, so it's beneath a single tab). And the latest commit seems arbitrary, IMO - it doesn't convey much useful information, aside from the 'freshness' of the project.On the issues page, the 'new' button is next to the search field because they want you to search first. If you look for a search bar (standard in the top-right corner), because you should be doing so anyway rather than duplicating reports, you would find the new issue button immediately. This is relatively standard UI for a publicly-accessible bug-report-like system.
There are rough parts of Github's UI, definitely. After seeing a mention that it was hard to find how to change to an organization, I tried - very strange and non-obvious that it's only on the root page (that I've seen). And the different layouts between the main tabs for a project could be a lot more consistent. And commits could use a --graph display.
But the main project page? I've always found that to be the single least confusing part of the entire site, and the most immediately-useful. I've used nearly every control on the page multiple times, and hiding them behind more layers of access would only impede normal use of the site.
One improvement could be to either fade out (and fade in on mouseover) or darken the 3,4,5 block (numbers from the link).
This would have the effect of either hiding the block so you could be drawn to the menus below (where the real info lies), or to make it stick out more, so your eyes could use it as a point of reference.
right now it all kind of melds together.
But that's one of the most useful bits of information imo. When I'm reviewing projects to see which I will use, that is one of the two most important determining factors (the other being tests, all other things being equal)
Do you mostly value the commit's date, or any of the other information in that block? I've only ever cared about the date, personally.
I think GitHub should only show the full latest commit when browsing past versions of code. Otherwise, it should show just the text "latest commit for the master branch", or that commit's SHA ID, or the date of the last update. If allowing people to measure project "freshness" is important enough, maybe they should instead show the 52-week graph of recent activity, like on users' project lists.
One thing both services suck at is the dashboard full of irrelevant noise.
I'm kind of surprised that some people feel this way. GitHub has some confusing UI papercuts, but every time I find myself on a BitBucket project page I spend several second in total bafflement while my mind tries to parse their UI.
Something about the way various parts of the BitBucket UI are insufficiently distinguished makes it hard for me to tell where one part ends and another part begins.
I'm not a heavy user and I'd probably acclimate with enough exposure, but I've always thought BitBucket's general fit-and-finish has suffered in comparison to GitHub.
Code is the last thing Google Code puts on a pedestal. It's barely a step forward from Sourceforge.
I also prefer how BB shows the commit log (with the colorful tree on the left)
Github seems to be in the tough situation of trying to reproduce a command line interface and all its flexibility in one simple / easy to visualize dashboard.
When you can finally find the New Repository link from the News Feed page, it doesn't have an option for choosing the account for the repository. You need to do that before going to the New Repository page...
Seth Godin had a good piece on UI and information density the other day: http://sethgodin.typepad.com/seths_blog/2012/03/information-...
On the first project page, header part clearly contains “GitHub stuff” (issues, stats, network), and next goes ”git stuff“ (files, commits, branches). I can quickly clone or download the project. Issues page also becomes better.
Can't speak for organizations functionality, but it looks OK for usual tasks of most users.
I feel that there is too much stuff "above the fold" in newspaper parlance. It's fine for main project pages, but for subsections, such as the project wikis, I wish Github would move the content far higher on the page.
Search within a project would be a awesome option
The awkward treatment of organizations doesn't help either. I'm constantly having to context switch, and it's even worse because I have an organization with one project, so if I click the organization, I have an "Issues" button. If I click it, I'm seeing issues for that one single project, but there is no "New Issue" button because I'm at the org level instead of the project level. :/
the tech is called dotjs. you can check it out at http://defunkt.io/dotjs. if you use Chrome as your web browser, it runs arbitrary JavaScript you define for any domain in your ~/.js directory.
my ~/.js/github.com.js looks like this:
$("div.news").hide();
you can check the full file for a couple other hacks: https://github.com/gilesbowkett/dotjsfiles/blob/master/githu...
but that's the gist of it (no pun intended).
I also created a Minimal GitHub Dashboard mini-app, built in Node against the GitHub API, but when they changed the API, I didn't bother to update it. I think it was really cool though so I'll link it up anyway. it just pulled a list of your public repos and put links to them in a very readable, very minimal UI.
http://gilesbowkett.blogspot.com/2010/10/node-miniapp-minima...