April 24, 2005, 10:27 PM ET
Greasemonkey compiler
I've written a Greasemonkey compiler, which makes a Firefox browser extension (XPI) from a given Greasemonkey user script.
This is useful if you're a script developer and want to distribute your work to people without having to ask them to install Greasemonkey. It can also be a helpful starting point if you want to write a more advanced Firefox extension.
There's no support yet for the proprietary Greasemonkey JavaScript functions, but I've tested it on a bunch of existing user scripts that don't use those functions, and the generated extensions have worked nicely.
The compiler's Python source code is also available.
April 22, 2005, 4:37 PM ET
Lawrence.com: iPod edition
Seattle Weekly recently launched a downloadable iPod edition of their restaurant listings, and that gave me the necessary kick in the pants to implement it on the local entertainment site I work for. So, here it is: Lawrence.com: iPod edition.
The competitor in me has to point out: Ours also has drink specials and restaurant/kitchen hours.
April 19, 2005, 2:15 AM ET
Chicago Transit Authority map on Google Maps
Tonight I finally had a chance to implement something I've wanted to do for a while -- add an alternate background map to Google Maps as a proof of concept. To see it in action, just click the following link while using the Mozilla Firefox browser:
(If you get a message about Firefox preventing this site from installing software, you'll want to click "Edit Options..." and add this site to the list of allowed sites.)
Then, restart your browser and go to Google Maps. You'll notice a new "CTA map" link in the upper right, next to Map and Satellite.
Go to any location in Chicago (or the near suburbs), making sure you're on zoom level 5 -- the fifth peg from the top, in the zoom navigation widget. Then click "CTA map," and the map's background should change to a somewhat-evenly-aligned map of the Chicago Transit Authority bus and el routes. Here are some examples:
Pretty cool!
Much can be improved, of course -- this was just a quick hack. It only handles one zoom level at the moment, and the map is misaligned in places. But it's still quite a useful addition to Google Maps for fellow Chicagoans.
How I did it
- Downloaded the CTA's official maps and combined them into a single image in Photoshop.
- Downloaded a bunch of Google map tile images for reference, noting the coordinates in their URLs (example), and spliced them together.
- Stretched and skewed the CTA map so that it was aligned as closely as possible to the Google map. This was the most time-consuming part of the process, and it didn't turn out as perfect as I'd have liked. I blame it on the CTA map designers for not being precise enough. :-)
- Chopped the aligned CTA map into 128-by-128-pixel tiles that matched their corresponding Google map tiles exactly -- by size, shape and coordinates.
- Wrote a server-side Python script that handles dispatching images. (Ideally a future version of the extension would embed the map images in itself directly.)
- Wrote the Firefox extension, first using Greasemonkey, then using my Greasemonkey compiler to convert it to an extension.
UPDATE, April 26: Changed this entry to focus on my Firefox extension, which is easier to install than the Greasemonkey script I had provided previously.
April 13, 2005, 2:05 PM ET
Lawrence Web news operation on NPR
Hey, the Web team I work for was featured on NPR this morning! Watch (er, listen) for part two tomorrow.
UPDATE: Here's an MP3.
UPDATE: And here's an MP3 of part 2.
April 12, 2005, 11:25 AM ET
Why Greasemonkey is good for publishers
Greasemonkey was mentioned on Poynter's online-news mailing list, which targets managers of online news sites. I just posted this message to the list, after another person brought up the topic.
Greasemonkey rules. Not only for users, but for publishers, too.
The reason it's good for users is obvious: It gives them total control over customizing content within their browsers. If you don't like the layout of a Web page, you can change it. If you want to add features to a particular site, you can. If something on a Web site bothers you, you can remove it.
The reason it's good for publishers is more subtle: It's free usability testing and free product development.
(And let's ignore ad removal for a moment. That technology has already been available, for years, in many other ways -- notably browser plugins such as Adblock. There's nothing novel about ad removal via Greasemonkey, from a publisher's standpoint.)
Look at the Greasemonkey script repository. Aside from the ad-removing scripts, each site-specific script falls into one of two categories:
- Fixes a usability problem
- Adds a feature
If I were a site manager whose site were the subject of a Greasemonkey script, I'd be thrilled to get the free feedback! Not only would I have a very detailed report of what somebody doesn't like about my site, or a requested feature -- it'd already be implemented for me, for free! (Granted, it'd be implemented in JavaScript, because Greasemonkey scripts are written in JavaScript, but it'd still be helpful.)
These types of readers should be embraced, not shunned. It's the technological equivalent of Dan Gillmor's well-known line, "My readers know more than I do."

Post a comment:
Comments on this entry are closed.
Don't see any comments? That's because my Web hosting provider has made a server upgrade that broke the commenting feature on this site. I'm working to restore that; please check back later.