Archive for June 14th, 2006

RX-Plugin Settings…

Wednesday, June 14th, 2006

In this post I will cover the RX-Plugin Settings Window. You use this window to edit your regular expression rules, enable or disable some features, and specify other options.

The RX-Plugin Settings window can be accessed via a number of methods. First, you can invoke it via the Actions menu in the AIM® Triton Buddy List® as shown here:

RX-Plugin Settings...

The second way to invoke this window is from the “Plugins” tab in AIM® Triton’s own Settings window. It is from here where you can enable and disable the plugin (that is tell AIMcc if it should load or unload it) as well as open the settings window for any plugin. Here is a portion of that window:

AIM Triton Settings Plugins Tab.

The final way to open the settings window is to click the shortcut to it in the Windows Start–>Programs–>Gus Verdun–>RX-Settings. Your IM client does not need to be running for the settings window to be opened. The options you save will be reflected immediately in the IM client or the next time it loads.

There are two tabs in the RX-Plugin Settings window. I will start with the Rules tab.

Rules Tab

RX-Plugin Settings Rules Tab

This tab is where you specify all of your message translations rules. Starting from the left, you will see the “Rules” list-box. This is the list of rules that are defined. Each rule has a unique name that you can edit at any time. The order of rules matters since they will be executed in that order. This lets you cascade one rule into another in a predictable way. The checkbox to the left of the rule’s name is used to enable the rule. You disable a rule by un-checking the box.

The Move Down, Move Up, Add, Delete buttons are used to move the selected rule up, down, add a new rule, and delete the selected rule, respectively.

The Rule Name edit box is where you assign your rule some descriptive name. It can be anything you want as long as it’s unique with respect to the other names.

The Match edit box is where you specify the regular expression that is used to find the text you want to translate.

The Scope option lets you specify what part of the message should the match be applied to: Just the text part or all markup? Be careful with the all markup option in that you could replace important parts of the markup and destroy the validity of your message—which means that it won’t send the message.

The Apply to option lets you choose if this rule should apply to outgoing or incoming messages. You can also make it apply to both types.

You can also select a few options like making the rule match only on word boundaries, ignore case, apply the rule to all occurrences in the message (Global), and skip the rule if it’s inside of an anchor tag. The last option is useful if your replacement text is trying to insert a link in the message. Clearly, you can’t insert a link in a link.

The Replace edit box is where you specify the text that is to be inserted in place of the matched text. There are special character sequences that let you insert parts of the matched text in various encodings. A backreference is specified in the regular expression using ()’s. They are numbered 0-9 where 0 is the entire matched text. To insert a backreference, you enter one of the following start characters, followed by the backreference number.

Here is a list of the various encodings you can insert a backreference in:

  • \ - Inserts a the backreference as found. (Use \\ to insert a single \)
  • % - Inserts a URL-encoded version of the backreference. (Use %% to insert a single %)
  • & - Inserts an entity-escaped version of the backreference. (Use && to insert a single &)

You can also choose to force the backreference to be inserted in upper case or lower case (still using the encoding specified above) by referencing the backreference number as a letter [a-j] for lower case, and [A-J] for upper case. Use z and Z, respectively, for the 0 (full match) backreference.

There are two extra special macros here: %u will insert your ScreenName and %n will insert your buddy’s ScreenName.

Finally, the Test edit box is where you can test your rule by typing a message and seeing it get converted on the fly in the space below.

That completes the Rules Tab, I will cover the Options tab next.

Options Tab

RX-Plugin Settings Options Tab

This tab has some of the most basic settings. You can disable all rule translations by un-checking the “Enable Rules” option. Same for the “Enable inline commands”– I will cover this on another post.

And, finally, you can also save your rules to another file—be sure to click apply before you change this if you wanted to save the rules first. (The load and import rules option is in the works.)

This completes the RX-Plugin Settings window. Since this is still in beta, let me know if there are any features you would like to see. I welcome your feedback and comments. I also encourage you sign up for the beta and try it out.

Choosing Favorites

Wednesday, June 14th, 2006

Someone was asked what their favorite feature in Triton was. Is it the Buddy List®? Tabbed IM’s? SuperBuddies®? file-transfer? talk? instant-images? chatrooms? voice-chats? the vast array of expressions you can choose? Is it the fact that your friends are all there?

That was an interesting question to me. Being an architect, I’m crushed that I can’t say my favorite feature is its performance and rock-solid-implementation. I know we have a lot of work to do in these aspects. Given sufficient time, and with the right focus, I am confident we will achieve amazing results soon.

The question, though, still left me wanting my own answer. I did not think of this at the time, but, there is one feature I am most passionate about, but it’s not actually a feature of Triton, it’s of Open-AIM, and that is plugins support. This feature offers endless possibilities to anyone with the means to write one. AOL does not have to think and do everything, it can delegate some of the value added to others (Proof of point: Gus Verdun’s RX-Plugin.) “How liberating?!” was what one said about this concept. So true. It’s also my favorite feature in Firefox.

In all, rather than working towards building a favorite feature, I look forward to the day when users don’t even think of the client. It does everything they need, without annoyances, elegantly, gracefully, and therefore simply fades into the background. That’s when we will know we have the perfect client–and my truly favorite feature.