theme selector

light blue screenshot grey screenshot navy screenshot dark green screenshot red and black screenshot

by Tony Chang

All opinions on this site are my own and do not represent those of my employer.

Creative Commons Attribution License

gm + webnote

Apr 14, 2005, 12:58am EDT



I said I was going to do it. I turned webnote into a Greasemonkey script. With the webnote gm user script, you can add notes to any web page. If you save the notes, they’ll be there the next time you browse to the page. They can also be viewed by anyone.

To create a new note, press alt+n. To save all notes, press alt+s. As of revision 1.11, saving happens automatically.

This is very, very early. There are lots of usability problems (knowing what pages have notes, remembering to save), collaboration problems (overwriting notes, keeping track of changes), and scale problems (hits my server for every page you load). But you know what they say: release early, release often.

This took an hour or so over the past few nights to complete. About an hour getting the webnote code running in Greasemonkey, an hour copying/modifying the existing webnote backend, then a couple hours adding saving/loading with the new backend. Ah, the magic of closures.

Note about privacy: The script sends a request to a central server that checks for notes on that page. That is, I can see all pages you visit, although they’re just associated with an IP address. If you want to avoid doing that for certain sites, add it to the greasemonkey exclude list. TODO: use a hash of the url and try to remove/spoof the referer header. Fixed, please upgrade.

Update 2: I’m an idiot. Permalink to the entry fixed.

Update 3: Current version and notes can be found on this page.

tony at Aug 30, 2005, 02:42am EDT

Questions like this should be sent to the mailing group or directly to me.

There are no locked notes. With the greasemonkey script, you only get a subset of HTML (so people don’t hijack cookies). On the regular webnote site, you can use any HTML including tables. I’ve added an example to the components page.

allowed HTML: a, blockquote, ul, ol, li, dl, dt, dd, b, i, strong, em, code, abbr, acronym, sub, sup, span, pre

allowed HTML: a, blockquote, ul, ol, li, dl, dt, dd, b, i, strong, em, code, abbr, acronym, sub, sup, span, pre