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

Paul Boddie paul at boddie.org.uk
Mon May 8 17:34:47 CEST 2006


On Monday 08 May 2006 15:30, Greg Ewing wrote:
> Paul Boddie wrote:
> > Promoting a successor to stdwin doesn't seem like progress to me.
>
> It's a bit hard to sort out what you're actually saying
> in all that. Are you arguing for or against something
> like PyGUI?

I'm not against PyGUI. Actually, it seems like a nice project, and given that 
I believe that everyone should try and develop different things if only to 
see where it takes them, it will be interesting to see where you take it (and 
where it takes you). I think there needs to be more innovation in graphical 
user interfaces and visualisation, and that isn't going to happen if everyone 
waits for Microsoft, Apple and others to do the legwork. And as I said, 
unifying different technologies is an interesting topic that I personally 
find compelling if it can be done reasonably.

> The Gnome vs. KDE issue seems like an argument in
> favour to me. Because the alternative is only being able
> to write an app that blends in with Gnome *or* KDE
> but not both.

One of my points, probably not made explicitly or at least very well, is that 
because there are two main UNIX desktop camps (ignoring legacy desktops and 
the minor players), people have been confronted with the "how do I get the 
right print dialogue up?" question already, and there are groups of people 
working on cross-desktop issues. Sure, the solutions aren't always very 
pleasant, and perhaps one has to forego a certain level of integration in 
order to cover all the target environments. Nevertheless, I think it would be 
a bad thing if something in the standard library claimed to provide, or just 
gave the vague impression of providing, a definitive solution for all 
environments (the "simple answer" I alluded to) when to achieve a 
satisfactory result involves a bit more work. People entrenched in the 
desktop standards debate are seemingly reconciled to the multitude of 
toolkits and technologies currently available - picking winners doesn't 
acknowledge the sophistication of the situation.

My rant about communities perhaps offers a few different ways forward: to keep 
up with possible solutions to integration issues; to consider people who know 
which desktop technologies they want to use and to provide them with some 
kind of coherent roadmap. On the former, I believe it's possible to write a 
cross-platform application using technologies such as PyGtk and PyQt, even 
styling them to look mostly consistent with the host desktop environment, but 
there's a certain amount of deeper integration work still to be done (and 
that doesn't even cover stuff like desktop integration): we should be aware 
of what the state of the art is, perhaps incorporating it into projects like 
PyGUI, or perhaps offering desktop integration and GUI abstraction in other 
ways. On the latter, we should also examine the process of choosing toolkits 
and languages from the direction usually not considered by existing Python 
users and developers: what if I want to write a GNOME application; which 
language should I choose? Until now, Python hasn't really been promoted to 
people coming from that direction, but I'd argue that it's possibly more 
significant as a market than that which covers those people already using 
Python who are looking for some kind of cross-platform toolkit.

As to whether PyGUI or anything else of that nature should be in the standard 
library, my feeling is that if it (PyGUI or anything else) cannot deliver the 
desired functionality without leaving various kinds of users looking for 
another toolkit at some level of ambition (eg. providing a file chooser or 
print dialogue in their application), then we should leave such things out of 
the standard library and spell out the options in a clear fashion, 
acknowledging that more than one choice exists but the means of choosing one 
is not some kind of magic ritual. Remember that with Tkinter as a mostly 
informal standard for years, people have had to deal with this issue 
continuously, mostly abandoning Tkinter and going with something else. 
Providing another API which only gets you so far before you have to go and 
learn another one, just to get access to some aspects of the environment, 
isn't necessarily progress; as I wrote, this particular lesson is quite 
similar to those currently floating upwind of the Web technologies debate.

Paul


More information about the Python-3000 mailing list