Rearchitecting Operator

Why does it seem that every piece of software needs to be rearchitected at least once or twice?

So after chatting with Andy Mitchell about his Webcards work we decided to collaborate to try to avoid duplicating effort. I’m just about done with phase one of that effort.

The results of this effort include:

  • Moving to a unified non Operator specific, non browser specific microformats parser.
  • Moving to a unified actions architecture (Extension specific right now, but we’re working on that.)
  • Nearly complete support for all included microformats.
  • Ability to use legacy handlers.
  • Ease of adding new microformats (I’ve added XFN and species just for fun).

After much internal struggle, I decided to actually remove one of Operator’s options because I think I was trying to hard. Operator has two modes, Actions and Microformats, and within Microformats, you could choose to have a “default handler” or display all handlers. If you chose not to display all handlers, you would get a similar UI (toolbar buttons), but they would only invoke the default handler. It seemed logical when I wrote it, but this function (if needed) can be emulated by actions. I hope no one complains about my removing this.

Visually, everything else remains the same, except I cleaned up the names of some of the actions. It’s really only the guts that have changed. Obviously there’s the potential for new bugs in this implementation, so I’m trying to get something out this week to start some testing.

If you have written handlers for Operator, please let me know so that I can make sure my legacy code is working. I’m not going to explain how to write to the new action API yet since it is not baked.


Please note: I reserve the right to delete comments that are offensive or off-topic.

Leave a Reply

Your email address will not be published. Required fields are marked *

4 thoughts on “Rearchitecting Operator

  1. Is there any chance of getting a much simplified and non-intrusive UI for Operator? The entire toolbar is very bulky and most often unnecessary. I’d like to be able to customize the items in Operator and put them anywhere in the browser chrome.

    Let me know if I’m just blind and this is already possible.

  2. Brad:

    The latest version of Operator had additional UI mechanisms, including a toolbar button and a status bar button, so you could choose to not use the toolbar.

    It also detects microformats in the page, so you didn’t need any UI at all.

    I understand what you want, and I have thought about something like that. The biggest problem is that Firefox doesn’t allow dynamic toolbar buttons that are part of the toolbar palette that is used by Customize Toolbar.