[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