[Pythonmac-SIG] Re: Mac Python User Newbies
Kevin Ollivier
kevino at tulane.edu
Mon Feb 14 20:56:52 CET 2005
Hi Chris,
I promised myself I'd stay out of this discussion, but I think you hit
on a good point and wanted to expand on it.
On Feb 14, 2005, at 11:02 AM, Chris Barker wrote:
[snip]
> Same for GUI toolkit, Whatever toolkit this fabulous IDE uses, there
> are going to be a lot of us that want a different one. Also, I've
> never seen a GUI builder that was as productive for me as writing the
> code by hand (at least if I have something like wxPython's sizers to
> do layout for me)
>
> I think that's why the editor+terminal+GUI-toolkit-of-choice has ended
> up being the de-facto environment for Python development
Ah, but in the world of Interface Builder, or VB, or RealBasic, people
mostly use what's given to them. How would you explain those trends
then? I think your choice was made predicated on the available tools,
not because there isn't any one tool that would/could meet your needs.
(It just doesn't exist yet. ;-)
The point being that in Python, AFAICT,
editor+terminal+GUI-toolkit-of-choice is the only environment available
for most, thus it is the de-facto standard. But you make a very good
point below which ties into this...
> One more note: I've found that there is a big difference between
> "Productivity Usability": how productive one is with a give tool over
> the long term
> and
> "Learn to Usability": how easy it is to learn, and get something done
> quickly.
>
> The former is what really matters for a tool you use a lot. The later
> is what really matters when you trying to sell something new. While
> the two types of usability are not mutually exclusive, I think they
> are orthogonal. That is you can have any amount of either couples with
> any amount of the other. Obviously lots of both is the ideal. However,
> I've found that commercial products often have lots of
> Learn-to-Usability, because you need that to sell a product, while
> open source products tend to have a lot of Productivity-Usability,
> because the people developing them need that, and don't need to learn
> it.
Bingo! :-) This is a very good point which many people overlook, and
which leads to many, many confused usability discussions, because one
group is arguing the need for Learn-To Usability and the other is
arguing the need for Productivity Usability. (As is mostly the case in
this thread, too.) But I would argue both are needed, because you do
want to actually "sell" Python to people. (At least I do!) I think of
it like riding a bike. When you *start* riding a bike, "Learn to
Usability" is key, so you have training wheels. The wheels basically
just show you that, hey, this isn't impossible. Now, eventually you get
good at riding a bike and training wheels are a hinderance, so you take
them off, because "Productivity-Usability" becomes key to you.
Now, I don't think it's a perfect analogy because I think software can
be easy to use without being crippling, as training wheels are. I think
software can tackle Learn-To-Usability through a combination of
intelligent defaults (i.e. you have choices, but it makes the most
likely choice for you at first by default) and excellent ease-of-use,
including usable interfaces, documentation and training resources. It
will never be for everyone (maximizing efficiency usually means
choosing a tool for exactly that) but I think there can be one tool
that meets the needs of most people.
> One example I've seen a lot in the open source world is people writing
> to a mailing list, looking for a good tutorial. If it doesn't exist,
> many folks offer to write one as they learn, so that others will have
> it in the future. This is the true spirit of open source. However,
> most of them only get half-finished, because by the time the would-be
> author has learned enough to finish it, they don't' need it any more,
> and the motivation is gone.
Right, because there's no real reward to speak of, aside from maybe a
thank you. So the question is: how do you encourage people to actively
participate in the community, especially in the sense of a major
project like an IDE?
And here, despite the many, many messages in this thread, is where IMHO
this discussion gets stuck - because we don't have the answer to that.
Is the PSF going to offer some incentive for a polished,
well-documented, cross-platform, "Learn-To Usable" RAD tool that
incorporates GUI design? If so, I think someone will step up and make
this happen. (Heck, I'd be happy to work on such a tool, in fact, I've
already got some ideas for it.) If not, we're just adding more choice
to the equation (which isn't good for Learn-To) and we're just going
back and forth about which is more important, Learn-To-Usability or
Productivity-Usability, which is one of those Coke or Pepsi
discussions. ;-)
In any case, to me the key issue is that there are tools out there for
the advanced developers, but the people who need the tools most but
don't have them are the Learn-To folks.
Thanks,
Kevin
More information about the Pythonmac-SIG
mailing list