**Comparative Analysis of GUI Toolkits** %|||% &|Areas | Tk, Qt, Gnome, ... |& &|Good if student knows | |& &|Priority | High |& &|Difficulty | Easy-Medium|& &|Benefits to the student | Self-directed research |& &|Benefits to Tcl | |& &|Mentor | |& **Project Description** This project comes out of [Mark Roseman]'s post to tcl-core, in the thread discussing ideas for GSoC. It is less about coding and more doing research, with a report at the end. For reference I ([AK]) have included Mark's mail in the entirety. The project covers the first two points of his suggested path forward, and part of the third, namely the research in the Tcl/Tk community regarding our Widgets sets and widgets, without actually doing the coding necessary. (IMHO the research alone can cover the whole summer). To be clear, the project is to * Research and enumerate widgets and major features in the main GUI toolkits * Use the above to identify holes in Tk * Research and enumerate Tcl extensions providing widgets and widget sets and where they can be used to fill the identified holes. * Finding out where/if Tk plus extensions have widgets the other toolkits don't would be a plus. ---- ====== Sorry for coming late in the game on this one, I'm not paying as close attention to these things as I'd like. I just want to say that I generally agree with Larry's opinion on Tk. It's so damn close to good enough that it's frustrating! As someone who keeps a passing eye some of the other language communities w.r.t. GUI programming, we're losing ground for a lot of "minor" reasons from a technical perspective.. people don't know that feature XYZ exists in Tk or how to use it, that some other package provides whatever widget that in 2011 would be considered "core" by most toolkits. People aren't as motivated as someone like Kevin to go out and find a Tk based solution for something they feel should be standard anyway when they have other toolkits available to pick up that look on first blush more complete. This is the same reason that megawidget frameworks aren't the (direct) answer to attract people. As a base, people expect all the "core" widgets to be available, which in Tk they aren't. They don't want to go create them. For Tk to be in the running for people it needs all those widgets there, and they need to be easy to use (which Tk is great for when the widget that's being used exists!). The megawidget stuff is great for after all the standard stuff is there. My suggested path to move forward: - enumerate widgets and major features in the main GUI toolkits - identify holes in Tk - fill holes using extensions or whatever [*] - polish hole fillers enough that they act like rest of Tk - document the shit out of things in ways accessible to Tcl, Ruby, Python, Perl etc. communities (e.g. TkDocs) - promote and educate [*] can be integrated into core or not, as long as the definitive answer to "how do I use X in Tk?" requires someone to think for less than ten seconds Of course, it seems there's not enough time and energy amongst us geezers (myself included) to accomplish even this, which just further reinforces Larry's point about the serious need to inject young blood into this. Mark ====== ---- **References** * (upcoming, link to a mail in a tcl-core archive) <> **Comments & Discussion** <> <>GSoC