TruerWords Logo

Search TruerWords

Sign Up  Log On

My Contributions to O'Reilly's Firefox Hacks

My Contributions to Firefox Hacks

Firefox Hacks book coverBack in mid-October, 2004, Nigel McFarlane asked if I was interested in contributing to a book for O'Reilly on Firefox (the web browser), called Firefox Hacks. There would be 100 hacks in the book, and he wanted me to write five.

The assignment would pay $400. In other words, "don't take this job for the money."

After my very lengthy critique of Nigel's other Mozilla book, one might think that I'm the last person he would ask to help on such a project. Not so: he liked my 'eye' and writing style, and said I'd done a real service to the community.

I accepted, obviously. Thanks for the opportunity, Nigel!

Go buy the book! It won't make me a penny as I've already been paid, but I'd like to do more writing. (If you want to reward me, somehow, for my writing, then please support my PMC fundraising.)

Related Links

Buy Firefox Hacks
Book Support
Home Page @ O'Reilly
The Hacks Series

The original five assignments were:

  • Modify Tabbed Browsing
  • Work with Mozilla SOAP Services
  • Work with Mozilla WSDL Services
  • Work with Mozilla UDDI Services
  • Work with Mozilla XML Schema

Nigel assigned all of these, but it worked out well because most of them were right up my alley. (Actually, the first one was a fluke. He gave that one to me because I have the most popular page on the web regarding Mozilla's tab key preferences. Small misunderstanding related to "tab," that's all.)

After a lot of research I found that the support for UDDI was scarce (you had to download and install it, and even then it was little more than a proof of concept), and support for XML Schema was absolutely non-existent, zip, nada, nil, "it ain't in there."

I talked Nigel into replacing XML Schema with one about XML-RPC. Seemed a good complement to the SOAP hacks, as they're very similar technologies.

Modify Tabbed Browsing Permalink Icon

The first one was certainly the easiest, the least technical, and probably has the widest appeal because Firefox's tabs are a popular feature. Modify Tabbed Browsing covers all of the built-in preferences, a bunch of handy extensions, and one monster extension that completely replaces Firefox's tabs with its own.

Work with Mozilla SOAP Services Permalink Icon

The soap hack wasn't too bad, either. Firefox (and the Mozilla Application Suite) has strong support for SOAP, though the documentation is very scarce. The hack takes you from the creation of an ultra-simple SOAP endpoint in perl (for the server side) to implementing the client side in a web page. The result is a web micro-application that sends and receives live data to the server without ever reloading the web page. Could be useful for anyone interested in AJAX-related technologies.

Work with Mozilla WSDL Services Permalink Icon

WSDL was a first for me... I'd read about it, but never used it. Now I don't understand what the fuss is all about. Some folks talk like it just makes SOAP harder or more complicated, but in fact it seems like the opposite is true! A SOAP endpoint with a well-written WSDL descriptor makes the development of web applications very, very easy. What could be simpler than self-describing, automatically constructed web service proxies? The WSDL hack recreates the SOAP hack, but with WSDL support.

(When we add a SOAP endpoint to Conversant, we'll definitely be including WSDL.)

Work with Mozilla UDDI Services Permalink Icon

As mentioned above, I found that support for UDDI was scarce in firefox: you have to download and install the framework manually (it's not even a click-installable extension). Not only that, it hasn't been embraced by much of anyone or anything, so finding documentation or testing resources proved a challenge.

I wrote the hack, but they didn't use it. This might have something to do with the tag line I included, which said, "Want to hack on a web service that hasn't been implemented yet in Firefox, and almost nobody understands?" ;-)

However, since they didn't use it (do you blame them!?), and I did an awful lot of research, I'm going to polish it up for publication here, perhaps later this week.

Work with Mozilla XML Schema Permalink Icon

At the time I was researching XML Schema in Mozilla and Firefox, there was no support for it whatsoever, other than some hidden features to support data typing in SOAP. Nothing accessible to Firefox extensions or web pages. I talked to someone at IBM who was just starting to implement XML Schema services... they'll be a welcome addition when they're done, but at the time there was nothing to write about.

This hack was dropped.

Work with Mozilla XML-RPC Services Permalink Icon

The XML-RPC hack should have been the easiest of all, as I've been using it since Dave Winer (a la Userland Software) first released Frontier's support for it about 100 years ago. To my surprise, I found that Firefox 1.0's XML-RPC component has some serious bugs, and they don't expose the interface to web pages (only to extensions). D'oh!

This hack first walks you through installing a less-buggy XML-RPC component. With that done, you then create a small Firefox extension to interact with a simple test service on you provide a list of numbers between 1 and 50, it returns a list of state names. Not very useful, but it certainly demonstrates how to use the feature.

Page last updated: 4/1/2005

is Seth Dillingham's
personal web site.
Truer words were never spoken.