GNUmed user interface toolkit considerations

Historically wxpython has been the only user interface toolkit that was available for MS Windows, GNU/Linux and Apple Mac OSX under a sufficiently free license (GPL in our case). GNUmed founders decided to go for wxpython as the primary GUI toolkit. That has worked out so far but brings some challenges as well.

Things have changes since. Many toolkits have appeared, some previously available have seen their source made freely available. Qt comes to mind. It is perceived as a viable alternative by the occasional mailing list poster but few understand what a switch would involve.

WxPython? and PyQt? are both mature tookits. They have both been used in large software projects and are actively developed. The basic features are not really different. There are however some special features that GNUmed could make use of which are not present in both toolkits.

Feature WxPython PyQt comment
backing community Nokia wxpython relies on few individuals, if they go away wxpython might die
browser widget wxmozilla webkit widget html support in wxpython is very basic
GUI designer wxglade, wxDesigner QtDesigner? wxglade is very basic and wxDesigner is non-free
community active, medium sized active, large developer pool for wxpython is limited, few highly skilled individuals exist, small medium skilled pool, Qt is more widely used because of KDE
printing support decent mature printing support is a tough issue for wxpython and GNUmed, probably easier with Qt
device support PC, other : limited PC, other : various mobile devices Qt is available for N900, Nokia mobile phones, maybe not a huge issue for GNUmed
Linux support great great no issues
Windows support some issues few issues because of smaller team wxpython has issues keeping up with Vista and Windows 7
Mac support few issues few issues Qt has probably fewer issues on Mac
3rd party connectivity n/a n/a Qt is used for KDE so it could be easier to interact/integrate with KDEPIM, KMAIL
issues for new devs some some novice coders would probably get going faster with Qt because of the tools provided, maybe less an issue for experienced devs
documentation good good Qt probably has more demo code/apps to look at and more coders to help out on mailing lists or IRC
XML handling 3rd party included no idea if it makes a difference, we use elementtree for that
layouting stable mature we have some issues with sizers in wx, maybe we would have less issues with Qt
| info | wxPython | PyQT4
cost of switch none high all code for wx is there, now, going for Qt involves a complete GUI rewrite

All in all the GNUmed project has no resources, neither in terms of staff nor financial resources to switch from WxPython? to PyQt? even if that was seen a beneficial. As long as there is only 1 main coder for GNUmed no resources will be allocated to this. That would mean GNUmed development would efectively be stopped until the rewrite is complete. This currently is no option.

It is estimated that an experienced python developer would need roughly one year to rewrite and document the GUI code done in Qt.

The GNUmed project acknowledges the issue and will provide all support it can to third parties that will evaluate a GUI rewrite using PyQt?.
Topic revision: 03 Aug 2010, ChristianReiter
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback
Powered by Olark