2009/9/12 Dmitry Potapov <dpotapov@xxxxxxxxx>: > On Wed, Sep 09, 2009 at 05:09:31PM -0700, Brendan Miller wrote: >> On Wed, Sep 9, 2009 at 2:54 PM, Jakub Narebski <jnareb@xxxxxxxxx> wrote: >> > Brendan Miller <catphive@xxxxxxxxxxxx> writes: >> >> >> >> This is what I want to do 90% of the time, so it should just have the >> >> proper defaults, and not make me look at the man page every time I >> >> want to use it. >> > >> > You learn those idioms. >> >> I guess. Is that a good thing? > > In general, yes, because most of them exist for a good reason. > >> Is the goal of interface design to make >> it difficult so I need to learn a lot of things, or easy so I can >> remain blissfully ignorant but still do what I want? > > Neither. You cannot get what unless you have specified what you want, > and for that you have to learn how to say that. Having good defaults is > very important, but the problem with choosing them is that people have > different preferences about them. For instance, you wanted the default > prefix for git-archive to be $myproject. For me, a good default would be > either $tag_name, or $myproject-$tag_name, or empty (as it is now!). So, > what you propose is *never* a good default for me. Moreover, changing > any default will cause a lot of pain for other people who use Git now. > Besides, writing something like --prefix='' is very ugly. So, the > current default makes perfect sense. Ah, great logic. You can't find a default that will suit everyone, therefore don't bother. >> Yeah, I've been reading them. I'm saying that the docs are a crutch. >> RTFM is the problem not the solution. It makes the user do more work >> to avoid fixing usability issues. > > A usability issue exists when a person knows how to do that, but it is > inconvenient or error-prone; or when a learning curve is too steep. > But when someone cannot use, let's say, a compiler, because he or she > refuses to read to learn the language, it is not a usability issue. It's a usability issue when it doesn't just do the right thing in the majority of cases and lets you specify what you want it to do in the rest of the cases. John -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html