I thought this might be interesting for those of you that may have framed sites.

Why are frames so evil?
Frames are evil. Frames supposedly make the webdesigners job easier, but they cause an increased maintenance overhead. Frames supposedly creates a better interface to a website for the end-user, but they cause severe usability problems.

Its common to see frames abused by newbies in implementing a left-hand menu and top banner layout with the mistaken belief its easier to maintain and makes downloading quicker. There are numerous problems this implementation raises typically related to the paradox it creates.

To make-up for the usability deficiencies, many framed websites use some client-side techniques which cause further maintenance nightmares. There is a definite usability versus maintenance trade-off with frames, which make it a difficult technology to manage well. The alternatives available have none of these drawbacks, thus frames are a sub-optimal, and typically backward solution.

Most of this "usability"-hacking of framed websites results in a complete dependancy on Javascript - another evil. Considering the on-going problems related to Windows lax security model (in the OS, Outlook and Internet Explorer) and the exponential growth of scripted worms and viruses (Melissa, Love Bug, Kornikova, SirCam, Code Red, Code Red II, Code Blue, Nimda), this convinces a greater number of surfers switching off Javascript entirely, which in turn causes a framed and scripted site to die a rather horrible death in the browser.

The perceived benefits of frames are:

Quicker to download, since the menu and banner don't have to be reloaded each time.
Easier to maintain because the content is separate from the layout and navigation.
More usable since the menu is always visible on screen
The Web Paradox of Frames
The web was built as a network of addressable resources (typically of information) where each resource can be identified by a unique URL. Frames breaks this architecture because now many resources are grouped together under one URL (the frameset URL), but only one resource can be shown (typically the default page defined in the frameset).

Bookmarking
When bookmarking a page, visitors expect to bookmark the exact page of information, but the frameset gets bookmarked instead so when users follow this bookmark they then have to hunt for the relevant page every time. This is the drawback of breaking the Web guideline of a one-to-one mapping between URLs and resources.

"Also, you're right. It is annoying when you try to bookmark and its always the original frameset page. I got around this by having each section of site being its own frameset, so you can bookmark each section and go back to it." - the author here now needs to create a frameset for every potential combination of pages, typically one frameset per page of content. There goes both the quicker to download advantage and the easier to maintain advantage.

Search engines
Search engines have problems with framed websites because of the frames paradox. This results in unframed pages being indexed and linked to, so typically the user sees the first page without the frameset, and typically without navigation (known as blackhole pages). By adding navigation links to the content, the developer has lost the advantage of separating content from presentation and navigation.

"Many sites atempt to get around search engine problems by creating a doorway page full of your keywords, and then redirecting to the frameset" - Going from the frying pan into the fire, aside from the fact that this in direct violation to most search engine terms of service and will get your site banned or heaviliy penalized when your competitors begin sending complaints, this technique pushes all search engine traffic to doorway pages, effectively duplicating the content. The visitor is then expected to manually surf through the frameset finding what they were supposed to get to from the search engine. Not a good visitor experience plus the overhead of duplicating maintenance. If you are going to create doorway pages, then it makes a lot of sense to put the actual content there and forget about the frames entirely.

"You can redirect unframed pages to pages within frames using Javascript" - Of course, now usability and accessibiliy is being forced entirely into a reliance on Javascript.

Hope that answer some questions
Rich
Real Estate Websites
Search Engine Optimization

[This message has been edited by Rich@vtws (edited 06-01-2004).]

[This message has been edited by Rich@vtws (edited 06-01-2004).]