You can now create files on GitHub
github.com
github.com
It's funny that you should say this, because I have pretty much the exact opposite impression. Most of their feature announcements are for dubious changes that don't make my life better (web-based CLI? Stars-vs-followers?), but more to the point, they've left really important things to languish (for example: their code search sucks, and their issue tracking system is just barely usable.)
I don't get the sense that GitHub is rowing in the same direction as a company. Their product isn't improving in any consistent way, and for all of the changes that they announce, I'm having a hard time of thinking of the last one that made a positive impact on my life. Certainly, I've never before needed to create a file in github via the web, and I probably never will.
The feeling you have of them not moving in the right direction probably is about their development model where internally people think at improvements and submit a pull request or something alike, but I guess they also have some long term projects that try to pursue as a whole.
But well the real point here is that we are talking about different things. I mean, you may not be happy with what they accomplish and I may be happy instead, but the company is in general focused into evolving their product while not annoying users.
It's a fantastic tool for avoiding annoyance with bug reports by losing track of tickets. It's perfect for that.
Seriously, though: any ticketing system that doesn't have a way to assign and sort by priority is just fundamentally broken (and no, tags don't count). But almost everything about the usability of the thing is goofy: bulk updating allows you to inadvertently delete tags (oops! hope you didn't need those!), you can't filter based on assignee, and it's easy to get stuck in a view where managing/filtering tags is impossible, with no indication of how to get to the useful interface again (why do they even have a view like that?)
But truth be told, I recognize that GitHub isn't an issue-tracking tool. That's fine. I have these sorts of complaints about nearly every part of the web interface. It's gotten to the point where I avoid using the web UI whenever possible -- it's just a hosted git repo, nothing more. And given that the product is little more than a UI wrapper around git...well, I feel like these are pretty core problems for a user-focused team. So what are they focusing on, anyway?
However, I fear that Github's issue tracker might not work at scale. I closely follow just one "large"[1] project that's hosted on Github; most of the developers on that project are accustomed to Bugzilla. Now I've never even used Bugzilla myself, but here are some things off of the top of my head that I remember them longing for:
1) The ability to attach files to issues.
2) The ability to denote dependencies between issues and generate dependency diagrams.
3) The ability to assign priority to issues (achievable using tags, but perhaps there's some advanced functionality I'm not aware of).
4) Ability for users to vote on which issues are most important.
5) Advanced search options (sometimes just having even basic search would be nice... half the time I have better luck searching their issues via Google than using Github's own search tool[2]).
6) A responsive web front-end.
The reason that they use Github's built-in issue tracker in the first place is because everyone and their mother has a Github account, so it lowers the barriers to entry for filing a bug report. And there's no question that they've benefited enormously from this, and the user-engagement that it enables. But the detriments to productivity are real, and the advantage of Github's network effect hasn't stopped them from repeatedly considering migrating their issues to Bugzilla.
And I don't think it would kill Github to abandon their "tags fulfill EVERY USE CASE" position and bake in some more features for advanced users, especially if they hope to capture a bigger share of the more "serious"[2] projects out there (which would only be to their benefit, considering that "serious" projects are the ones that are willing to buy paid accounts for all the users in their organization).
[1] "Large" in this case meaning: hundreds of Github forks, thousands of Github stars, hundreds of thousands of lines of code, a half-dozen full-time developers, and, most pertinently, several thousand issues (and growing at an increasing rate).
[2] Case in point: I just now tried to search for the issue wherein I offered to do the legwork of migrating their database to Bugzilla should it come to that. The title of the issue contains the word "Bugzilla". The text of the issue itself contains the word "Bugzilla" multiple times. Several of the comments contain "Bugzilla". And yet a search for "Bugzilla" using Github's issue search tool reveals only one issue, completely unrelated to the issue I was looking for.
[3] "Serious" in this case meaning: a codebase with hundreds of thousands to millions of users, dozens of full-time developers, and hundreds of thousands of issues.[4]
[4] https://bugzilla.mozilla.org/show_bug.cgi?id=800000 [5]
[5] Help I've gone mad with footnote power [5]
[6] While you're here, fun fact: I once went looking for the Github project with the largest number of total issues, and here's what I eventually settled upon: https://github.com/mxcl/homebrew/issues
I (and I assume lots of other people) were following repositories because they liked them, the same way someone might bookmark a page because they liked it. But this meant they got every commit and issue update for lots of projects, which was unnecessary clutter.
Github realized this and made a distinction between liking a repository and actively following its every change.
The stars/followers update says a lot about how good Github is at stepping back and looking at the user experience as a whole.
Ehh...it says that a lot of github's popularity is amongst people who do things like "following repositories because they like them", without actually being interested in the details of the projects they "follow". (Meanwhile, the rest of us are over here bookmarking webpages with our bookmark button, and trying to use GitHub to write code, and finding the system lacking...)
I've never "followed" a repository, unless I actually wanted to, you know...follow the repository. But you do raise a good point: GitHub lives in this weird hybrid world that's grown well beyond a simple tool for writing code. Nowadays, much of their user base is there because they think it's everything from a social network, to a blog host, to an online resume. It's probably not surprising that they've lost some focus.
Yes, why not? I'm happy to star the repo which has the code my phone is running, just for later references. It might be far from the most useful feature at github, but what does it tell about me? Why are you being mean, if I may ask?
> Meanwhile, the rest of us
You and parent and maybe grand parent use this "rest of us". What does it mean? That you need to bring with you the "rest of us" (your team, your friends?) to make a point.
Mind you, under the hypothesis I understood it properly, I actually agree with your core point, which is that github is sometime giving the impression to feed the crowd with new features that are a tight bit superficial.
But this point is 98% uninteresting if you don't bring a laundrylist of mind-breaking feature you think should be coded instead. I'll help with a few:
- Commit forwarding to same repo at other hosts
- Use github as git-svn interface
- Private repos (I seem to be the only one to not want everyone to peek at my shitty hardcoded bashrc)
- Shared repo templates (eg create a new repo with a python gunicorn setup ready made, after filling a few fields), a la Linode recipies
- Allow-all repos, anyone can commit to it.
- Shareable user created repo analysers, code checkers, commit hooks.
I have no idea if any of these ideas is sane, but at least it should leave a bit less negative trails on this board.
GitHub has private repos. You pay for them. It's how they make money.
New file button = New Post (rich editor)
Branch and new file = Draft
Edit button (owner) = Edit
Edit button (reader) = Submit correction
Pull request = Submit Guest post
Pull request comment = Copy/content editor
Issues = Idea/Suggestion bucket
Commit button = Publish and deploy
If there was a way to do the live markdown preview using the css (maybe you could inline link it?), then you have a pretty complete blog engine for hackers. This would be an awesome feature IMO.Github would then be the place where you put your code, write your blog, track your issues, paste snippets for IRC (Gist), display your business card (profile info), and host your talk slides (SpeakerDeck). The next logical step to me would be integrating conferences/user groups (ala Lanyard/Meetup.com).
PS. @github feel free to hire me to help build it out :P
Something like a meta tag on the index page for the blog, pointing to the git repository‡? (be it on Github, Bitbucket, or your own server) A simple command-line tool (or browser extension) would assist in checking out the repository, and you could issue the pull request with whatever communication protocols you have in common (no need to re-invent the wheel here).
† It needn't just be for git, of course - it could work with many (any?) distributed version control systems (Mercurial and Bazar spring to mind)
‡ I realise you may not necessarily want everyone to have access (even read-only) to your repository - for example, you may have future, draft posts in un-merged branches. The beauty of distributed version control is that there's no canonical server - so there's no reason the public one has to have any branch pushed to it other than master.
And I believe it has the same issue with live preview not using your own CSS
Render in an iframe with the right CSS linked?
And it's funny, but the IDE is actually more performant in the browser. Well, I was using Aptana before, which is essentially Eclipse and that's known to be slow.
Also, it just feels natural to have your IDE right next to the end product. IDE in one tab, web app in the other.
And yes, we have integrated version control. Based on mercurial. :)
The question is really how often does this happen and how long is it out for. Personally I don't remember the last time my internet was out for more then an hour, and that wasn't even in the last year.
Google Docs must have the same problem, how do they mitigate it?
I can see the always-on scenario playing out ok for some (web-developers, enterprise folks etc), but I don't see how the hardcore C crowd and their hyper-customized build farms would gain anything from it.
Re: Google Docs - you can enable offline editing with Google Docs.
Vastly better than before though - their offline support is very new.
The biggest is probably that you can now have people helping out without teaching them git. Like people helping with translation, they could just copy the original file and translate it locally, then paste it in to a new file. Way cool.
Does anyone know what text editor they're using? I assume it's CodeMirror, but I could be wrong.
I appreciate that they want to draw attention to their native client product, but I really wish they would give it a proper name so that they don't have use the name of the OS instead.
When I read their tweet I was interested to see how they had integrated it with everything else. Off the top of my head I couldn't think of an ideal place without the whole UX feeling clunky. Well done Github!
Now I'm still missing to configure the default settings of the builtin editor.
(It's how many, many open-source projects run, and GitHub has a good write-up of it here: https://help.github.com/articles/using-pull-requests )
Deleted comment
Twitter to front page in 2005: "16 points for being able to write short messages?"
eBay to front page in 1998: "16 points for being able to sell things?"
It isn't about how involved or difficult a task is. Twitter wasn't "hard" to build (early on). It's about the utility of something, and this provides a great deal of utility. I don't mean my post to come off as a flame, as that's not at all what it's intended, but I, for one, find this very useful.