GUIs - A Modest Proposal

Steven D'Aprano steve at REMOVE-THIS-cybersource.com.au
Mon Jun 7 09:50:08 EDT 2010


On Mon, 07 Jun 2010 03:08:19 -0700, ant wrote:

> First off, I'm not volunteering to lead this effort. I don't think
> anyone should
> even think about that until and unless the Python Powers That Be
> actually
> decide that it is worth doing. That is what I meant by 'strong
> leadership'.

You have the process backwards there. The Python-Dev team isn't going to 
push one GUI toolkit as the One True Toolkit unless the wider community 
standardises on it first.

Consider the plight of the Python developers. They're an all-volunteer 
effort, and although a handful of them are partially funded by the PSF or 
other companies like Google, they're still chronically undermanned and 
overworked. Just go and look at the bug tracker and see how many bugs 
languish for want of somebody to work on them. The last thing they're 
going to do is take on a project of the magnitude of creating a new GUI 
toolkit. A full-featured toolkit is a project at least as big as the rest 
of Python plus the standard library, and probably bigger. You're asking 
them to double their work load to suit your aesthetic judgement that none 
of the existing toolkits are good enough.


[...]
> Third: "I'm curious why you think fragmented GUI choices is a particular
>  problem for Python compared to other languages? Or why this is the main
>  issue holding Python back? "
> It's not a particular problem for Python compared to other languages.
> It's a general problem for all programming languages.

I don't see why you think so. Well, Apple believes so, and twenty years 
ago I agreed with them, but having looked at how Macintosh and it's 
consistent look-and-feel has repeatedly failed to set the world alight 
against Windows and its multitude of inconsistent GUIs, I'm no longer 
convinced by Steve Jobs' argument.

It's 2010 and despite all of Apple's marketing, design excellence and 
consumer mindshare, their share of the PC market is still about the same 
as it was in the mid-80s and well under their peak of 12% in 1993. 
(Depending on who is doing the reporting and how they calculate the 
numbers, Apple Macintosh has anything from 3% to 8% market share, not 
that much better than Linux at 1-2%. And the Linux figure is for sales, 
not installations).

It seems to me that a consistent, best-of-breed look-and-feel is good for 
creating a brand, but flexibility and choice is good for capturing a 
market.

Consistency carries it's own dangers, and what you call "fragmentation" 
simply means that GUI toolkits exist in a free market of ideas rather 
than a centrally-planned monopoly. For idiots^W those who like Gnome, 
there is PyGTK; for those who prefer their window manager to be 
perpetually in pre-beta, there is PyKDE; if you like QT, there is PyQt; 
if you have no aesthetic sense at all, there is tkinter; if you have a 
hankering for the Good Old Days programming in Hypercard on a Mac SE, 
there is Pythoncard; if you've drunk the corporate Koolaid, there are 
Jython and IronPython with their own GUI widgets; if you want the choice 
of developing for the desktop or the web, you might choose Pyjamas; and 
so on.

There is, hopefully, a GUI toolkit for everyone, and no best-of-breed 
because people will never agree on what best-of-breed would mean. You 
call this fragmentation -- I call it freedom of choice.



-- 
Steven



More information about the Python-list mailing list