After deciding which pages will require CGI interaction, the approach to the problem can be a traditional CGI programming task, or it might be a unique solution tailored to a difficult problem. For example, two separate projects the author of this document is developing require the creation of a visual database system which interfaces directly to the Web. The solution being approached is to produce a modular system which can relate different tables of data together by matching fields, and which will return queries in a number of different formats depending on the arguments given, thus allowing for the creation of customized reports. Designing the method of CGI to be implemented and how the user will interact with the interface is just one part of interface design, however. Visual organization, decisions about the types of controls which are needed, and planning what text and instructions belong on which pages are all aspects of the user interface design process when dealing with the Web.
Good design is a very ephemeral quality, reached only by the process of elimination.
The easiest way to get a running start is to take a good look at Web pages which convey their information accurately, easily, and make navigation and use a simple matter. Avoid getting sunk into metaphors which don't fit your purpose. If you're having trouble coming up with a metaphor for your pages, the key is don't force a metaphor on pages that don't need one . Usually, page designs work best when they're not having to conform to a metaphor. In such cases, good clean design is your best rule of thumb.