From: Federico Mena Quintero <federico@novell.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: Jakub Narebski <jnareb@gmail.com>, git@vger.kernel.org
Subject: Re: Git User's Survey 2007 unfinished summary continued
Date: Fri, 19 Oct 2007 15:57:56 -0500 [thread overview]
Message-ID: <1192827476.4522.93.camel@cacharro.xalalinux.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0710130130380.25221@racer.site>
On Sat, 2007-10-13 at 01:46 +0100, Johannes Schindelin wrote:
> Jakub, thank you very much for doing this. It is a very tedious work, and
> I deem it invaluable.
Seconded! This survey is very valuable, Jakub!
> > Figure out why people find git hard to learn and eliminate those
> > barriers to entry. Make git more task-oriented rather than
> > data-model-oriented the way it is now.
>
> Frankly, expectations like these make me want to bang somebody's head on
> the wall. Why do people expect others to work for them for free? Hard?
The "barriers to entry" / "data model" comment came from me :)
"Find out why people find git hard to learn and eliminate those barriers
to entry" is what we do with usability tests e.g. in GNOME. You ask
people to use your software to accomplish well-defined tasks ("send a
mail to foo@bar.com", "using the word processor, copy this fancy printed
layout"). Then, you see how they *expect* your software to work, you
see in which places it doesn't behave like that, and you fix it. This
produces very good results. For Git in particular this could be things
like, "Import this project from SVN, fix a bug, commit the patch", or
"You are a maintainer, merge in these two branches from two
contributors".
"Make git more task-oriented rather than data-model-oriented" is about
making the tool adapt to what you usually want to do, instead of making
*you* adapt to the way the tool wants to work. Many commands in Git
have documentation like
"option --foo updates the refs without modifying the index. Requires
a clean working tree"
This is gibberish for people who are not very familiar with Git's
internals. "Git for computer scientists" provides a *very nice*
explanation of the DAG and refs and tags, but unfortunately it doesn't
explain the index, why you would want to know about it, etc.
Git introduces a lot of terminlogy: refs, index, working tree, remotes,
origin, HEAD (which is not the same as CVS HEAD!), detached head,
rebasing, porcelains, etc. Even the basic documentation is hard to read
when you don't know all the terms yet.
It's nice that Git lets you manipulate the repository in all kinds of
ways, but presenting porcelains at the same level as plumbing makes
things hard for users to learn. I was just in our Beijing office,
teaching people about development tools and Git in particular.
Federico: "get Git from this location"
Beijing hacker: tap tap tap, "okay, it's installed now"
Federico "Git commands all start with 'git'"
Beijing hacker: git<Tab>
Bash: Display all 150 possibilities?
Beijing hacker: "oh, shit..."
It's hard to know where to begin :) Do I need "git-cherry-pick" or
"git-cherry"? Why is the "apply a patch" command called "git-am"? Why
is it different from "git-apply"? From "git-applypatch"? Etc.
Federico
next prev parent reply other threads:[~2007-10-19 21:08 UTC|newest]
Thread overview: 161+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-08 20:55 Git User's Survey 2007 unfinished summary continued Jakub Narebski
2007-10-12 22:08 ` Jakub Narebski
2007-10-12 23:36 ` Frank Lichtenheld
2007-10-13 0:46 ` Johannes Schindelin
2007-10-13 2:13 ` J. Bruce Fields
2007-10-13 2:53 ` Shawn O. Pearce
2007-10-13 12:58 ` Frank Lichtenheld
2007-10-13 13:04 ` Johannes Schindelin
2007-10-13 18:00 ` Andreas Ericsson
2007-10-13 19:59 ` David Kastrup
2007-10-13 20:27 ` J. Bruce Fields
2007-10-13 20:57 ` David Kastrup
2007-10-14 0:36 ` Johannes Schindelin
2007-10-14 1:13 ` Linus Torvalds
2007-10-14 1:44 ` Shawn O. Pearce
2007-10-14 3:15 ` Linus Torvalds
2007-10-14 3:43 ` david
2007-10-14 3:55 ` Linus Torvalds
2007-10-14 10:20 ` Reece Dunn
2007-10-14 18:12 ` Steven Grimm
2007-10-14 18:40 ` J. Bruce Fields
2007-10-14 19:25 ` Steven Grimm
2007-10-14 19:50 ` Andreas Ericsson
2007-10-14 20:18 ` Johannes Schindelin
2007-10-14 20:22 ` Andreas Ericsson
2007-10-14 20:24 ` J. Bruce Fields
2007-10-14 19:44 ` Nicolas Pitre
2007-10-15 23:20 ` Shawn O. Pearce
2007-10-16 2:48 ` Nicolas Pitre
2007-10-16 10:51 ` Johannes Schindelin
2007-10-14 2:06 ` Johannes Schindelin
2007-10-14 8:45 ` Andreas Ericsson
2007-10-14 9:21 ` David Kastrup
2007-10-14 21:49 ` Jakub Narebski
2007-10-14 22:08 ` Johannes Schindelin
2007-10-14 22:17 ` David Kastrup
2007-10-14 22:12 ` David Kastrup
2007-10-14 22:15 ` Jakub Narebski
2007-10-14 22:23 ` Matthew Andrews
2007-10-14 22:30 ` David Kastrup
2007-10-14 21:10 ` David Tweed
2007-10-19 20:57 ` Federico Mena Quintero [this message]
2007-10-19 23:27 ` Jakub Narebski
2007-10-19 23:37 ` Johannes Schindelin
2007-10-22 14:28 ` Federico Mena Quintero
2007-10-20 8:03 ` Andreas Ericsson
2007-10-20 10:19 ` Steffen Prohaska
2007-10-20 11:29 ` Andreas Ericsson
2007-10-21 6:08 ` Dmitry Potapov
2007-10-20 23:06 ` Jakub Narebski
2007-10-20 23:33 ` Johannes Schindelin
2007-10-21 7:17 ` Andreas Ericsson
2007-10-21 22:15 ` Johannes Schindelin
2007-10-22 7:59 ` Andreas Ericsson
2007-10-22 11:04 ` best git practices, was " Johannes Schindelin
2007-10-22 12:44 ` Andreas Ericsson
2007-10-22 13:48 ` Johannes Schindelin
2007-10-22 14:31 ` Andreas Ericsson
2007-10-22 15:00 ` Johannes Schindelin
2007-10-22 15:16 ` Andreas Ericsson
2007-10-22 15:42 ` Steffen Prohaska
2007-10-22 19:36 ` Federico Mena Quintero
2007-10-22 23:21 ` Johannes Schindelin
2007-10-25 19:04 ` Carl Worth
2007-10-22 23:35 ` Jakub Narebski
2007-10-23 5:38 ` Steffen Prohaska
2007-10-23 10:58 ` Johannes Schindelin
2007-10-24 18:48 ` Steffen Prohaska
2007-10-24 19:20 ` J. Bruce Fields
2007-10-24 19:41 ` Andreas Ericsson
2007-10-24 19:48 ` J. Bruce Fields
2007-10-24 20:12 ` Steffen Prohaska
2007-10-24 20:33 ` J. Bruce Fields
2007-10-24 21:06 ` Andreas Ericsson
2007-10-24 21:20 ` J. Bruce Fields
2007-10-24 21:28 ` Peter Baumann
2007-10-24 21:47 ` Steffen Prohaska
2007-10-24 22:14 ` Johannes Schindelin
2007-10-24 22:33 ` Steffen Prohaska
2007-10-24 22:38 ` J. Bruce Fields
2007-10-24 22:51 ` Steffen Prohaska
2007-10-24 23:28 ` Johannes Schindelin
2007-10-25 6:02 ` Steffen Prohaska
2007-10-25 10:27 ` Johannes Schindelin
2007-10-25 12:04 ` Steffen Prohaska
2007-10-25 7:15 ` Andreas Ericsson
2007-10-25 7:31 ` Peter Baumann
2007-10-25 7:57 ` Andreas Ericsson
2007-10-25 8:25 ` Steffen Prohaska
2007-10-25 10:17 ` Johannes Schindelin
2007-10-25 10:33 ` Andreas Ericsson
2007-10-25 12:09 ` Steffen Prohaska
2007-10-25 12:58 ` Johannes Schindelin
2007-10-25 13:24 ` Theodore Tso
2007-10-25 14:58 ` Andreas Ericsson
2007-10-25 15:21 ` Theodore Tso
2007-10-25 17:05 ` Andreas Ericsson
2007-10-25 18:33 ` Junio C Hamano
2007-10-25 20:18 ` Andreas Ericsson
2007-10-26 6:18 ` Steffen Prohaska
2007-10-26 7:53 ` Andreas Ericsson
2007-10-25 18:02 ` best git practices, was Re: Git User's Survey 2007 unfinishedsummary continued Federico Mena Quintero
2007-10-25 18:04 ` Mike Hommey
2007-10-25 18:18 ` J. Bruce Fields
2007-10-25 18:23 ` Theodore Tso
2007-10-25 20:08 ` Andreas Ericsson
2007-10-26 20:01 ` David Kastrup
2007-10-25 16:06 ` Federico Mena Quintero
2007-10-25 16:38 ` J. Bruce Fields
2007-10-25 18:06 ` Federico Mena Quintero
2007-10-25 18:16 ` J. Bruce Fields
2007-10-25 20:19 ` Andreas Ericsson
2007-10-25 20:27 ` J. Bruce Fields
2007-10-26 9:17 ` David Kastrup
2007-10-26 4:41 ` [PATCH] Make rebase smarter Steven Walter
2007-10-26 7:42 ` Andreas Ericsson
2007-10-26 9:57 ` Johannes Schindelin
2007-10-26 21:02 ` Junio C Hamano
2007-10-26 23:13 ` Johannes Schindelin
2007-10-26 23:29 ` Junio C Hamano
2007-10-24 21:54 ` best git practices, was Re: Git User's Survey 2007 unfinished summary continued Andreas Ericsson
2007-10-24 22:17 ` Johannes Schindelin
2007-10-25 8:07 ` Andreas Ericsson
2007-10-25 10:12 ` Johannes Schindelin
2007-10-25 10:24 ` Andreas Ericsson
2007-10-25 11:39 ` Johannes Schindelin
2007-10-25 12:46 ` Andreas Ericsson
2007-10-25 14:51 ` Karl Hasselström
2007-10-25 17:10 ` Andreas Ericsson
2007-10-25 7:26 ` Peter Baumann
2007-10-24 21:16 ` Steffen Prohaska
2007-10-24 20:13 ` Andreas Ericsson
2007-10-24 23:48 ` Jakub Narebski
2007-10-25 7:42 ` Andreas Ericsson
2007-10-25 10:07 ` Johannes Schindelin
2007-10-25 10:39 ` Steffen Prohaska
2007-10-25 16:16 ` Federico Mena Quintero
2007-10-23 7:24 ` Andreas Ericsson
2007-10-22 18:06 ` Daniel Barkalow
2007-10-22 13:17 ` Wincent Colaiuta
2007-10-22 13:33 ` David Symonds
2007-10-22 13:38 ` Johannes Schindelin
2007-10-22 17:48 ` Robin Rosenberg
2007-10-23 22:13 ` Alex Riesen
2007-10-22 13:36 ` Nguyen Thai Ngoc Duy
2007-10-22 15:24 ` best git practices, was Re: Git User's Survey 2007 unfinished summarycontinued Federico Mena Quintero
2007-10-24 2:06 ` best git practices, was Re: Git User's Survey 2007 unfinished summary continued Jakub Narebski
2007-10-24 10:29 ` Karl Hasselström
2007-10-24 11:04 ` Jakub Narebski
2007-10-24 11:31 ` Karl Hasselström
2007-10-24 23:27 ` Jakub Narebski
2007-10-25 6:10 ` Karl Hasselström
2007-10-24 13:15 ` Catalin Marinas
2007-10-22 12:26 ` Jakub Narebski
2007-10-22 13:45 ` Johannes Schindelin
2007-10-22 14:29 ` Andreas Ericsson
2007-10-22 14:53 ` Federico Mena Quintero
2007-10-22 23:27 ` Jakub Narebski
2007-10-22 22:53 ` Steven Grimm
2007-10-21 22:12 ` J. Bruce Fields
2007-10-13 3:04 ` Shawn O. Pearce
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1192827476.4522.93.camel@cacharro.xalalinux.org \
--to=federico@novell.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=jnareb@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).