[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