FRstyle - a Firefox extension

Project goals: dynamically rewrite pages from FreeRepublic with client-side scripting to present a flexible modern interface.

Feature
Status
Allow automatic inlining of excerpted articles to embedded IFRAMES. The IFRAME can be resized via a +/- pair of images next to it to make it grow or shrink.
done
Allow automatic inlining videos from YouTube & Google Video, replacing links with an embedded player on the FR thread while preserving the original link as well.
done
Fully restrict page modifications to non-news threads, detect old thread that are too old to be modified and leave them unaltered.
done
Modify all relevant tags (header, footer, article, reply elements like To's, From's, etc. with proper ID and CLASS attributes so users can modify their own user CSS style sheets to change the colors, borders, margins, backgrounds of all page elements.
done
Allow users to modify their own custom CSS style sheets to modify the To and From tags on a per-user basis. Essentially, you could make a simple entry to make your own posts stand out more via larger or differently colored text. You could also use this to place other users on an Ignore list, effectively causing their comments to become invisible in the thread.
done
Embed a simple CSS editor with Preview capability for easy CSS testing and a button to Hide the editor temporarily. Also a button to list Classes in the page. Put in Greasemonkey menus to save a default style sheet or to reset to the original hardcoded default sheet.
done
Provide a control panel or popup menus to control various elements of the script (colors, images, layouts). Configuration info will be saved on local machine.
done
Convert all previous work into a full-blown Firefox extension.
done
Provide easy user-defined image blocking to alleviate spam annoyance.
done
Create a mini-editor for HTML with live preview, similar to the Xinha WYSIWYG HTML editor extension for Firefox.
done
Provide a facility so that when you right-click a Reply button on a news thread, you are presented with a pop-up menu allowing you to copy the HTML of the original post or just the text you've highlighted and automatically insert it into the reply posting page. Essentially, an automatic quote-and-reply function.
maybe
Allow the user to edit new posts inline by dynamically opening an IFRAME on the page thread with the usual posting page. After the user clicks Submit on his comment, the script will close the IFRAME and refresh the current page so the new post will appear.
maybe
Automatic updates of the My Comments page and possibly other pages at a user-specified interval. However, this auto-update would lapse if those FireFox tabs had not been used in the last half-hour. In addition, I might offer the ability to sound an alert or perform some other action if the first item on the page had changed since the last update.
maybe





Changelog:

See the images below to see a sample of what Firefox's GreaseMonkey extension and Javascript can do with a page from FreeRepublic.com.

Currently using: Firefox v2.0.0.3

Note: this script is not yet available to the public but may eventually become available via secure server at https://addons.mozilla.org.


Recent Changes, Screenshots

From: 04/29/07




From: 10/20/06


From: 10/20/06

Embedded CSS editor, load/save/reset CSS sheets, display class lists

10/20/06 screenshot

From: 10/18/06

Both YouTube and Google Video are now working and will automatically embed themselves in FR threads.
(FR thread: YouTube, Google, and the Liberal Bias Virus)



10/18/06 screenshot
From: 10/16/06

Showing the new collapsible IFRAME
(FR thread: U.S. confirms N. Korea blast was radioactive

10/16/06 screenshot

Client-Side Scripting: Website Abuse And Legal Issues

Although any website is susceptible to DOS attacks and bandwidth hogs, client-side scripting can be abused to hog bandwidth or to spam a website or to build databases of content.

Due to FR's history with LAT and WP, there are also legal issues to explore.

I'll explain and discuss these issues briefly, primarily to answer questions and objections people might have to such a script and, secondarily, to stimulate more discussion on the topic. I don't expect to post any discussion threads on this topic at FreeRepublic in order to shield them from any liability issue.

Bandwidth hogging
With the release of the very popular FasterFox extension for Firefox, the issue of script-driven page loading becomes a concern. FasterFox is very popular with users but very unpopular with webmasters because it is a bandwidth hog.

FasterFox is used to read a webpage as it loads and then to read all the links on the page and to open them in hidden form, like in invisible IFRAMES. These pages are not shown to the user at this time. But they are in his cache! So, whenever the user does click on any link from that page, he will instantly arrive there and all images and other elements will appear immediately, being loaded from his cache. Since Internet Explorer's share of the browser market has fallen to 84%, Firefox (and other Gecko browsers) account for about 14% of the remaining market. If a significant number of users on any website (like FR) used Firefox with the FasterFox extension, bandwidth will skyrocket.

A script like the one I'm writing could also be used in this way. For instance, you could use it to immediately read all the pages linked at FR and invisibly load them (or just create IFRAMES) for them. So you might enter a popular thread with 2000 posts on it. Currently, you only load one page with 50 replies. But a script could read the links to all those other pages and load all of them, either into the browser cache or into IFRAMES. Our hypothetical thread of 2000 posts could then be loaded in one single web page with 39 resizable IFRAMES embedded in it, containing the remaining 1950 replies. The entire thing, all in one shot.

It's pure bandwidth hogging. I won't write scripts like that and I don't run FasterFox. I assume that FreeRepublic already has some form of bandwidth-throttling to prevent gross abuse by such scripts and I assume that users are tracked by bandwidth usage so that they can't hog the site's servers and bandwidth.

However, if I had the permission of FR's management, I might include such a feature but only if the user were forced to manually click each IFRAME separately to make it load.

But I don't expect to write such scripts.

For those who might argue that a script like mine could be modified and abused by others, I'd point out how many extensions and scripts already exist that can do the same functions. For instance, in Firefox, you can highlight a group of links with the mouse, right-click, and select "Open all links in new tabs". This would actually do the same thing as I mentioned above, opening 40 pages at once. Or any FReeper could be running FasterFox, again, hogging up bandwidth.

So avoiding writing scripts whose primary goal is to provide convenience features for FR is no solution. Those who are going to abuse the server will do so anyway with the use of other scripts/extensions or spidering programs. One assumes that FR protects itself from such abuses and throttles abusive browsing like any other major website does.

Legal issues and profit models, the evolving Internet
It might be argued that the embedded IFRAME scripting I've done to embed the original website from an excerpted article on an FR thread could violate the agreements with LAT and WP. However, I don't believe this is true.

The issue is whether FreeRepublic is embedding the IFRAME on the server-side, thereby offering WP/LAT content intermixed with its own user commentary as a 'product' to FR's users. This is one reason why FR doesn't accept user-submitted IFRAMEs like it did in the early years. It became legally actionable against FR and its owners.

However, a user-script that does much the same thing does not violate the laws or place FR in a position of legal liability provided that FR itself does not develop, distribute or offer such scripts to their users. Whether individual users might be pursued in civil court is another issue. But then you have to track down the users, prove your case against them, drag them into court, etc. And it's not a winning public relations maneuver for media outlets to sue individual users of their free services.

Another issue that impinges on this is the evolution of the Internet and changing patterns of usage and the legal and economic motivations of media sources that have, in the past, objected to their content being frame-embedded on another site.

WP/LAT might object that their bandwidth is being consumed. In an era where FasterFox and plenty of other web-spidering progams abound, it is difficult to imagine that even a large site like FR makes any noticable difference in their bandwidth usage. The users of FasterFox, because they are so much more numerous than FR users, alone constitute a far greater consumption of bandwidth than FR's could ever consume via automatic IFRAMEing.

The profit model for media websites has changed in the years since FR had its court fight with LAT/WP. In those days, the paleomedia (newspapers) were trying to get online but trying to protect their copyrights and trying to draw all users directly to their sites. They explored subscription-based websites and other means of marketing and making a profit. Today, the picture is different. Nearly all the sites which might have previously objected to embedding their content in IFRAMEs are ad-supported websites. So they get paid for pageviews of their pages and they get paid even more if you click on their advertising links. Therefore, it is in their best interest to get users to look at their sites and ads, no matter what the source of the request.

With the advent of RSS feeds in the last few years and their implementation by major media sources and websites, the consumption of content has altered even more. Individual stories are sent with advertising to individual subscribers, generally for free. Again, it is ad-supported and making money off content, as opposed to some fundamentalist enforcement of copyrights, is their objective.

In summary:
  • I don't believe my script can possibly expose FR to any legal liability provided they do not develop, distribute or officially recommend it.
  • I don't believe that I can be or will be pursued legally for writing it.
  • I do believe that it is, on today's Internet, always in the interest of media and political websites to draw you to their sites by any means possible.
  • I believe that if FreeRepublic were started as a website in 2006 instead of in the late Nineties, there would never have been any lawsuit against FR. The Internet, copyright and profit models are now developed and argue against such litigation
  • I believe it is actually far more in the interest of a media website to have their content in an IFRAME at FR than it is to have the entire article stripped of its ads and brand-name content and reformatted and posted on an FR thread.
  • FreeRepublic is and always was something of a political and media portal to the Internet for its users. It was the original private-owned for-profit major media web portal and thus it was only natural that it was the target of early litigation. But the Web has outgrown the sorts of copyright and profit model concerns that the media companies had in FR's early years. There are simply bigger fish than FR to fry, the online communities like MySpace for instance. Or the big blog sites. More importantly, there's much more money to be made by being friendly to online communities like FR than in trying to exclude them. Much like Howard Stern's show, the media companies don't care that much if you hate their liberal reporting. Their goal is to make money off you whether you love them or hate them. Locking FR's members out of their content will only cost them money, no matter how much they loathe our politics (and we theirs). It is only through FR's focal lens on the news, focused by its own users' commentary, that most of these websites ever get any traffic (and profit) whatsoever from FR's members. And if FR ceased to exist, no appreciable fraction of its membership would ever be expected to visit the liberal media websites. In other words, FR is actually good for liberal media websites.

This brief overview of the topic of scripting abuse and legality is by no means comprehensive. I will edit it from time to time and post more info and, hopefully, some legal commentary to support my opinions. I may move it to another page and solicit comments from readers if there is any interest.

Old Stuff

Old Index - the original FR scripting pages from September 2001
Hosted by www.Geocities.ws

1