| This 55 message thread spans 2 pages: 55 (  2 ) > > || |
|Pros and Cons of Frames|
This is probably going to show up my ignorance big time... (It will also probably show my bias...)
Could you guys tell me why there is such a strong sentiment against frames. (It seems that many posts asking for help with frames start off with an apology, such as 'I inherited this site and need to do maintenance...'.)
Just as a primer, here are the issues I can see:
Disadvantages of using frames (for navigation, say):
- Bookmarking results in the index site being bookmarked, rather than the sub-page (Solution: Browser dependant. e.g. in IE right click on the frame to be bookmarked, rather than using the top menu)
- Search engine visibility (Solution: Put a good noframes section, including site map. Search bots are becoming smarter, anyhow.)
- Back button problems (partial solution: Use releoad() instead of href=...)
Disadvantages of using alternatives to frames:
- Code repetition (e.g. menus repeated on each page)... A pain to maintain (Solution: Dynamic or CMS generated pages, or some HTML editors may automate this ...but I use text editors ;-( )
- Slower page download (Solution: Not that big a deal if browser has a decent caching mechanism)
- Fancy CSS solutions are difficult/impossible to get working cross-browser, particularly if support for NN4.x is required
PS. Apologies if this is posted to the wrong forum. I couldn't figure which would be the best, so in the end I decided to post to the forum which would most likely have the strongest opinions.
Great post, Shawn. From my perspective, a lot of the prejudice comes from a few years back when search engines were much more stupid and DHTML solutions for synching the navigation cues were harder to trust.
I'll share my experience with "flattening" two framed sites, one with no content or graphic changes. I expected better search engine listings, and that happened. So I expected more traffic and slightly more repeat traffic because of bookmarking, and that happened.
But here was the big surprise. I watch a stickiness statistic for my clients - pageviews per unique. I thought this would naturally go down a bit, because I wasn't loading three pages into a frameset for one single page view.
But in both cases, pageviews per unique nearly doubled. That amazed me, but the stat held up, week after week.
I now believe that only some people really "get" what frames are all about - especially the more technically minded, left-brain types. For a significant percentage of the population framesets are a mind boggle. Frames are just too much of departure from the normal paradigm of a web page for these users to feel comfortable.
I've since had the joy of introducing my 82 year old (and very right brained) mother to the web, and I saw this phenomenon in spades.
To be even handed here, I've never tested a frame site that has all the protective bells and whistles that you outlined so well. And that might make a difference. But it's also a lot of work.
So for my work, I go the "easy" way and stay with flat HTML pages. Nearly double on pageviews per unique convinced me that no matter how much I may appreciate frames, there is a significant group who never will.
By the way, there are some situations where I still create framed pages, but I never a framed site any more.
In one case, several websites share a very large set of calendars. The data for the calendars is created without navigation and then each website frames it (or iframes it) surrounded by their own navigation.
This page is one of the highest traffic pages on the main website, so we know that it's working. But it's also a frequent exit page - hard to tell if that's because of the frames or if that's because of people having one single purpose when they come to it.
A similar use involves some software support FAQs that are used by multiple sites. So I do feel that there are some uses for frames, but I'm quite wary, because I've always seen business increase when frames are eliminated.
Perhaps someone has done a re-design in the opposite direction and turned a flat site into a framed site. I'd love to hear a report on how that worked out.
|Code repetition (e.g. menus repeated on each page) |
Just count the points on your own list: advantages of frames 3, disadvantages 5. Of course all can be solved somehow, but why make things more complicated than they have to be?
In fact, I broke out of frames because of AskJeeves. I had loads of visitors from them but no orders. Reason - orphaned pages, causing the shopping cart to break too.
Search engine visibility is better than flat sites. Think about it...you have extra sets of meta tags, title tags and so on... You can also break down pages into separate frames to increase keyword count for each individual file.
If frames are done correctly, people hardly notice that they are there at all, and increase the logic in the page layout. The problem is, people often don't use them correctly.
>>Search engine visibility is better than flat sites<<
I don't think so in fact I know so.
I inherited a couple of framed sites and both clients insist they stay that way but that leaves me walking through treacle as far as SE visibility progress is concerned.
You are fighting with one hand tied behind your back. There are many ways to improve both usability and SE visibility but in my experience, you never catch up the handicap/s of frames.
Of course the disadvantage of this is that the bots won't pick up the .js, so you will need to include a link on each page to a 'site map' file or something along those lines for the bots to follow.
Not sure if this is the ideal solution, but it worked when I recently 'flattened' a framed site.
It is very simple to have a bot friendly framed site:
3) In the NoFrames section of the index.html, reference all the initial framed pages. So you may have <noframes><a href="menu.html">Browse the menu</a><a href="home.html">View the home page</a></noframes>
4) The page references in the noframes section will have links in them and search engines will deep crawl you site.
It is not perfect, AskJeeves is a nightmare for framed sites. But working with "one hand behind my back", I managed a consistent top ten position on a highly competitive term and was in position one for months on Google, Inktomi and FAST.
The key to good web design is that you need to use the bare minimum that you can get away with. A web designer who specialises in Flash site design, should use Flash, but a marketing company should not use Flash for navigation (which is something I saw today).
Hi all, and thanks for all the input so far.
Ted, your 'pageviews per unique' phenomenon is very intriquing. I can't understand why it should be so... Maybe it is the 'webpage paradigm' you mention. Alternatively it is possible that some visitors might find the framed site easier to navigate, hence find what they are looking for without feeling the need to look through each page, in which case some may say the increase is a bad thing. Would make a fascinating research topic...
Sinner, thanks for the tip re SSI. I've just gone and searched WebmasterWorld and 'flagged' a whole bunch of SSI related threads for further study. Fun, fun, fun. I don't think it helps in sites which give navigation cues, however. You'd still need to manually paste the code into each page, and alter each page slightly to show which nav button is selected.
gsx, I take you point re AskJeeves. Most of the orphan protection code in common use just checks the orphaned page is not at the top. To do it properly, it should check that what is at the top is its legitimate parent...
So, to sum up the posts so far... Looking at the list of pros/cons in message #1, there don't seem to be any major additional disadvantages of frames, but at least one of those disadvantages listed, the Search Engine one, is very significant. Also, Ted's 'pageviews per unique' phenomenon is a very compelling argument. (The other disadvantages, I believe, can be solved. While solving them does take some effort, it is done once in a web developer's life and then should become part of his/her library, and that effort could be weighed up against the recurring effort of maintaining menus across multiple files in a flat site.)
I'm still not sure... Perhaps the way to go is to have the menu options generated (into a static webpage) by a CMS or some perl.
> Ted, your 'pageviews per unique' phenomenon is very
> intriquing. I can't understand why it should be so...
I'd bet this was due to attracting more higher quality visitors from the SEs after the removal of the frames. They'll click around more if they are pre-qualified better.
It is a waste of time to even bother with .js files or frames... just use php includes and all of your problems will be solved.
|"It is a waste of time to even bother with .js files or frames... just use php includes and all of your problems will be solved." |
Not really... You need both client side processing and server side processing. There are problems that one can solve that the other can't. Some sites need only one, some need neither, some need both. And then, for sites which do need server side processing, php is not always the right choice. I am a great fan of php, but I strongly believe that decisions need to be made based on weighing up the pros and cons rationally.
This is technology, and we are scientists/engineers/technologists. If we don't make rational decisions we risk becoming zeolots of one technology or another. No one would be dissatisfied or question, so there would be no progress, no new technologies.
So, if you can explain how you can write something like a simple calculator application with push-buttons in php, then we are probably at the point to debate whether php can compete with .js. But my view is they are different, good for different things, and live side-by-side rather than compete with each other.
never make anything simple and efficient when a way can be found to make it complex and wonderful ;-)
1) Wasn't the concept behind frames a speed issue of modems, hard drives and caching schemes which are not really issues any longer?
2) Aren't frames simply an out dated architecture?
3) Can they be a confusing end-user navigation system because of split screen actions?
IMHO - yes, yes, yes.
My heart loves to build framed sites I think they are cool and have a nifty high tech feel to me as a coder.... but the business rational against using them wins out every time.
|> Ted, your 'pageviews per unique' phenomenon is very |
> intriquing. I can't understand why it should be so...
I'd bet this was due to attracting more higher quality visitors
from the SEs after the removal of the frames.
That may well acount for some of it. Other stats that went up (although not double) were repeat purchasers and frequency of purchasing from those regular customers. So even those who bought from the framed site seemed to convert better after the frames were dropped.
This was a pretty good test case - albeit only one site in one niche market. The flattened site was identical graphically, except that the header and the nav bar now scrolled off the screen. The first page load looked the same.
"So, if you can explain how you can write something like a simple calculator application with push-buttons in php, then we are probably at the point to debate whether php can compete with .js. But my view is they are different, good for different things, and live side-by-side rather than compete with each other."
-"Of course the disadvantage of this is that the bots won't pick up the .js, so you will need to include a link on each page to a 'site map' file or something along those lines for the bots to follow." - So why go through all this trouble? php includes will be accessible to pretty much everyone, and the bots will pick the pages up as well. When it comes to navigation to replace frames and you don't want to manually update the menu on each page, server side processing is the way to go, and the easiest and most common is php.
Wrt frames as areas of major navigation and site design:
Sites with frames may have something in common with many all-Flash sites, in the sense that both frames and Flash can be used to represent a sense of continuity by having some part of the "page" that largely stays the same. And, by "stays the same" I mean, it doesn't go away and come back with each new page load, rather, it loads once and literally stays fixed.
If we want to help the users feel like they are *in* the site, based on the way things work in the physical world, we might assume that having some boundaries of the site (the frames) that stay there continuously communicates this containment, and that this can grant the users the experience of being immersed in the site.
But, I think Tedster is right in saying that, somehow, frames often DON'T match the user expectation/perception of how websites work. Is this just because the majority of sites don't use frames? Maybe.
I think there might be something deeper, where the perception of "continuity" on the web is so totally different than the physical world, that it is literally disorienting for some piece of a site to just sit there continuously, without changing with new page loads.
I think it actually makes more sense to us somehow for new pages to completely reload, and that this is because we somehow perceive time on the web as starting fresh with each page load. Does anyone else sense this?
Wrt interaction design, like in filling out forms and other "task completing" behavior, sometimes frames are good or necessary to help users complete tasks where, for example, the frames allow the task-to-result flow to happen faster.
Personally, I avoid designing/building with frames, but am glad that there is the option to use them, because sometimes, a frame does the job best.
Sorry, MWPro, I misunderstood your post. Now that you put it in context, my reply makes me look like a bit of an idiot.
About SSI for navigation:
|I don't think it helps in sites which give navigation cues, however. |
In ASP it is quite easy to make a small script saying If ActualPage = NavigationItem Then img="nav_item_highlighted.gif", Else img="nav_item.gif".
I'm certain the same result can be reached with PHP or even JS.
What percentage of your sites that your build use frames?
Mine is about the 0% mark. Used to be slightly more.
I'm a newbie to this forum, so forgive me if I appear naive. I am ...
Why, throughout this discussion, has there been no mention of templates? Easy site updating, no frames, description and stuff can be setup to be individual, 'same page' look and feel that comes with frames. I *did* experience some trouble trying to get a drop-down js menu to work, and eventually scrapped it,
a caveat...I am talking about self-created templates, not those ugly, useless, wrong-coded, cookie cutter thingies. I have my pride.
<sorry, no personal URLs>
[edited by: tedster at 7:00 pm (utc) on April 16, 2003]
Great thread. Two points I'd like to add:
2. I think the big prejudice against frames has much more to do with their misuse than anything else. Again it comes down to assumptions about your user's environment and behavior. I've seen sites with a vertical non-scrolling frame that contains the site's navigation, but at my screen resolution part of the menu is cut off and I can't get to all it. Or the right side of the menu is cut off. Or a thin horizontal frame that is too small because the fonts render at a different size on my system than the designer intended. etc, etc
Frames certainly can be used very effectively however. I once created a page with several scrolling frames so we could present lots of different data in a compact area. It was very effective, though this was on an intranet where we were able to dictate the minimum browser/system requirements. I wouldn't of built that same page on the web.
But now, in this day and age, I can see CSS (scrolling boxes) replacing frames altogether. Why not use a CSS layout that degrades nicely instead of a frames layout that doesn't degrade at all?
This thread is a very good overview to cover the frame theme. Thanks, everybody.
As gsx said (msg #8:)
|The whole point about frames is DO YOU NEED THEM? If the answer is no, don't use them. |
Crucial point for me: to solve all frame-related problems you'll have a lot of extra work to do. So I use frames only if they can really do better for a certain function.
I'm not so sure that frames even belong in the HTML spec, in the long term. We haven't really touched on this so far in the thread, and we shouldn't go into any explicit details that might teach dirty tricks, but frames have a very checkered history, especially the 100% and 0% kind.
All kinds of exploits and dirty tricks can be run on people [and search engines] via frames and iframes -- although most of the personal exploits also include some kind of scripting.
In my most radical moods, I think that browsers should just stop supporting frames right now, but I know that's not practical. After all, I'd have a lot of re-coding to do if that happened.
[edited by: tedster at 10:06 am (utc) on April 16, 2003]
As a none techi user, I never liked frames. The web sites that used them always seemed to be stopping me doing what I wanted, see what I wanted etc, and a significant % of the time, looked wrong on my computer. They seemed to be trying to take control.
Then when I came across the ask jeeves problem, that annoyed me as it broke my shopping cart too, and I had to get a fix.
As has been said a couple of times now, a php include is available to most, and is so simple to use.
I never got into templates, except on someones site in front page, and because of that I am biased against them... probably unreasonably!
>>but frames have a very checkered history, expecially the 100%
I contracted a little while ago to re-optimize two sites that used the 100% variety. Both of the sites had slipped from the top ten to the top 50 for their phrases. After removing the frame source and reworking the code to get it to validate the sites started climbing in the ranking again. The page sizes dropped from 30-40k to around 11k. Both sites are now written in XHTML and CSS.
Add scripting? Just to make sure frames get pulled? Add noframes? Huh? What? Isn't the idea to get pages as lean and mean as possible?
I've been taking a minimalist approach to SEO lately and it seems to be working. Fewer nav choices, fewer pages, smaller pages, fewer graphics, more emphasis on text presentation, putting as much info above the fold as possible. When I hear that frames are needed I start thinking of sites that want me to scroll forever down some nav element so I can find what I'm looking for. Don't make the punters look for anything. Put the info right in their faces.
I'm interested in hearing about sites that need frames. To me it seems that restructuring the IA would be a better fit than adding a frameset. Multiple sites rather than one large site? Subdomains?
Just a few notes:
Back button problems (partial solution: Use releoad() instead of href=...)
|Search engine visibility (Solution: Put a good noframes section, including site map. Search bots are becoming smarter, anyhow.) |
Most major search engines are beginning to play down or ignore noframes as it is being used for spamming. Similar to the keywords meta tags.
|Code repetition (e.g. menus repeated on each page)... A pain to maintain (Solution: Dynamic or CMS generated pages, or some HTML editors may automate this ...but I use text editors ;-( ) |
Solution : Server Side Includes.
|Fancy CSS solutions are difficult/impossible to get working cross-browser, particularly if support for NN4.x is required |
Just like EVERYTHING in life. You need to learn. Once you have developed the skills this is not an issue.
Another Disadvantage To Frames
Most 'special needs' browsers (especially the sector leaders) don't support frames.
digitalghost, there are some sites that do require frames.
My opinion is that 95% of framed sites do not need to be framed. My opinion is the same on Flash and rollover effects. The trouble is that these problems are due to relative 'newbies' in web design. They see a feature of HTML and they MUST use it! (Like 1997 style) They don't always work for small companies either - I see pointless frames and Flash in huge international commercial companies who don't think twice about spending one hundred thousand dollar on a couple of adverts but their websites are terrible and a disgrace to the web design community.
Jayjay I think you are right on with the subtleties of the user experience. Sure frames can work well, sure there are places where they may even be the best tech solution but I will still put my money on your insight of user perceptions.
"I don't think [SSI] helps in sites which give navigation cues, however. You'd still need to manually paste the code into each page, and alter each page slightly to show which nav button is selected."
Not necessarily so - you can implement SSI in PHP automatically without having to insert server instructions on the page: see this thread:
| This 55 message thread spans 2 pages: 55 (  2 ) > > |