Last night I had one of those problems where I needed to fix a web site, but and there wasn’t an easy way to do it. I was running the web site as a reverse proxy behind an Apache server (which works great.) The problem was that this web site had hard-coded urls for various tags. These will obviously be inconsistent with the url for the proxy that it is behind.
The first thing I tried was to look for some various Apache modules. Most of these were just too complex and wouldn’t handle the simple manipulation required.
Then I remembered everybody talking about Greasemonkey for Firefox. Its a tool that lets you modify a web page via Javascript. So I installed it, and it took a little bit of work to get it going. I couldn’t create a new script easily, I ended up installing an existing helloworld.js script and then editing that. Past that, I quickly got to work on my script and kept an eye on the javascript console. The end result was awesome. The site worked after that!
After I got it working, I felt pleased. That kind of, ‘ahh’, feeling you get after you have another good tool for your toolbox. Yes, its not a tool for the common web user, but I can see this as being the best tool for the job for certain problems I have run into. I can also relate to the feeling that others have when they feel like they can have a little more control over the web that they use every day. It is kind of like having that awesome Python shell, but for the web. Nice.
I haven’t even started to dig into it more and what the community has created. However, to see an example of an awesome Greasemonkey script, look at this GMail Preview Screenshot. Wow.
A few random comments:
The whole script installation thing is good, but the new script creation system is bad. It should be easy to popup a dialog, type in a few fields, edit the file, and move on. I should then be able to edit the window in place or in a sidebar like the awesome web dev toolbar. It should be edit, save, F5/Refresh.
The Mozilla extension system needs a little work. It would be nice to install an extension without having to restart the app if it was doing some simple well defined. Yes, this is still a problem for the Microsoft products as well, but they don’t have the same issues. Both systems should be capable of solving these problems.