[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: general questions

From: John Maher <JohnM_at_rotair.com>
Date: Tue, 11 Sep 2012 12:02:51 -0400

Sorry Les, you just don't get it. Just because you've never seen
something doesn't mean it can't or shouldn't be done. Its sad that you
haven't seen any good tools. You make the same mistake over and over
assuming that a wrapper designer anticipates what the user wants to do.
While that may be true in an application that is definitely not
necessary in a wrapper, and not desired. If a programmer based thier
logic on that assumption, they would always be wrong. A good wrapper
"wraps" the functionality of the command line to a guid, initially there
is no anticipation or user actions. A good wrapper would only
anticipate AFTER all functionality has been accounted for, this
anticipation would be for features that do not exist in the command line
AFTER all functions and parameters are already passed from the gui to
the command line. So there is NOTHING the gui can't do that the command
line can except take more time to do something. You're confusing the
steps to design an application with the steps to design a wrapper. Two
different animals and if you mix the two its like trying to pull a
trailer with a corvette. It may work, it may cause problems. It
definitely is not optimal.


-----Original Message-----
From: Les Mikesell [mailto:lesmikesell_at_gmail.com]
Sent: Tuesday, September 11, 2012 11:45 AM
To: John Maher
Cc: David Chapman; Mark Phippard; users_at_subversion.apache.org
Subject: Re: general questions

On Tue, Sep 11, 2012 at 7:22 AM, John Maher <JohnM_at_rotair.com> wrote:
> Interesting discussion. It appears you have not had the chance to
> with a good wrapper, or maybe you shun guis or something because there
> appears to be a strong bias to your statements.

First, let me remind you that you started the discussion, complaining
about not being able to find the way to do what you wanted in a GUI.

> I have been a
> programmer AND user on both sides, gui and command line, so I am not
> making things up.

I'm more of a system administrator, so used to doing things that
aren't designed into GUIs as everyday operations for most users.

>> I'm not saying GUIs don't work. Just that they are generally a
>> of what can be done with commands.
> This is simply not true. Expose every function and every parameter
> there is nothing the gui can not do. Add some automation, and the gui
> can actually do more.

But that's within a single application. Well designed command line
tools and scripting languages include all of each others'
functionality fairly seamlessly. While a GUI 'could' let me run a
program of my choice to supply any option or input, none that I've
seen actually do. So they are limited to what the designer
anticipated where the command line tools gain functionality as new
tools are developed or you add your own helper/wrapper scripts.

>> You are making some assumptions about scale and locality here. I
>> most of the world at my fingertips in the form of URLs.
> Of course I am. I must make some assumptions or there is nothing to
> talk about. Don't forget a gui can have a box where a URL is entered
> it can do everything you can by just typing in stuff plus anything
> that gets added.

But, I said I would have a list of URLs in a file. Your GUI 'could'
let me provide the file as input. But that would be a rare choice for
a GUI designer and a common scenario for me. So if forced to use a
gui for a repeated operation, I'd probably end up displaying the file
in one window and cutting/pasting a line at a time as I repeat the
many mouse-clicks it might take for the rest of the work.

>> OK, but if I regularly work with 44 repositories, I'm likely to have
>> their URLs in a file where a script can extract them a lot faster
>> you can navigate the world in a picklist.
> Now you're making assumptions, that's OK though. Makes for a good
> discussion. And you are right. Nothing works best 100% of the time.
> Now think of the reverse of that. What if you wish to do something to
> 44 repositories once? Whats better typing them all in or clicking on
> them. You can type, I'll click.

My assumptions are from past history. Picking 44 names out of 100
might be a win. Picking 44 out of 50,000, I'd rather just type them
in, but if I am creating a new, arbitrary set of names for related
things I'd use a name convention where wildcards or number sequences
make the set script-friendly for operations on the group. If someone
else has given me the names, we are back to already having the list in
a file and the script just has to iterate over it.

>> But it can only be a good design after you already now what I'm going
>> to do. Until then you can only offer the bazillion choices.
> Again, not true. With experience comes wisdom.

How does that differ from what I said? If the GUI designer knows
what I'm going to do and wants to spend the time making it easier,
then yes, the GUI approach can be nicer. But if I want to do
something new and different (and what's the point if I don't?) then
combining all of the functionality of existing commands with script
wrappers and a few of my own is going to win.

> Although you can never
> predict a user 100% of the time, you can learn to be spot on 50% (or
> better) of the time. And you seem to be forgetting a gui can do
> anything text can do by offering a textbox.

No, a textbox is not the same at all. Text tools allow running any
program you want to expand the result. I suppose a textbox 'could'
let you put in $(cat wild_card_filename) or $(grep pattern filename)
and accept the result like any bash command line will, but I've never
seen a GUI do that.

> There's a bazillion right
> there.

But that's a bazillion you have to input There's an old saying that
GUI's make 'easy things easier and difficult things impossible'.

> You also have a bazillion at the command line.

Which can be generated by any other tool at my disposal.

> I think what you
> are picturing is nothing like what I am planning. lol. At least I
> would never use the same words to describe it as you do.

OK, but I spent a couple of days 20+ years ago learning how to combine
the work of different tools with simple shell scripting and it has
saved me time pretty much every day since. But, I tend to think that
the best user interface is no interface at all - that is, the machines
should just do your work for you in the cases where it is predictable,
and it should be trivial to repeat complex sequences even when you
have to do it manually. If you have to do some set of operations
across 44 instances of something today, how will your GUI help you
automate that set of operations on the next 44? If you did it on the
command line, you'd just recall the command and edit the target. Or
save it in a file that you can edit easily, or come up with a way
another tool can generate the target list. The 'graphic display' of
the operation isn't particularly useful on its own here - you just
want the underlying work done.

  Les Mikesell
Received on 2012-09-11 18:11:29 CEST

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.