[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