[Python-3000] back with more GUI planning in a few days...

Paul Boddie paul at boddie.org.uk
Mon May 8 17:49:05 CEST 2006


On Monday 08 May 2006 16:20, Jim Jewett wrote:
> On 5/8/06, Paul Boddie <paul at boddie.org.uk> wrote:
> >
> > I agree with this, although how ambitious are such tools? If you're just
> > popping a dialogue asking for user input, there are typically other means
> > of doing that without bringing in a whole GUI framework.
>
> And what are those ways, cross-platform?

Well, you'd have to provide access to platform-specific programs or services 
through an API, since I doubt that kdialog or xdialog are provided with 
Windows, for example, although it would be surprising if nothing of that 
nature was shipped with Windows. Additionally, if you treat the GUI usage in 
a functional way - ie. you consider what you want the GUI to show, not the 
details of laying things out, plotting stuff, and so on - then I imagine a 
number of other domain-specific services could be provided, such as command 
line argument editors and so on (as has already been shown elsewhere).

Not that any domain-specific services are likely to provide a full answer, but 
if you consider the examples given above, in addition to simple things like 
webbrowser or alternatives such as os.startfile (and my desktop module), it 
is evident that there's a certain amount of scope for simple desktop 
integration that doesn't require a full toolkit and the complexity which it 
entails.

> > > But for small tools (for example, a configuration control panel),
> > > the extra step of installing a UI framework may be significant.
> >
> > I think the reduced friction is less about the installation and a lot
> > more to do with which API you use:
>
> It's both.

That's why I wrote "less about" rather than "not about". ;-)

> > Scaling a standard up to complicated,
> > integrated applications is a mostly unsolved problem, though.
>
> So accept that complicated integrated applications will need to go
> beyond the standard library's offerings, and (almost) stop worrying
> about them.

Perhaps you can say that "I'm going to do a small project which only needs the 
standard library API" or instead that "I'm going to write a mega-application 
which needs a complicated API" but even if no-one ever needs to migrate their 
half-finished applications between the two APIs, you still provide a 
confusing message to developers.

Paul


More information about the Python-3000 mailing list