Wow, a command-line interface to a website is something I never thought I'd see.
My first reaction was that it's a step backwards because the usual benefits of a command line aren't present here (you're usually already using your mouse, commands can't be piped, no shell scripts to run things in sequence)...
But I'm intigued -- maybe it's a possible step forwards? The implementation is very well done. I suppose maybe it functions like traditional keyboard shortcuts in a way? To follow a user, instead of finding their page and clicking follow, you just type "@user follow".
Still, all the commands are so basic, and many are infrequently used, I don't really see much of the "shortcut" value. I'm very curious to see if this user interface concept grows. Imagine if this became a standard way to interface with web API's!
I know for one of the games I work on, the chat-commands/command-line interface is one of the most popular user interface features for power users. And the main reason is what you suggest about navigating and clicking. Admittedly, in a game you might "/equip meat helmet" or "/use mmj" a lot more frequently than you will friend someone on github, but it's a similar concept.
One could make a measure of velocity for hacker news posts about terminals/CLIs by measuring how fast it takes someone to gripe that it a)doesn't have vim bindings OR b) has vim bindings that feel unnatural ;)
In multiple places on github, as a vim user, I occasionally instinctively hit escape. Github sometimes closes a comment box and I lose all the stuff I had been typing. It's an unfortunate UI issue for me (and probably others).
Re vim bindings, this tweet[1] by John Nunemaker makes it seem unlikely. (Not actually sure how serious he is, but it's a funny tweet - and I say that as a Vim user.)
+1. The search results for this could merge in commits and be a really valuable way to figure out whats going on in a well factored, modular codebase where things can be spread out in many different tangled folders. Something like 'ack for github' would be fantastic.
For a site like GitHub, I would imagine this is a huge engineering effort to do right. For instance, in a plain vanilla code search facility, how would you expire results efficiently when the text can change from minute to minute (to seconds, to even less)?
This UI concept seems to be gaining in popularity. Jira 5 has a similar (though less powerful) option-completion action bar that you can pull up with a shortcut when viewing an Issue.
I've been considering adopting a similar concept for a complex enterprise application that I maintain where the number of possible actions on a certain page is huge.
I really like seeing this UI approach becoming more popular. I find it particularly worthwhile because I think it helps build familiarity without being limiting the way simple autocomplete can. This approach broadens the knowledge of the user — even (I think) in the case of something like GitHub where most users are particularly competent.
I like github for their sweet hosting and easy collaboration. I have no idea who would use this command bar. Do people really want to move the mouse to click on a cli and then guess/remember the syntax?
As someone who uses GitHub's web interface multiple times a day, the ability to dig down into specific actions and pages for a repo will save a lot of time clicking around. The big one for me, adding issues.
Not leaving the keyboard is one big thing. I ditched webkit for Firefox in order to be able to use Pentadactyl, but it's worth it to not have to leave the home row.
Learning a few commands is not hard, and there is always the ol' mouse to fall back upon if you don't want to remember all those commands.
This paradigm is very powerful. The only thing I see missing from these types of interfaces is the ability to select part or all of the output and use it as input for a new command.
Think of it as an intermediate step of piping where the user has the ability to manually filter content. This UI concept would cover the vast majority of UI needs as almost any workflow could be captured with the following...
1.) Issue command that produces 0..N results.
2.) View results in list format.
3.) Select individual results for details view.
4.) Select 0..N results as input to a subsequent command.
This seems like a step in the right direction, because GitHub's search remains awful.
For example, I can now type in "<user>/<repo> #123" to go to an issue, but if I am already on the Issues page for that repo and I type "#123" in the box labelled "Search: Issues & Milestones..." it still comes up with nothing. And that's not even challenging.
I'm desperately hoping that this feature is an indication that they've noticed that finding anything on the site requires either 8 million mouse clicks or manually editing URLs.
Keyboard is at least 100x as productive as mouse (assuming you know what to do and what to type). Even the best peachy UIs cannot change it. Still there are things that aren't convenient to do from CLI like photo retouching, but these are quite obvious exceptions.
That said, I'm not sure what would you like to do in such terminal?
I find this really annoying, I use '/' to use the browser find-in-page, and apps hijacking it for their search field instead ruins it.
Yes, there are other bindings, but / is in finger-memory at this point.
I wonder if there's some sort of noscript-alike that would give you fine-grained enough control to permit exactly which keys could be intercepted by an app.
I want this for every website, and for most of the desktop apps I use. Typing, for me, is so much easier than finding menu items and clicking on them. Imagine Photoshop with an autocompleting command line instead of a maze of menus. I could work so much faster.
[+] [-] crazygringo|13 years ago|reply
My first reaction was that it's a step backwards because the usual benefits of a command line aren't present here (you're usually already using your mouse, commands can't be piped, no shell scripts to run things in sequence)...
But I'm intigued -- maybe it's a possible step forwards? The implementation is very well done. I suppose maybe it functions like traditional keyboard shortcuts in a way? To follow a user, instead of finding their page and clicking follow, you just type "@user follow".
Still, all the commands are so basic, and many are infrequently used, I don't really see much of the "shortcut" value. I'm very curious to see if this user interface concept grows. Imagine if this became a standard way to interface with web API's!
[+] [-] cdmoyer|13 years ago|reply
[+] [-] drewwwwww|13 years ago|reply
[+] [-] Too|13 years ago|reply
[+] [-] tarr11|13 years ago|reply
* I wish it had vim keybindings (ie, hit esc, then use hjkl to navigate)
* It gives me the option to follow myself. (Bug?)
* I like how I can learn commands via the autocomplete bar (issue, branch, graph, etc)
* I like how the autocomplete bar refreshes after I have control-tabbed away and back. Too many autocompletes lose this behavior
* Searching in a repository username/repo <searchterm> doesn't work the way I expect. It just brings up the regular search
Overall, very useful though.
[+] [-] te_chris|13 years ago|reply
[+] [-] eckyptang|13 years ago|reply
[+] [-] JoelMcCracken|13 years ago|reply
[+] [-] nipunn1313|13 years ago|reply
[+] [-] burke|13 years ago|reply
[+] [-] telemachos|13 years ago|reply
[1] http://twitter.com/jnunemaker/status/247800799625887744
[+] [-] samirahmed|13 years ago|reply
http://vimium.github.com/
[+] [-] ranza|13 years ago|reply
[+] [-] jjcm|13 years ago|reply
[+] [-] tomblomfield|13 years ago|reply
[+] [-] Osmose|13 years ago|reply
https://a248.e.akamai.net/camo.github.com/367fe330bc1ad4431b...
The post itself mentioned: "Spoiler alert: you might notice a few things in this screenshot that haven’t fully shipped yet."
[+] [-] tlack|13 years ago|reply
[+] [-] rhizome|13 years ago|reply
[+] [-] johncoltrane|13 years ago|reply
[+] [-] hyperbovine|13 years ago|reply
[+] [-] nathan_long|13 years ago|reply
[+] [-] _djo_|13 years ago|reply
I've been considering adopting a similar concept for a complex enterprise application that I maintain where the number of possible actions on a certain page is huge.
[+] [-] state|13 years ago|reply
[+] [-] evanmoran|13 years ago|reply
http://uni.xkcd.com/
[+] [-] mrgreenfur|13 years ago|reply
I don't really get why they built this... Anyone?
[+] [-] garand|13 years ago|reply
[+] [-] burke|13 years ago|reply
[+] [-] fromhet|13 years ago|reply
Learning a few commands is not hard, and there is always the ol' mouse to fall back upon if you don't want to remember all those commands.
[+] [-] dangoor|13 years ago|reply
https://github.com/mozilla/gcli
This is the command line that's in Firefox 16's Developer Toolbar (final release is coming in early October):
https://hacks.mozilla.org/2012/08/new-firefox-command-line-h...
I love command lines, personally :)
[+] [-] ef4|13 years ago|reply
Long live the command line. At least until I get my neural implants.
[+] [-] conradev|13 years ago|reply
https://github.com/KevinSjoberg/github.alfredextension
[+] [-] tbourdon|13 years ago|reply
Think of it as an intermediate step of piping where the user has the ability to manually filter content. This UI concept would cover the vast majority of UI needs as almost any workflow could be captured with the following...
1.) Issue command that produces 0..N results. 2.) View results in list format. 3.) Select individual results for details view. 4.) Select 0..N results as input to a subsequent command.
[+] [-] peterbe|13 years ago|reply
[+] [-] zb|13 years ago|reply
For example, I can now type in "<user>/<repo> #123" to go to an issue, but if I am already on the Issues page for that repo and I type "#123" in the box labelled "Search: Issues & Milestones..." it still comes up with nothing. And that's not even challenging.
I'm desperately hoping that this feature is an indication that they've noticed that finding anything on the site requires either 8 million mouse clicks or manually editing URLs.
[+] [-] lukencode|13 years ago|reply
It is built for asp.net but you could easily apply the same concept somewhere else. More info if anyone is interested: http://lukencode.com/2011/12/11/netbashan-alternative-to-end...
[+] [-] magnusgraviti|13 years ago|reply
[+] [-] przemoc|13 years ago|reply
That said, I'm not sure what would you like to do in such terminal?
[+] [-] cientifico|13 years ago|reply
* map the '/' symbol to focus:search box.
[+] [-] shabble|13 years ago|reply
Yes, there are other bindings, but / is in finger-memory at this point.
I wonder if there's some sort of noscript-alike that would give you fine-grained enough control to permit exactly which keys could be intercepted by an app.
[+] [-] Timothee|13 years ago|reply
This was also the one thing I was missing from the post. I did try '/' as well.
[+] [-] jonmagic|13 years ago|reply
[+] [-] przemoc|13 years ago|reply
[+] [-] flyhighplato|13 years ago|reply
The down side is that, I think, this is really only useful for the github power user. The upside is: I'm a github power user!
Seriously, though, I hope they don't use this command line as a sort of cop-out for continuously improving their UI.
[+] [-] beatpanda|13 years ago|reply