Saturday, February 28, 2009

Meebo.com: new suitable jabber client

We don't usually update the blog when we change the documentation, but this one is very exciting! It's now safe to monitor LibraryH3lp queues using the meebo.com website as the librarians' client.

What happened? Did we pay them money? Negotiate with them in some way? Nope. All that has changed is that Meebo now more fully complies with XEP-0085, the Jabber standard that describes sending chat state notifications. In plain English, this means that Meebo's server will notify the LibraryH3lp server when librarians do things like close windows and sign out. The result is that patrons who begin a chat with Librarian A will not get lost in the ether if they go silent during a chat, and in the meantime, Librarian A signs off and Librarian B signs on.

Now, Meebo.com won't have LibraryH3lp's special features like transfer, send file, and e-mail transcript integrated right into each chat window like our native librarians' webchat client does. To do those extra things from Meebo, you'll have to follow the "chat management" link that starts each chat and sign into the LibraryH3lp server directly. You may also have other concerns with Meebo (ads, privacy), but it will work from a technical point of view.

To sign in, simply use the Jabber login, with the lightbulb icon. The format for the login is username@libraryh3lp.com. Be sure to officially sign off, rather than just closing its browser window to end a shift, and you're good to go. It works with the Meebo Firefox plugin as well as the website.

Hooray!

Wednesday, February 25, 2009

Growing Pains

As many of you know, LibraryH3lp crashed last night. It was up again within minutes of our discovering it was down, but it's been so stable that this was quite a surprise. Eric has been investigating the cause, and it appears that the system is simply experiencing growing pains. This is normal, and it has happened before with different parts of the system. As LibraryH3lp gets busier, we find various limitations in different components and need to rework code in order to achieve greater levels of efficiency and scalability.

The thing is, we expected to hit our next such phase this fall, with coding to prepare for it taking place over the summer. As it is, Eric needs to stop working on new features for now and instead work intensively over the next couple of weeks getting the system in shape for this next level of use. We will do our best to keep service disruptions to a minimum (and hopefully non-existent!).

Sunday, February 15, 2009

New Reports Features

In the admin interface, you'll find the View Reports tab has been improved. You can pick one, some, or all queues and get a chart and a CSV file of activity for any date range. There are also some handy controls for all reports:
  1. Ignore system messages. System messages typically come from your gateways. They might say things like, "two unread messages" if the Gmail account for your Google Talk gateway has unread mail, or they might alert you that your AIM account was been signed in from another location.
  2. Ignore not answered. These are primarily cases where your patrons return to say "thanks" or "bye" after the librarian has closed their own window. Of course, they may also represent chats that truly were not answered because the patron left before a librarian answered (hopefully there aren't a lot of these on your queues).
  3. Minimum chat duration. Use this to set the minimum threshold for how long a chat must last in order for it to register in your report. It defaults to 10 seconds. This lets you weed out, for example, chats where your patron returned with a "thanks" message and your librarian quickly fired off a "you're welcome" in return.
In the case of the first two options, you probably don't want to count those as chats in your reports.

In the case of the third, it may not be possible set the perfect threshold, but being able to set a minimum duration is quite helpful. In less-busy services, you can weed through your transcripts in the Monitor Activity tab and delete records of chats you don't want to count. Then you can run your reports on everything that is left, but this may become less practical with busier services.

Here is an example of a chart; we're using the Google Charts API, so you can create a permalink. This chart shows traffic by month and by protocol for most of UNC-Chapel Hill's queues for May 2008 through today:
























I can also download a CSV to bring the numbers into Excel; in the Reports interface, there is also a visualization tool kind of like a tag cloud, but without the tags:



Remember: Besides this View Reports tab, you can also use the Monitor Activity tab to review transcripts, download transcripts in bulk, download a CSV file of all activity, delete system messages, delete transcripts, delete entire call histories. Use the Calendar Page link to perform these actions over select queues and date ranges.

Note: the information in Reports will normally be up to 24 hours old because of database caching. The information in Monitor Activity is accurate up-to-the-second.

Have fun!

Saturday, February 14, 2009

Hardening the Gateways

This weekend, we installed a big enhancement to the gateway system. All of the protocols besides Google Talk have been on libpurple. Before today, we ran one instance of libpurple for all of the non-gtalk protocols (AIM, Yahoo!, MSN, ICQ), and that was fine until fairly recently.

With hundreds of gateways active on LibraryH3lp nowadays, libpurple performance was taking a hit. So, Eric had broken the libpurple protocols apart so that now, each protocol has its very own instance of libpurple. This should mean a number of good things:
  1. Performance should improve now that no single libpurple instance is running so many gateways.
  2. When a protocol change at the source (like MSN) means that a gateway needs programming work, we can just go ahead and work on it right away without worrying about disrupting the other gateways.
  3. When a gateway is having some problem, we can restart it independently from the others. Restarts aren't a big deal, but they do cause accounts to briefly flicker offline and online again.
Our libpurple gateway system has been open-sourced for a good while now, and this latest release has been updated at Eric's github.

Happy Valentine's Day!

... but what does it *do*?!

A couple of colleagues commented to me that during a recent conference, there were some questions about LibraryH3lp's features. It's a good point. Eric and I tend to get so wrapped up in planning and creating the system that we haven't been really good about keeping a consolidated features list together.

A few months ago, Amanda Clay Powers created an attractive one-page PDF handout that was fantastic. I let it get out of date (bad!). I updated it today. We also have a features list on the Google Code wiki now, and it links to the shorter PDF version.

News about this weekend's gateway work coming soon...

Sunday, February 8, 2009

Quick PSA: AIM FishBots

If you offer an AIM service, you should definitely read Nixie Pixel's article, "The AIM FishBot Phenomenon." This explains a couple of extremely surreal AIM conversations I've had over the last few weeks!