firefox 1.0.4 available for download || MAIN || ibm endorses firefox

May 11, 2005

i've been dreaming about this....

I've been dreaming about this extension for years.

more: so this is great. I can remove, hide, and move elements around on a page. I can insert arbitrary HTML. I can change style rules. I can modify URLs on a page. Then I can save all those changes as a greasemonkey script that will run when next I load the page restoring it to my "improved" state.

I'm having a blast with this.

update: OK, this is awesome. Now all I need is some better UI. How about just putting the page in Composer's wysiwyg mode and let me manipulate it like that. Maybe even add a Composer toolbar when in this mode. This is awesome! Thanks Scott (assuming I've linked to the right Scott.)

Posted by asa at May 11, 2005 10:20 PM
Comments

Interesting -- I worked on a project in college called "Web Raveler" which was something like this except that it was a rather cumbersome server/client model coded in Perl. I wonder what the professor who came up with the project would think about extensions like this. They don't quite do everything he wanted but they're a step in the right direction.

Posted by: Chris Kern on May 11, 2005 11:13 PM

*sadly*
Such extensions will someday kill web-design.
;)

Posted by: metafile on May 11, 2005 11:28 PM

Cool! Those so-called web designers will go crazy if they know about this.

Posted by: minghong on May 11, 2005 11:37 PM

"Such extensions will someday kill web-design."

Perhaps. I find it hard to believe that all the different info structures across the web could be comfortably hammered into the one stylesheet to rule them all. Similarly, I don't think more then a small percentage of users would ever manually change every single site and page they come across.

Besides, there'll always be Flash. ;)

This does however potentially make every site a "platform", with user concerns about the ease of changing one thing without breaking more, and backwards-compatability issues.

Posted by: Axord on May 12, 2005 12:06 AM

0. Check to make sure I've got Greasemonkey
1. Install Platypus
2. Restart Firefox
3. Right-click, enable Platypus
4. Hover over area, Ctrl-X. It goes away
5. Ctrl-S. Popup window with Greasemonkey Script.
6. Tools->Install User Script. "Reload to see changes"
7. Reload. No changes at all.

Posted by: Allen Shull on May 12, 2005 12:34 AM

Exactly, I've been dreaming about this too. What I'm still missing is an ability to manually tweak the GM code. I find doing it from filesystem a bit cumbersome.

Posted by: funtomas on May 12, 2005 12:59 AM

Web designers who have problems with stuff like this obviously don't know a lot. Sending an insecure arbitrary document over the Internet means that any number of dedicated applications could modify or distort it (proxies included), let alone the fact that they have no control (in theory) over the useragent that's displaying it.

Posted by: Ben Basson on May 12, 2005 02:10 AM

Nah, web designers won't have problems with this kind of stuff (greasemonkey or platypus). All they have to do is _ignore_ them.

The job of a web designer is to make sure his products are cross-browsers; what users might do with the result is not up to them and should in no way be taken in account during the creation process.

You can cut a newspaper and recreate your own layout; that shouldn’t affect the guy making it.


Posted by: Mathieu Pellerin on May 12, 2005 02:24 AM

WOW! that thing roxx! That's what I was looking for! Thx for the info

Posted by: Bart Grzyb on May 12, 2005 03:23 AM

The job of a web designer is to make sure his products are cross-browser

Well, you might believe that, and I might believe that, but I'm not sure that, uh, the actual web designers believe that. In great numbers, anyway.

Posted by: Axord on May 12, 2005 03:38 AM

I just gave it a try. Works fine but there're some strings attached... I tried to remove ad filled elements to reduce downloaded page size but the GMscript generated by Platypus doesn't prohibit downloading them since they're part of the page and are cut off as soon as they're loaded. So no, this won't speed up page donwloading. Never mind, I love it anyway.

Posted by: funtomas on May 12, 2005 03:40 AM

Too bad it's a bit flakey. I couldn't save any scripts. All Greasemonkey 'Manage User Scripts' boxes or buttons were greyed out except Cancel, which is exactly what I intend to do to the Greasemonkey extension. This is the second time I've installed it and both times have not been much fun, yet it gets all this raging publicity when...

... everyone seems to have overlooked RIP - Remove It Permanently. It's been around for a couple of months now and does a similar job without requiring (what seems like to me) messy interaction with another extension.

http://rip.mozdev.org/

The only two things Platypus does that RIP doesn't are 1) allowing for style manipulation 2) allowing for arbitrary HTML insertion. Otherwise RIP is much simpler.

Posted by: pd on May 12, 2005 06:32 AM

Well, let me go against the comment I posted before. It might influence, for the good, web designers to start using - or use in a better way - the id="" tag. After playing with this extension a little, I noticed how bad web developers can be a wisely tagging their layout. We will hopefuly see more id="header" id="content" id="menu" and stuff. Then the fun starts :)

pd: This extension is not working at all on the trunk (You can dig 0.3.4 on the mailing list, known to have fixed incompatibilities with the trunk). It would be useful to tell relevant information to relevant persons when you see something is broken.

Posted by: Mathieu Pellerin on May 12, 2005 06:56 AM

I couldn't get platypus to pop up the script upon saving...

But RIP works very well, right out of the box, no need for greasemonkey.

http://rip.mozdev.org/

Posted by: Chris Nelson on May 12, 2005 07:43 AM

>RIP
I came to say the same thing -- RIP works, and is being improved fast. That plus Adblock have made graphics based browsing tolerable for me.

Being able to avoid crap allows graphics browsing to begin to approach the speed and efficiency the 'nn' newsreader, on a fast dialup modem. Those were the days (grin). Now, if only everything was reliably keystroke-command-oriented.

Posted by: Hank Roberts on May 12, 2005 07:50 AM

Does RIP allow me to move elements around on the page? If not, then it's just another ad blocker which is not what excites me about this extension.

- A

Posted by: Asa Dotzler on May 12, 2005 08:10 AM

Same as Allen Shull. Not working following his steps. On FF1.0.4

Posted by: Z on May 12, 2005 08:40 AM

I didn't mean to be so trollish about it earlier, but thanks Z for corroborating my problem. Anyone else know exactly what we're doing wrong, because all the official Platypus info doesn't allow for the existence of the problems we're having, it seems.

Posted by: Allen Shull on May 12, 2005 09:54 AM

asa - re: RIP, don't believe you can move elements, but it fits the "block any element" aspect nicely.

If Platypus/GreaseMonkey actually worked here, I could give you a better comparison, but Platypus won't bring up the Greasemonkey script on save...

Posted by: Chris Nelson on May 12, 2005 11:35 AM

Server seems slashdotted

Posted by: Joël Kuiper on May 12, 2005 01:19 PM

Guys, that was justa joke. *)
The extensions like that can`t kill web-design just because they`re made for people who need content, not the appearance *).

Posted by: metafile on May 12, 2005 02:24 PM

Asa -- you're right, RIP is "remove it permanently" with a lot of options (worth looking at that, the advanced choices have taught me a lot about how stuff gets put on a page, or all pages on a site, or into a frame I can't otherwise get at.

But it won't let you rearrange things. I'm eager to try it. Does it let you share your modification settings?

Posted by: Hank Roberts on May 12, 2005 06:05 PM

It's a great script, but I can't seem to figure out how to move things around the page. The help page in the link you provided keeps timing out.

Posted by: Jay MacLean on May 12, 2005 06:48 PM

RIP is more than just an ad blocker and at least it works. Adblock only works on URLs which is not what RIP does. RIP uses xpath, itself not entirely reliable (and hence I agree web designers would help us all by adding more id attributes) but a lot more in depth than Adblock which itself lacks a predefined set of rules such as these:

http://www.mozilla.org/support/firefox/adblock

No point being able to 'move stuff around the page' (what exactly does that mean and how does Platypus supposedly do it?) if your changes disappear due to the extension failing to do what it claims it will do.

Any reason why the developer of Platypus cannot integrate the Greasemonkey code into Platypus? That way Platypus would not rely on extension interaction which is not something I have seen work with any other two extensions.

btw, what does Aardvark do? I've read what it's supposed to do but it just highlighted blocks for me.

Posted by: pd on May 13, 2005 03:22 AM

pd, why would you want to integrate platypus with greasemonkey? one will slow the other anyway. Platypus simply creates a gm script to redo all the modifications you did on the page and then you can decide to add it to greasemonkey (or modify the resulting code before).

Posted by: Mathieu Pellerin on May 13, 2005 06:09 AM

This is great and all, but I would like a stand alone extension that does this. I'm not complaining, but it would be great if it could stand on it's own and not use another extension to work. Just my 2 cents. Still this is great and I'm sure someone will make it stand alone someday.. maybe soon.

Posted by: IceDogg on May 13, 2005 01:38 PM

First of all, thanks for all the interesting comments on Platypus. Next time, someone let me know so that I don't have to stumble across them.

I am, btw, the same Scott Turner from various PBEM games. And I added Keystone Kops to Nethack. Obviously I waste too much time on games :-).

Responses to some of the comments:

RIP is a cool extension. So why use Platypus instead of RIP? First of all, Platypus offers a lot of functionality beyond merely removing elements of a page. The ability to run regular expressions over all the HTML (or all the links) of a page is tremendously powerful. It's pretty trivial in Platypus to write a script to change all NY Times article links to point to the "print" version, for instance. Second, Platypus generates a GM script. You can grab that script, change it, combine it with another script, add programming to it, distribute it, etc. The output of Platypus isn't a changed web page -- it's a script of instructions on *how* to change a web page. That's a powerful and important idea because it means the process doesn't have to stop here. With RIP you make your changes and that's it. With Platypus, it might just be the start for more powerful tools and changes.

Why do Platypus scripts require GM and Platypus? They require GM because GM provides the basic scripting capability. In particular it's the GM extension that finds and injects the GM (Javascript) scripts into web pages. Without GM there is no user scripting. They require Platypus because Platypus provides functions they use -- such as "Run this regular expression over all the URLs on the page". It would be possible to include all those functions in the Platypus script (and an early version of Platypus did that) but then every Platypus script would be 40KB. In the interest of ease of use and usability, I chose to require users to have Platypus installed. I might revisit that, or provide an option to generate "Platypus-free" (but huge) scripts.

Reduce page loading times: No, Platypus won't do that. Platypus scripts have to wait until the entire page is loaded -- partly so that it can navigate the page structure, and partly because changing the DOM too much before the page is loaded confuses Firefox. So no, it doesn't cut your download bandwidth.

Allen Shull: At a guess, your problem (with the script doing nothing) was a bug in 0.1 that has since been fixed. If you grab Platypus 0.2 and have the same problem, I'd appreciate a bug report to the Platypus mailing list or Bugzilla, and then I can look into it.

Asa, feel free to promote this comment (or parts of it) to your weblog if you think there's interest.

-- Scott Turner

Posted by: Scott Turner on May 13, 2005 08:32 PM

Ah, forgot to comment on Asa's suggestion: "How about just putting the page in Composer's wysiwyg mode and let me manipulate it like that."

In my earlier work on user mediation, that's exactly the interface I'd envisioned. There turn out to be some technical challenges to that -- either you have to hook deeply into Composer to record what the user does, or do some kind of very smart diff after he's done editing, in order to know what changes to make the next time you load the page. Turns out I'm not a good enough programmer (or at any rate don't have the free time) to do either of those things.

On the other hand, 99% of the time, you don't need the flexibility/power of Composer because you're not creating a web page, you're just tweaking an existing one. If you really want to scrape a page down to the bare bones and completely rebuild it, then Platypus isn't the right tool anyway.

-- Scott Turner

Posted by: Scott Turner on May 13, 2005 08:37 PM

Firstly, why integrate Platypus and Greasemonkey? To get Platypus working and to get rid of the need for Platypus to 'talk' to Greasemonkey, which it doesn't seem to do well. Just an idea.

AFAIK Greasemonkey is nothing more than a 'Manage User Scripts' Tools -> Options preference panel until the (laughingly 'corner-cutting' but still dragging their arses) Fx developers build it into the main program. AFAIK per-site user options have been built into the Fx trunk for a while now and Greasemonkey is merely the first attempt at any sort of UI to take advantage of this otherwise hidden ability.

That Greasemonkey is merely a management UI for managing scripts that cannot be created without scripting knowledge, it's pretty useless. At least RIP empowers non-expert users to make their own changes without advanced knowledge. As Fx is struggling to hit the mainstream, I would think this is the sort of avenue we should encourage.

More to the point at least RIP works. Maybe Platypus/Greasemonkey conflicts with Tabbrowser Preferences but even version 0.2 opens a whole new Fx window (which sucks) and then does nothing when 'Install User Script' is clicked.

In normal Fx use, Clicking 'Manage User Scripts' from the tools menu also does nothing, therefore Greasemonkey itself seems broken.

Hopefully these bugs can be overcome but I see nothing to orgasm over from either Greasemonkey or Platypus just yet.

Posted by: pd on May 15, 2005 02:01 AM

More to the point at least RIP works. Maybe Platypus/Greasemonkey conflicts with Tabbrowser Preferences but even version 0.2 opens a whole new Fx window (which sucks) and then does nothing when 'Install User Script' is clicked. In normal Fx use, Clicking 'Manage User Scripts' from the tools menu also does nothing, therefore Greasemonkey itself seems broken.

I have TBP and it works fine with GM/Platypus.

GM conflicts with menuedit. This is reportedly fixed in the GM betas. Workaround: Edit your menus. Restart Fx. Play with GM, taking care not suddenly start editing menus again.

Otherwise, Scott Turner goes and creates a pretty cool program and you poop all over it.

You like RIP use RIP. But from a quick glance at http://www.seedwiki.com/wiki/rip_downloads/rip_downloads.cfm , it doesn't seem to be much more than an ad remover.

Compare to GM:
http://dunck.us/collab/GreaseMonkeyUserScripts

And Platypus:
http://www.squarefree.com/categories/user-scripts/

Posted by: ul on May 15, 2005 08:51 PM

View hard to get too source code, remove annoying images, change things around! I love this extension!

Posted by: JMack on May 17, 2005 05:37 PM

Folks, for future reference, if you have trouble with Greasemonkey, there's a mailing list you should complain on.

At any rate, FF point releases have each broken GM, but we keep right on fixing it.

FF 1.0.3 requires GM 0.2.6, and FF 1.0.4 requires GM 0.3.3.

And yes, we were slashdotted, and then Wired. Sorry for the service interruptions.

Also looks like all of mozdev.org is down right now...

Posted by: Jeremy Dunck on May 18, 2005 01:47 PM

Post a comment