> I almost hate to mention this, but has no-one told you that users
actually hate frames anyway and that they are not a very good way of
doing pretty much anything at all in a browser?
I contend that frames, when implemented responsibly and under appropriate
circumstances, enhances the user experience. Take for example a site that
offers vocabulary and definitions. A page designed with frames could have
the vocabulary terms in a scrollable list in the left frame. When the user
clicks a term, the definition could show up in the right-side frame. The
benefits to the user come when the user selects a second, third and fourth
(etc.) term to see defined. The list of terms is already on the page. The
user doesn't have to click the "back" button to leave the second page (which
would have the first definition), wait for the reloading of the first page,
then find his place on the list before he can click a term anew. As a user,
I know that I dislike waiting for a page to reload when I could have had the
information stay in place during the time before I return to it, if it's
likely I will return to it.
Some might object that in circumstances such as this, all of the information
should be on one page. This solution might be impractical. A page with
dozens (even hundreds) of terms *and* their definitions might be over 100K.
The initial loading would take a long time. If the user wants to click just
a handful of select terms, that's a lot of wasted bandwidth. With the
two-frame solution, fewer bytes are transferred. The definitions might be
spread over a dozen or more HTML documents. (When I've done something like
this in the past, that's how many pages I had. The answers can be divided
into individual files for "A-B," "C-D," "E-F," etc. Files for answers for
terms starting with letters not selected at all by a particular user, would
never be downloaded from the server for that user.)
In a single-frame equivalent to this, listing the definitions directly
beside or beneath a term would mean that the definitions would be visible to
a wandering eye a split-second after the user sees a term for the first
time. This is not ideal for classroom situations where it's desirable for a
student to think about an unfamiliar word before mulling over what his
existing knowledge leads him to think it might mean. Withholding a
definition until a user click brings about the desirable. Even if the page
were configured so that the user has to click a link which takes him further
down the page where the definition is (as often happens in Q&A formats),
then clicks a link to return to where he was, we're again talking about a
much larger initial download than necessary.
(For what it's worth, I suggest that in a case such as this, the list of
terms be put in a frame set at a fixed width of 200 pixels, with the
right-side frame getting the remainder of the frame, so that people with
bigger screens don't see a whole lot of blank space to the right of the list
of terms.)
--
David Hayes
(remove the name of the programming language from email address to make it
usable)