Version 34 of User Interface Design for Tcl/Tk

Updated 2007-02-02 12:38:48

EKB I am creating this page as a place to hold links having to do with interface design in Tcl and Tk. There are a lot of pages on the Wiki that deal with this issue, as well as some external web sites, and for mysefl I wanted a single place to hold the links. I figured that if I wanted something like that, then others might, too, so I created this page. Most of the links are GUI-related. Wherever I found one, if there is already a page of links on some topic (e.g., Alternative GUI toolkits), I linked to the page of links, rather than to the individual pages. I'm sure I missed some, though...

My reason for collecting these links is that while it is certainly possible to make a nice, easy-to-use interface in Tcl/Tk (and in particular, a nice-looking GUI), it's also easy to make one that is not so nice. (I have made many!) This seems to be a recurring theme in the Wiki, and many people have offered good suggestions for making nice interfaces. I wanted to have them easy to hand.

An added challenge (at least for me) is that what the world in general thinks of as "nice-looking" is a moving target. Some of these have to do with real usability issues (e.g., the gripper, or sizer control) and some of them with changing styles for how things look (button-like buttons, flat buttons, blobby translucent buttons). For myself (and I suspect for many others), ignoring what the world in general expects in an interface isn't an option, so it's important to keep an eye on the moving target. I don't know what to do with this except add links to pages with information, widget sets, etc. for implementing the different styles.


User Interface Design Links

These are links about user interface design in general.

  • I've found Joel Spolsky's User Interface Design for Programmers [L1 ] to be very useful. The site includes text from his book of the same title.
  • The User Interface Hall of Shame [L2 ]. (The site itself is no longer active - this is an archived copy.)

Making Clean Code

This isn't about interface design per se. It's about what's under the hood. But since what's under the hood supports what's on top, I think these links are appropriate.

Also, Which Widget and Widget Configure are GUI debugging tools. There is also a Wiki page for Android, "the only open source testing tool for GUI programs."


GUI and Tk General Information


GUI Elements

General collections

Specific widgets and other GUI elements


Making a Smoother User Experience


Wrapping Tk Around an Existing GUI


Internationalization and Encoding


Options for Windows Applications


Options for MacOS


Options for *nix

So far this is the only one I've spotted that's *nix-specific. I suspect two reasons for this: *nix separates the OS from the windowing environment, and Tcl/Tk started in a *nix environment. As a result, there are going to be few *nix-specific recommendations.

LV It seems, to me, that even with Tile going into the core, there continues to be comments concerning the default look of applications on Linux and other *nix based systems being less attractive than on other systems. Has anyone taken a look at the Tango project and other such projects?


Footnote With the earlier version of this page, I'd bitten off more than I could chew. I had also duplicated a lot of existing work. I hope this version will be more useful.


Category GUI