all you need is browser on clients on the upsidebecause pymailcgi runs over the webit can be run on any machine with web browserwhether that machine has python and tkinter installed or not that ispython needs to be installed on only one computer--the web server machine where the scripts actually live and run in factthis is probably the most compelling benefit to the web application model as long as you know that the users of your system have an internet browserinstallation is simple you still need python on the serverbut that' easier to guarantee python and tkinteryou will recallare very portabletoo--they run on all major window systems ( windowsmac)--but to run client-side python/tkinter program such as pymailguiyou need python and tkinter on the client machine itself not so with an application built as cgi scriptsit will work on macintoshlinuxwindowsand any other machine that can somehow render html web pages in this sensehtml becomes sort of portable gui api language in web scriptsinterpreted by your web browserwhich is itself kind of generalized gui for rendering guis you don' even need the source code or bytecode for the cgi scripts themselves--they run on remote server that exists somewhere else on the netnot on the machine running the browser execution requirements but you do need browser that isthe very nature of web-enabled systems can render them useless in some environments despite the pervasiveness of the internetmany applications still run in settings that don' have web browsers or internet access considerfor instanceembedded systemsreal-time systemsand secure government applications while an intranet ( local network without external connectionscan sometimes make web applications feasible in some such environmentsi have worked at more than one company whose client sites had no web browsers to speak of on the other handsuch clients may be more open to installing systems like python on local machinesas opposed to supporting an internal or external network administration requirements you really need servertoo you can' write cgi-based systems at all without access to web server furtherkeeping programs on centralized server creates some fairly critical administrative overheads simply putin pure client/server architectureclients are simplerbut the server becomes critical path resource and potential performance bottleneck if the centralized server goes downyouyour employeesand your customers may be knocked out of commission moreoverif enough clients use shared server at the same timethe speed costs of webbased systems become even more pronounced in production systemsadvanced techniques such as load balancing and fail-over servers helpbut they add new requirements web scripting trade-offs