Controversial Web "Framing" Makes a Comeback
theodp writes "The WSJ reports that the controversial practice of framing seems to be making a comeback on the Web. Big sites like Digg, Facebook, Ask.com and StumbleUpon have all begun framing links recently, joining the likes of Google, which employs the technique for Image Search. Long ago, Jakob Nielsen argued that 'frames break the fundamental user model of the web page,' but, today's practitioners contend, 'it's a feature, not a bug,' and say it provides publishers with massive distribution they wouldn't otherwise have."
stick this in the head of your page
<script type="text/javascript"><!--
var _tl=top.location,_sl=self.location;if(_tl!=_sl)window.top.location=_sl;
//-->
</script>
"It's a feature, not a bug" would make sense if we were talking about something that actually arose as a bug. People don't think about what they write these days, they just let out torrent upon torrent of brainfarts.
If the frame has a button or such to close it, I don't have a problem with the frame.
Don't listen to the web of lies. Whatever it says about me, I didn't do it. I've been framed!
I blame Bill Gates and Microsoft -- they're framed for everything else! :D
Be relentless!
It's a bug not a feature. It's pointless, stupid and annoying.
Facebook does it (with some links but not others) - and there's just no point to it. The link opens in a new tab and the old tab is still there. It might make sense if you were going to open the link in the same tab, but you're not.
What possible advantage is there in opening a link in a frame in a new tab - apart from annoying users?
Anyone who frames my content is in for a world of pain. I'll put a lien on their house and kill their dog.
I first started seeing this in Facebook. It was getting pretty annoying to have to close out a frame in order to see the web page at the full size of my browser window. Hopefully, these companies that do this realize that it just irritates people and doesn't improve the visitors' experience.
I assume we are talking about i-frames here, not setting out an entire page using the old-fashioned Frameset method. Frameset layouts were a nightmare in many ways and their passing is a good thing, but using an i-frame to show some or all of a separate webpage on the page you are viewing can be very useful, and is perfectly kosher in terms of valid HTML and CSS as far as I know.
Smivs on the intertubes!
Next they'll be telling us they're using HTML tables to do layout...
It all depends on what the outer frame does. If it adds value to the link - e.g. as Google Image search does, which shows you the picture/allows you to magnify it - then I think that framing is a good idea.
If, on the other hand, it is just there to try to 'keep the users on your site', then it is plain annoying. If this comes back, so will the frame breakout scripts.
In any case, a 'close' button should always be provided.
In my opinion, the way Google Images frames external sites is exemplary, and should be the way others do it too.
If this weren't slashdot, I'd say you were plagiarizing TFA.
IMO there should ALWAYS be an option to turn this kind of thing OFF. Then, what's the problem? Bonus points for a prefs link by the escape-button. What, no escape button? GET THEM.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Jakob Nielsen argued that frames "broke the fundamental user model of the web page" ... back in 1996. Sorry, the user model of the web has fundamentally changed since then.
For example, in the google image case, I really like the frame because it serves an important purpose. Often times it takes much longer to load the target page than the top frame. If that loading takes too long, I can just click the "See full size image" to go directly to the image without having to load the whole page.
In any case, I always was amazed how Nielsen was heralded as this guru of web usability. He may have been early to the game, but I always thought most of his recommendations were bad. Just take a look at his website, http://www.useit.com./ Besides being god-awfully ugly, the lack of any real borders or section boundaries makes it really hard to find information quickly.
I want FRAMEZZzzzzz...
Donate free food here
I primarily use rss feeds to find new articles. I was tracking digg by rss until they started framing.
I immediately dropped all news feeds from them and avoided using their site. Once I read
that digg made frames an opt-in feature, I added Digg back into my news reader.
If I find some other site(like Slashdot) were to do the same thing, they would have one
less set of eyeballs looking at their site.
Aside from Google Images, no frame has ever been useful. It's just some lame site's way of keepin gme tied to their shitty site.
Google Images, on the other hand, has increased porn hunting efficiency by at least 200%, imo.
Wow, www.useit.com is a terrible looking website and difficult to use. Why in God's name would anyone hire this man? A useability review from him is something like $38,000. That would be the biggest waste of money ever. Definitely wouldn't trust his services after seeing this website. Also, why after making a comment and hitting the preview button does it take 40 seconds before I can submit the comment. Slashdot has become the most annoying site to submit comments at (yet that is one of the main points of the site).
Someone write a greasemonkey script to remove these irritating frames please
I've always liked the idea that one client area (the inside of a window or frame) should have one purpose. So using a frame for a side menu is fine, I think, because that function is separate. Admittedly, we've not managed to replace frames and iframes with embedded components just yet. User controls were not recursively composible like frames are, and java or flash applets are created in a separate language. Having an iframe for an interactive control like an image upload control works really well.
What I dislike is when one client area has many functions, like a bar below the title that allows one to log in. The modularity that frames provide is great and serves to keep things separate.
Frames are useful for web UI, but cross-domain frames are a bad idea.
If it bothers you as a site owner, just like you can add your robots file to ditch search engines, one line of JavaScript will break you out of it.
if (top.location != location) top.location.href = document.location.href;
Granted, the experience still sucks for users of sites that don't have that and have the framing breaking their user experience assumptions. But at least it's a fix for site owners who dislike it.
... and by "feature" we, of course, mean "it makes us money, so f*ck off"
Jason-Palmer.com
Does anybody else have problems with flash/videos not playing in frames when flashblock is running on firefox3.5 on linux. /minefield(64)+flash(64) , ill just shut up and eventually get round to fixing my mess or reopen the bug report i closed when it work for while the otherday
I have an entirely 64bit system here and don't have the time to be messing with 32bit stuff, so if somebody could tell me it work for them on linux with minefield(32)/minefield(64)+nspluginwrapper
IranAir Flight 655 never forget!
Let's see why they want to do this. Is there some specific click behavior that frames enforce that forces additional clicks to ad pages? Or that significantly reduces bandwidth for the servers?
I admit that most frames are very, very badly designed, creating incompatibilities with browsers.
Back when frames last reared their ugly head, I noticed that many of the sites that were using them were doing so to wrap other people's content with their ads. Then came frame-killing code (the bit of JavaScript mentioned elsewhere being one example).
Did the content thieves just lay low until we got lazy and forgot about them?
Have gnu, will travel.
You do know that, at least for Digg, you can disable it. I did. I hated it. Of course, Digg is not at all what it used to be. Which is a shame....
It's either on the beat or off the beat, it's that easy.
I moderate therefore I rule!
--
Our software which is web configuration tool for a our routers, is totally based on frames. Our http server is very minimal, access to flash could be slow, Impossible to dynamically generate pages content on the server side. Thanks to frames we were able to resolve these and other issues.
This practice is just wrong. It breaks meaningful URLs, no, it breaks the whole concept of URLs. If people want metaservices for random webpages, they should install an extension or toolbar or save a bookmarklet, period.
To fight it, there should be a public service that maps framed URLs to the original URLs. On the first query for a framed URL, it would scrape the framed page for the src of the iframe or whatever it is (using a public database with framing site specific selectors), and cache it for subsequent queries. With tinyurl &c it's even simpler, just follow the redirect. Such a service could be used by a browser extension or userscript to transparently convert all links on all pages on load. It could also be used to clean up submitted content in blog entries and comments, so people have a bigger chance to spot the goatse before they click. Of course it will never catch all redirecting techniques, but if it defeats the big players that would already be something.
I think framing is okay for cross-referencing content from other pages. like facebook does, or google image search. let the main-part of your page be still your page (the top, the left, what ever), and show the content of the target-page in a frame.
But I agree it would be nice to have a close-button for frames always. firefox developers, put this on your list :)
Comment removed based on user account deletion
Didn't Digg stop this when they got a flurry of smack-down?
Frames suck! Period. It's bad enough that MySpace relishes their circa 1996 page styles now this?
if (top.location != location) { ;}
top.location.href = document.location.href
intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
So what is an unintended desirable behavior?
Programmer & ContentGuy: "This Bug Sux!"
Marketing PHB: "That's great for me!"
My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
"... it provides publishers with massive distribution they wouldn't otherwise have."
I say, "It provides publishers with distribution that people don't want."
Seriously: it pisses me off to no end when someone gives me a link on Twitter, and it turns out to be a Digg frame with a site inside of it. I immediately get rid of the frame, because I do not want Digg to be following my movements on the site. And that must means that I have to load the page twice... once in the frame, and again out of it.
It is a major pain in the ass.
False choice. There are other alternatives -- CSS sheets and tables. If you need to update content without reloading the page, AJAX is more efficient than reloading an entire frame in many cases. And none of these things put more load of the HTTP server on the embedded system. In fact, they often put less load on it.
Frames made it very simple to have you web content broken up into nice blocks. You could do all your navigation in one frame, that meant, one file contained your menus. You had one file to edit and you could produce a well defined, well behaved navigation system.
With the jihad against frames we were left with two options:
ALL of this could have been solved by having the HTML spec provide a #include tag that would tell the browser to fetch that file eg: but no one seems to like that idea anymore then they likes framsets or iframes
As to Jakob Nielsen saying it breaks the user interface, that guy needs to get over himself in a big way. The web is evolving and changing all the time. As so many have said, the browser is not simply a page reproducer any more, those days are long gone, it has become an application container that allows applications, served from without to run in a defined and "secure" ( we hope ) application space on the local machine.
I for one advocate forking the whole notion. It is time to create and application shell that is specifically designed do just run applications of some specification. I propose that this can be done by making a tag to go along side as the top level tag and call . This would allow the "browser" to take one of two immediate actions:
Further I propose that the navigation portion of be ported out to the browser and you simply load the elements of the menus and it is fed by a separate channel much like XMLhttprequest.
Hey KID! Yeah you, get the fuck off my lawn!
Well as TFA gives several examples of, there are good uses of such frames. That's the problem... there IS some value here in many cases.
But reading this I think it's clear that we need a browser feature here. That is, something between an extension and straight HTML.
It could even just be that they use the code they already have for backward compatibility but add some kind of hint like 'toolbarframe=true' (ok, that's terrible, but you get my point) It has to identify in the frameset which part is a toolbar and which part is a 'main' page.
If that's present, the browser realizes this frame is supposed to behave like a toolbar. So it:
a) Adds some kind of display of the toolbar URL and an 'x' to close the toolbar 'frame' and automatically go to the main site.
b) Uses the right 'target' URL for the main forward/back/refresh/navigation bar etc., without dropping the toolbar... Basically be aware that it's using frames as a persistent wrapping, not as some other part of layout.
c) Becomes a feature you can explicitly disable in your browser preferences to have no frame toolbars.
Then shame any providers who don't use the hint. Google will figure out how to PageRank the right internal sites with those hints pretty fast, I'd say. Content providers will have no more to complain about than they do with any other toolbar.
Looking for freelance Actionscript (Flash/Flex) or ColdFusion work and/or freelance developers. Email me, put Slashdot
That would imply the iframe is a necessity or in some way desirable outside an extremely small (and shrinking) niche.
So, no. And please do not insult me like this in the future.
-Web Zombie
are you sure you're posting on the right site using words like "content thieves"?
It's not stealing... it's not even copyright infringement (given that your page is publicly available). It might be against some manner of ToS if you serve the page behind a login and some other site uses that login and then re-serves it to the public (no, a 'public' ToS is pretty much moot). Maybe you could argue a misrepresentation or, worst case, fraud scenario.. but 'content thieves'?
=====
As for frames.. they're not all that evil - they were quite useful for things like having a static navigation bar before DHTML and the DOM were finally mature enough that you could use javascript to keep a menu stuck in pace; but those break whenever the user doesn't have any javascript.
Frames also don't break navigation as long as you set the browser address correctly (without reloading the page was tricky, iirc).
I do agree that using them to simply wrap another site's content without adding significant functionality (a la Google Images), is utter crap.
You can 'close' the frame, meaning that you can reload the entire original page. I do this if I get a stupid framed link, because I don't want to have to research how each site's framing may or may not be stealing link juice, but it's pretty fucked making me load every damn page twice just to see what url I'm visiting. To me, these frames are equivalent to someone sticking an advertisement on my shirt without my permission...a generally gaudy, fucking irritating advertisement that means people can see less of my shirt at any one time. Sure, it's not a perfect analogy.
Facebook, Plaxo, Microsoft, FriendFeed and others are working on making the Open Stream API a reality. This means websites can aggregate and share your online activities with each other.
I built several sites that used iframes. All the content came from the same site (mine), and the iframes meant not having to load the whole page repeatedly just to change some small aspect of it. This was before ajax was around, and is arguably safer than ajax anyway. One site was a formula 1 racing results page, where each frame had a different aspect of the results displayed (list of driver names, driver images, team logos, drivers scores, championship points, team championship points, etc). By clicking a link in any frame, the results were directed to the relevant frame(s), all on the main page. Saved lots of loading time, and kept everything simple and tidy. As far as I was concerned, there was no need to deep link to any particular combination of content as it was regularly changing content anyway. It was all run using simple 1 task perl scripts and mysql behind the scenes.
By breaking out frames, got it covered in a blog post which was written because Digg didn't support rewritten url's of my new blog URL.
It's quite annoying behavior and I'm not very sure Digg is all-in-frames; since it's system doesn't (or didn't?) support 302's, while frames would.
Imagine, a site changes structure, while Digg isn't allowing the old articles to be accessed under the new URL. Their system protecting against misusage are giving legit people a headache...
--- I am known for the ones who want to find me on the net. Is that a privacy risk or a privilege? One might wonder..
Giving every file a frameset breaks the purpose of frames in the first place.
I've seen this happen since the times of the Old Good Netscape 3 and 4. The visual effect of it is, that if you click on a menu item in the frameset, only the target frame changes contents. With frames applied to every file, every time you navigate to a new page, the whole viewport blinks into the new frameset, multiplying the number of requests with the number of surrounding frames and their contents.
The purpose of frames was to offset the demand on servers, as a good number of web designers back then were not aware of Server Side Includes and this made it convenient not to use server-side (and server-based) implementations in the first place, especially if the website was sufficiently small. The other advantage with frames was that only the content part could be scrolled, while the menu was kept static and it did not have to be requested again.