Frames - good or bad?

When is it right to use frames in the design? Start with the following test:

  Yes No
Do you know what "target" does?
Do you know what target="_self" does?
Do you know what target="_parent" does?
Do you know what target="_top" does?
Do you know what target="_blank" does?
Do you know what target="somename" does?

If you ticked off in "No" for any of these questions, it's too early for you to start using frames in design. One of the reasons frames are despised, is how badly people seem to use them. How many times haven't you discovered that when you click on a link to take you away from someone's pages - you're still in their frameset? While it's easy enough for most (?) of us to get out of, it shouldn't be our responsibility. It should be the one who made the pages.

Other mistakes include where the text shows up in the menu-frame, or where every link opens up a new browser window. This is incredible annoying, especially if you sit on a slow machine. Some times this might have be en done in an attempt to get a cool effect or something, but I'm sure most of the times it's based in little knowledge of how frames works.

Design with frames

But those things can be learned. It's worse when the design is horrible, and little thought out. And believe me, there's plenty of those homepages.

One thing often seen is the use of too many frames: One at the top for the title, one to the left for the main menu, a frame on the bottom may have space for another menu, or an advertising banner. Maybe, for the sake of the design, there's another frame to the right so that the content-frame can be centered. Those surrounding frames must be big enough for the content in them to be readable, but there's no danger: It all looks nice.

Or does it? What does it say here? "Best viewed in 1024x768" - I thought the contents-window looked rather small in 800x600 - and what about those with 640x480 - or even smaller resolutions? Oh yes, they exists, and not necessarily with old, outdated computers. Maybe they use WebTV or other such devices? Or PDAs with really small screens?

If you use frames and want people to visit your pages, don't assume they have large resolutions. Don't even think they want to change their resolution to view your pages, no matter what you have - it's much easier to leave. In other words, let the content in your site occupy large space. Menus doesn't really need big space, do they? And is it a good idea to see the title of your page all the time in its own frame? You can make sure with the design otherwise that it's easy to see they haven't left your page - better to remove that frame and let the content get the space.

Apropos leaving your site: When you add links to other places, do you really send your visitors away?

Where's the target?

Some, or unfortunately rather many, people have the targets on their links set perfectly within the site, but also find it a neat idea to let outside sited be framed within their frameset - that way the visitors would never leave their site. This is a bad idea.

One thing is that it annoys most people to be stuck inside a frameset that has nothing to do with the site they're visiting. That is to put it mildly. A reaction to this may be not to visit the site that created the frameset again. It's simple to get out of it, you say? Yes it is - if you know how, but not everyone does that. And it may not be easy in every browser either, there are many of them in use, even if Netscape and Internet Explorer are the two largest.

If people are stuck in a frameset, and don't know how to get out, they will not be able to bookmark sites they visit, either.

Where was it again?

Bookmarking is a problem with frames. If you find an interesting page you want to bookmark, after you have visited various pages in a frameset, you have problems. If you bookmark as normal, you will put a bookmark on the pages that started the frameset, not the one you're seeing now. It may be relatively easy to find that page again in a small site, but it gets harder the larger the site is. And if the page is at another site, trapped in an alien frameset, it may be impossible to find it again.

You only do so and so to bookmark that one page? Yes, in one or two browsers maybe, but not all, and again not everyone knows it's possible, not to mention how it's done.

OK, what more is bad?

I will only mention one more thing about that here, but it may be important to know to make a decision: Framesets aren't understood by most search engines.

What does this mean for you? If you use framesets on your site, you will have to implement them carefully to ensure the search engines will index your pages, so that they can be found and visited by other people. The trick is to utilize the <noframes>-part for some real content. Make it possible to visit all your pages by starting here. In its simplest form, you place a menu here, linking to all your pages or other menus used within the frameset. This is much better than nothing or the text "Upgrade to a browser that support frames." With a bit of thought, you don't only help yourself by making it accessible for search engines, you're also making it accessible for those who can't use frames - there's still those, and it doesn't cost much.

So, it's just to add that menu in the noframes-part,and it's all good? Well, not quite... Remember, your pages can now be found on search engines, but people won't necessary start at your index-page. What if they start at your page about your hobbies? Is there a link back to the start there, so they can enter your frameset? If not, it's a good idea to add one.

Good or bad?

I suppose frames may be useful sometimes, but it does require some good and careful thinking:

Just to mention a few points. Points in favour of frames? Updating only one file to update the menu visible on many pages - but that can be done with tables (or CSS) and some kind of pre-processing, or a global search and replace on many files. But you may think of good points yourself, even if I don't find them...

Be the first to write a comment


Write comment

The only HTML accepted is <strong> and <em> - all other tags are stripped from the comment.


Title of comment: