Path: utzoo!utgpu!utstat!jarvis.csri.toronto.edu!mailrus!ncar!ames!sgi!daisy!klee From: klee@daisy.UUCP (Ken Lee) Newsgroups: comp.cog-eng Subject: Re: how to build widgets Message-ID: <2770@daisy.UUCP> Date: 27 Feb 89 18:38:49 GMT References: <339@aratar.UUCP> Reply-To: klee@daisy.UUCP (Ken Lee) Organization: Daisy Systems Corp., Mountain View, Ca. Lines: 35 In article <339@aratar.UUCP> chac@aratar.UUCP (Chuck Clanton) writes: >most of the recent toolkits for bitmapped workstations seem to have >the design philosophy that interactive components, widgets, should >have an extremely high degree of customizability. hence, one often >finds 20 to 40 parameters that can be set. the code for such widgets >is extremely difficult to understand, and the interactions among >those parameters is extremely difficult to document and understand. Actually, it's really not that bad. The vast majority of these parameters are the same for all "widgets" in the application, so need only be set once. Most of the time, they're set in a configuration file that can be edited after compile time, giving the end user the final say. For example, you generally want all your push buttons to have the same colors, same shape, same size, and same feedback mechanism. The colors probably also apply to most other widgets in your user interface. Just set them once and don't worry about it. On the other hand, too many choices is often an excuse for no policy. If you're designing multiple applications (or an application in a multiple application environment), you'll probably find most of these parameters fixed by your style guide. If you don't have a style guide, and care about consistency, you probably should write one. The Macintosh style guide is one reason the Macintosh user interface is so popular today. Modern user interface style specifications, such as Open Look, specify most of these parameters and have few left for the programmer and end user. Some programmers think this removes creative options from their work, but I think there are still pleanty of difficult decisions to make, such as user models and functional representations. Ken Lee -- klee@daisy.uucp Daisy Systems Corp., Interactive Graphics Tools Dept.