Official Library Twitter accounts- what factors are correlated with number of followers?

After posting about what Library Twitter accounts are doing here and here, I stumbled upon a more efficient way of getting the statistics and this resulted in the following batch of statistics (Number of followers, Number of following, Followers/following ratio, Age of account (based on first tweet) and total updates for all 456 accounts on the Library Twitter League.

And as luck would have it, at the same time the Twitter League was updated and you can now, get the very same statistics as well from there! You can now order by not just followers, but also following , follower/following ratio, signup date and alphabetical. In any case, the data will be used in this post.

Is the list representative of Library Twitter accounts?

No doubt, many people will have questions about how representative the list is. As mentioned here ,the list began from self-reported cases from here , here and here . I was somewhat concerned that this list has an inherent bias in listing mature accounts, so I searched using Twitter search using “Lib”, “library”, “ref” etc as well as directories such as wefollow and tried as best as I could to add obvious library accounts.

Nevertheless, I can’t rule out the fact that the sample here isn’t representative, though I submit that 456 is a large sample and is probably a good starting place as any.

Descriptive statistics

You will notice from the results above that the mean and median number of followers, 212 and 113 respectively is a bit different compared to what was reported in an earlier post (the mean was lower, but median was higher in earlier smaller sample), mainly because the composition of accounts in the earlier batch was quite different (earlier calculations had left out a few big accounts, while excluding numerous smaller accounts).

Age of account

A new statistic we have is the age of the account based on first tweet in days. The oldest account is 984 days old, or over 2.5 years old, making it one of the pioneer accounts. But 50% of accounts are younger than 132 days old (roughly 4 months), showing a surge in many new accounts.

Above shows the cumulative distribution graph of Library Twitter accounts by age (days).

Total updates

95% of library Twitter accounts have updated less than 1,000 times but this does not take into account the age of accounts.

Updates per day

It was obvious also to calculate updates per day, and generally library Twitter accounts don’t update much with a mean update of 0.98 updates per day.

The twitter library accounts generally don’t update a lot. 95% of accounts update less than 3 times daily. Note that update per day is calculated by taking total updates divided by the age of the account. Some accounts are dormant for a while before they become really active, so this statistic probably understates the current updates per day.

TFF ratio

One statistic, I calculated in an earlier blog post was Twitter follower/following ratio or more formally named Twitter Follower-Friend Ratio (TFF)

I was curious, what the typical TFF ratio of library accounts was. Did Library twitter accounts follow everyone who followed them as recommended here? Did they embark on a strategy to proactively follow identified users and hence had TFF ratios below 1?

As noted in earlier post, proactively identifying people who are your users allows and following them, allows you to proactively respond to them even if they are not directed to you, and even if they just say “library” without mentioning the name of your library.

For all 458 library twitter accounts the following pie chart shows the distribution below

It seems that a majority (57%) of Library Twitter accounts have less followers then those following them! 5% had no followers and the rest had more followers than following.

As we have seen in an earlier blog post, this result differs quite a bit when we only consider the top 100 Library Twitter accounts (based on following size) as shown below. In particularly, only 15% of the top 100, have TFF ratios of below 1 (see below).

In a sense this is not surprising. The sample of all 458 Twitter accounts, includes many accounts just starting out, and they might be still in a “growth” stage or some may be initially employing a strategy of following many accounts to build up reciprocal relationships?

Bio of Twitter accounts followed

What type of accounts are library Twitter accounts following? The following word cloud of the bios of the followers of a Library in Oklahma (via Twittersheep) is quite typical.

Libraries Twitter account seems to be following Libraries, Librarians, writers and probably “book lovers”, and of course people in Oklahma.

Another typical account showing that this Library like to follow authors.

Correlation analysis

Finally did a little bit of correlation analysis


1) As expected age of account is highly positive correlated with number of followers. Number of those following is not correlated with age.

2) Number of followers is highly and positively correlated with TFF ratios.

It seems to me that, at least for the library twitter accounts, larger follower accounts are correlated with high TFF ratios (low number of following relative to followers). Probably the biggest most famous accounts such as Library of Congress, New York Public Library by virtue of their reputation gain huge number of followers automatically and do not need to build up their following by reciprocal following.

3) As expected age of account is correlated with total number of updates.

4) Updates per day is correlated with Followers and followings.

Obviously there is quite a bit of co-linearity.

Multi-linear regression – what explains number of followers

Ran a quick regression analysis

Multi-linear regression (stepwise) was carried out with number of followers as the dependent variable, and the other statistics as independent variable.

The final model, has a adjusted R-square of 0.567.

It indicates that number of followers is explained by increased number of followings, follower/following ratio, age (in days) and updates per day.

Is this model useful? Just putting it out there. Probably requires a larger range of independent variables.

Library twitter league – official library twitter accounts compared

Recently, I was pondering about the need to set targets or KPI (key performance indicators) for Libraries carrying out Social media activities. Take Libraries with Twitter accounts for example, what would be a suitable target?

The first thing that comes to mind is number of followers, which would be a measure of how many people you are reaching, but what would be a creditable target? One very inaccurate and rough way would be to look at the followers that other libraries have achieved (while taking into account relevant differences such as size of population served etc).

Rather than creating a static list I used the TwitterLeague service , and populated it with entries from here , here and here.

I had a suspicion that the lists above were biased towards successful, established accounts, as such I further supplemented them by adding more accounts. I searched for the word “Library”, “Lib”, “Reference” using Twitter’s find people service and added the accounts I found there.The full list as of May 15, 2009 stands at over 400 entries, but here’s just the top 20.

The full results (which update dynamically) are available here .

You can also download a xml version of the list, and view it in Excel etc.

A rough calculation (this will change as I add more twitter accounts) shows that the median number of followers is 147, while the average number of followers is 260.

Not surprisingly, Library of Congress is way ahead in the follower counts, more than 4 times of the next highest library account.

Of the top 20 library accounts, Public and National libraries dominate compared to Academic libraries with only the 3 universities (Yale has 2 accounts in the top 20) making the top 20. They include second placed Open University Library from the UK (a distance learning university), Yale Library accounts (6th and 7h place) and College of DuPAGE library (8th place)

It will probably be interesting to revisit the statistics say 6 months later to see if there are any major changes.

Of course, follower counts alone probably don’t tell everything. Some accounts are just starting out, others follow a large number of accounts, which typically follow back etc. Other Twitter analytic services such as Twitter Grader , Twinfluence , Twitterholic, Twitalyzer, Tweetstats provide more sophisticated measures of influence, by taking into account follower/following ratios, % of retwits etc. The JCPR Twitter index is probably the most advanced metric available used to measure online influence.

Hopefully, TwitterLeague will add more statistics, please help vote for additional features here.

Given that libraries are using twitter for different purposes, I can see possible value in studying statistics such as rate of updates, signal to noise ratio (percentage of twits with links or hash tags) of accounts, Name pointing (percentage of times @ is sent to account) and more. For example, a twitter acccount used mainly for pushing service announcements would probably have a different tweeting profile compared to one that was used for reference service.

I also created a new Twitter account leaguelibrary and populated it with the twitter accounts from the library league twitter list (using Twitterator to quickly add multiple accounts).

I was hoping to find a way to export all the twits from this account and then carry out text analysis, using Many eyes‘s to create Word Trees, Wordle , Tag Cloud and Phrase Net.

Unfortunately while I found many ways to export my own public timeline of tweets, there doesn’t seem to be a way to export my tweets PLUS tweets of accounts I’m following? Does anyone know a way to do this? I did manage to get a RSS feed of what I wanted though, and I might use this for analysis.

For now, I use My Twitterflock to generate a word cloud from the bios of the library accounts I’m following.

As well as a word cloud of what they are posting about

Google Profiles of libraries


In this post, I will talk about a little known service called Google Profiles, why it is becoming important, and I will describe how libraries have being using it, the web 2.0 accounts they are listing on it, and compare it to the accounts listed by libraries on Friendfeed.

Google Profiles

For years, Google had a little known feature/service called Google Profiles, which allowed users of Google accounts to setup profiles of themselves. In many ways they were similar to the lifestreaming accounts like Friendfeed, in that you listed other associated accounts such as Flickr, Twitter, Facebook, which you owned. Despite Google’s brand recognition, they have never being particularly skilled at building social networks and Google Profiles was pretty much ignored.

This was until April 2009, where they placed their trump card. Two changes occured, one minor change, one major. The first change was that they allowed users to use a custom profile url, instead of a long string of numbers. For sure looks better than Below shows an example of a Google Profile set up by E.H Butler Library.

More significantly, these Google Profiles appear at the bottom of Google searches! when you do a search.

You can find out more about Google profiles here.

Libraries on Google profiles- Methodology

In a previous post, I looked at Library accounts on Friendfeed (a popular Lifestreaming service) and studied the web 2.0 accounts that Libraries linked to. A very obvious idea now is to do the same for libraries on Google Profiles as well.

I did a Google Profile search, by searching for the word library in the title. This results in about 162 entries. Unfortunately the vast majority of entries were blank, or had at best a link to their homepage. These I ignored on the admittedly dubious assumption that most libraries had at least a blog and accounts without blogs were Google Profiles that were not properly maintained. Moreover I noticed that one of the libraries, the Unquiet Library had both a Google Profile and Friendfeed with the later having more accounts listed. Of the remaining, I took note of the accounts they listed. Again a Google doc version of the data is available.

Results are as below.

The disclaimers I made for previous post applies here, the data above is not representative of what libraries in general are doing in the web2.0/socialmedia arena . Rather they show what libraries who have custom Google Profiles are doing.

Comparing Libraries on Google profiles and Libraries on Friendfeed

I’ve reproduced the chart showing accounts linked to in Friendfeed above.

The main difference between the two charts is that compared to Libraries on Friendfeed, fewer Libraries on Google Profiles list Twitter accounts.

A minor difference perhaps is that Libraries on Google Profiles tend to list more Picasa accounts for photo sharing compred to Flickr. This can be explained by the fact that Picasa is a Google service can will be autoamatically added.

We also see libraries listing Google Books (example)and more Google Reader (example) accounts. They are quite a few innovative uses of these 2 accounts, see more from data.

Unlike Friendfeed where you can only add specific accounts, or accounts with RSS feeds, with Google Profiles you are free to add any URL, and libraries have exploited this by adding links to subject guides (example), internet archive (example), Yahoo pipes (example) etc.

Another difference seems to be that none of the libraries on Google Profiles list links to delicious . It’s unclear if this is a result of libraries not listing them, or the libraries not having an account in the first place.

So does your library have a Google Profile ? Are you maintaining it?

Aaron Tay

Subject guides on web 2.0 startup pages – 12 widgets

In the past few years, libraries have become increasingly innovative in the different ways they display their subject guide. Practically everything under the sun has being tried.

Libraries have tried wikis (here), paid for Libguides (here), used Delicious linkrolls (
here) and Squidoo (here). I haven’t heard of a library using Google Knol, but I won’t be surprised. Libraries have also tried opensource software such as Subjects Plus (here) , LibData (here), Research Guide, Pirate Source (here) , Library √† la Carte (here)

I have being exploring two related ideas, but the one I will discuss here involves using web 2.0 startup service pages like Igoogle, Netvibes, Pageflakes, others

Many libraries have used Netvibes in particular. Though the use seems to be mainly as generic library portals + subject guides, rather than outright subject guide, but the principle is similar

What do such services do? They are dynamic personalized pages where you can choose to aggregate material from different sites. Typically you install widgets such as calenders, web-mail etc together with RSS feeds to put all your most commonly used material on one page.

Of course there is nothing to stop libraries from creating pages made up of different widgets/modules and RSS feeds and opening access to the world. Such pages will function as normal pages for users who don’t use such services, while other users who do use such services can grab whatever modules/widgets they need to mix and match on their own pages.

It’s unclear how many users use such services, so the question is why use this over static pages?

Basically such services provide a lot of flexibility. Staff can easily create tabs, arrange the layout of each section by drag and drop, grab different sections or pages etc. In comparison, wikis or static pages are harder to customize this way.

A good example is Central Medical Library, University Medical Center Groningen‘s Netvibes page.

Looking at what libraries have done, you can see there is a lot of room for creativity out there, but let me describe some ideas I like. I basically looked at my own static subject guide and thought how I could convert it to something more dynamic.

Let’s take it as given that the OPAC search box, FAQs, instructions etc are already available and focus on subject specific material.

Examples will be drawn from Central Medical Library, University Medical Center Groningen , Shrewsbury and Telford Health Libraries , Dublin City Public Library . My own institution also offers Nexus, which is similar (will blog more about it in another post).

Add RSS feeds of journal or database searches

Why offer lists of high impact journals when you can list table of contents of the latest issues of those journals?

This is a pretty obvious idea, get the RSS feed of the table of contents of the latest issue of the top journals in a given field and then feed it into a widget/module to display the results. Most journals offer the RSS feed on their homepages or you can try ticToOCS Journal Service. To ensure that the link works to handle the ezproxy properly you should convert the RSS feed using the Yahoo pipes method I described previously.

The most basic way would be to offer each RSS feed individually.

But a more advanced idea would be to offer a widget that combines RSS feeds of several journals/search engines, filter out results that don’t meet a certain specified keyword , dedupe (and rank?) and display results.

Or how about a widget/module that tracks citation alerts/mentions from Scopus/web of science and Google scholar, and dedupes results? I’m sure that will come in handy for people tracking citations of their papers. A widget linking to citeulike, various web-based citation managers?

Add searchboxes of databases

Why offer a boring static link to the recommended say Economics databases, when you can offer dynamic search widgets?

Using the method I described here on now to Creating custom search boxes for library use , one can also offer search widgets to be placed on the startup page. If you are a truly progresive library offering opensearch plugins, you can also provide a link to it too.

As the image above shows, the user can grab the whole widget to put on their startup page (click on wrench icon), or they can click on “add search to browser” link next to the title to add the opensearch plugin version to their browser’s search box!

Topcited articles in given area

Use Scopus topcited to list top cited article in an area of interest.

Add book related widgets

You can create a RSS feed from your OPAC showing a list of new books in a certain subject, or popular books.

Shrewsbury and Telford Health Libraries , Dublin City Public Library

Or better yet embed a Librarything Widget!

Central Medical Library, University Medical Center Groningen

Add Delicious, social bookmarking widgets

Your library uses Delicious to tag internet links? Insert a blog roll as a widget!

Dublin City Public Library

Add instructional tips

If you have being linking to powerpoints of your subject specific tutorials, convert them into slideshare (or similar alternatives) and then put in the widget. It’s a bit clunky to have one slideshare widget for one presentation, so package them all in one using slideshare presentation pack to combine several in one (see below). Have screencasts of tutorials? Even better!

Most popular blog posts in given area

My subject area is Economics so I can use palgrave’s Econolog which tracks and ranks most popular (based on comments) Economics blog posts.

But what if you want to add blogs on other topics? What you should do is to combine the top 20 or so blogs in your area, aggregate and rank them using Postrank and grab only the top posts.

If you are not sure what the top blogs are in a given area, you can use delicious to search for most popular blogs (e.g. Geography+blog), grab and combine the posts from these feeds and then pass then through Postrank , a service which checks for duplicates and ranks or just displays top blog posts based on popularity (number of comments, number of clicks, number of blog trackbacks, links from social media sites like Twitter, Friendfeed, Digg, delicious, see details etc).

Excellent resources on this topic include

Add other library widgets

If you have created subject specific library widgets like conduit toolbars, bookmarklets etc , why not offer them here?

Central Medical Library, University Medical Center Groningen

Add calender widget

Use various calender 2.0 services like Google calender, 30boxes, upcoming etc to list events. E.g upcoming talks of interest (e.g. database talk, tutorials etc).

Dublin City Public Library

Add feedback widget

Insert Meebo or your favourite chat widget so you can get feedback. Add a poll, or a askalibrarian form. If you are really bold, how about adding a twitter widget or even a getsatisfaction page/widget!

Central Medical Library, University Medical Center Groningen

Add custom google search engine

Most subject guides have a link to a list of free online resources. Why not create a custom search engine to search those sites? Use either Google custom search engine or Rollyo search engine
and offer it as a widget

Add Google analytics

Want to know how often your public Netvibes page is being accessed? Add a module with the google analyics code included! Of course, this works only for the public page, but typically each module/widget usage will be automatically tracked as well.

Central Medical Library, University Medical Center Groningen

I’m just scratching the surface of what can be done. In the future I will from time to time post about specific library widgets that have useful functionality.

Until then
Aaron Tay

Make library search widgets with Widgetbox, Clearspring and netvibes

In my last post, I showed you three different ways you can create a portable web search widget for almost any arbitrary database you want. My preferred method used only simple Javascript with no other requirements and allowed you to generate a basic search box that you can put on any webpage.

In most cases you can just copy and paste the code to any webpage that accepts html and it will usually work. But what if you want to move it to a startup page like igoogle or netvibes? Or make it into a Bebo or Facebook application? Or even convert it into a Vista gadget, Google desktop gadget or Yahoo! widget to put on the desktop? Even Mac users are not left out! All these require the widget to be written in quite different formats.

This is where Widget distribution platforms come in. They allow you to upload Widgets in one form and then allows you to offer to users the same widget in different formats with one click.

Widget from Clearspring

Examples include Widgetbox (pro version exists), NetVibes, Clearspring, iWidgets, Sprout (not free). Also see Popfly and Dapper .

Many of them also provide analytics, tracking the number of users who have embeded the widget. This is of course important for measuring the impact of widgets.

Statistics from Clearspring showing usage

Such services also provide ease of use, in many situations the user doesn’t even have to copy and paste the code, also he needs to do is to click on the version he wants and it will be automatically linked to the account and added with a few clicks. For instance, one can quickly add a widget to one’s blogger sidebar with a few clicks.

In this post, I will talk about using Widgetbox, Clearspring and NetVibes to distribute the javascript web search widget we created in my last post. The others mention before require that you input the widget in Flash format or from a RSS feed (Dapper) and hence cannot be used as we are starting from javascript.


I’ve also embedded this widget (created using Widgetbox) in a sidebar at the bottom right of this blog.

Widgetbox is a very powerful and useful Widget maker, that allows you to input your Widget starting from a Widget made from Javascript/html, Flash, a remote widget or as a Google Gadget. If you don’t have a widget at all, you can create one out of RSS feeds, producing a widget that displays the content of the RSS feed.

In this instance, based on the Javascript from the previous post, we can obviously choose the Javascript/html option. Alternatively, using the remote widget option one can upload a webpage of the web widget onto a server and point the widget there.

Steps to create a widget using Javascript/html option

1. After registering, log-in and click on “make a widget”

2. Select html/Js option

3. Select blank widget, name the widget and click “continue”.

4. Copy and paste the html you used to create a web search widget into “Widget code” section

Two notes about the javascript code. If you link to any site, make sure you ensure the link will open in a new window (see example). Also any images should be uploaded to a server and then linked to with the full path.

5. Click “apply changes”

6. On the same page adjust the size of widgets in widget settings

7. Check “ Developer Agreement,Content Guidelines. ” and press “Save widget”.

8. The next screen allows you to further test, edit your widget, check analytics (how often your widget is downloaded) etc. But for now just click on submit to gallery.

9. Fill in as many details as you wish and then submit to gallery and you are done!

Alternatively, you could upload the widget as a webpage, then select “Remote widget” and insert the url. For example you can use this.

Use of Widgetbox is pretty straight forward, there isn’t really much to say beyond that. Once imported into Widgetbox, one can export to Blogging platforms (e.g. Blogger, Typepad,Facebook), Social networking sites (Bebo, Ning) Startup pages (e.g. netvibes, igoogle, Pageflakes) . All user needs to do is click on “Get widget”


A sample of this widget created using Clearspring can be found here

Clearspring is almost identical to Widgetbox. Clearspring however allows you to insert your widget into even more places from including Facebook application, Yahoo! widget etc.

This post is already very long, so I won’t go into details on how to use Clearspring, but it’s very similar to Widgetbox. You can use the following webpage as a template.


A sample of this widget created using Netvibes can be found here

Another widgetmaker you could try is NetVibes. Converting to NetVibes widgets is a bit more complicated and requires that you put in certain extra tags to comply with their UWA (universal Widget API). The documentation is here.

If this looks too scary for you, you can take a look at the example I created here. I myself modified it from the following example created by Guus Van Den Brekel from here. Just edit the appropriate fields, replace the javascript and it will work.

NetVibes is actually worth the trouble because it allows you to add widgets to Opera, Apple Mac OS X dashboard and Vista gadget which covers two of the major desktop widget formats.


Much of what I shown is still experimental, and you can spend a lot of time tweaking, customizing the look and feel. That’s all for now.

Aaron Tay

Creating web search widgets for any database – 3 different options

In an earlier post, i talked about how libraries are attempting to increase accessibility to their databases and catalogues via the use of opensearch plugins, custom toolbars, bookmarklets and even smart keywords.

Another way to improve accessibility is by embedding web widgets. You can embed all kinds of web widgets but here I will talk about web search widgets. Essentially these are javascript code for portable search boxes. I won’t sell you on how you can use this, but “but the general idea is to put it anywhere and everywhere your users may be

By cutting and pasting simple javascript, one can put the search box for catalogues and databases where-ever they want. Users no longer have to go to the official JSTOR page (for instance), just to search JSTOR. In fact, users can even cut and paste the same code and put it on their webpages to get the search box.

Vendors have begun promoting this. Proquest offers an easy to use search widget creator that allow librarians to easily generate javascript code to cut and paste to put where-ever they want on their portal (also CSA Illumnia) Ebscohost also allows this as well.

Note : Scopus takes a different tack and offers desktop widgets via Yahoo! widgets. But here I will focus on simple web widgets – simple javascript that one can cut and paste and put on any webpage.

But what if libraries want to create search web widgets for other databases that the vendors have not yet seen fit to support this? Currently, there are two approaches to handle this, in this post I will introduce a third method that AFAIK has not being mentioned before.

To get you motivated here’s one example of what you could do. I embed them into my subject guides

Approach one : Leveraging on database searches already supported by Conduit toolbar.

The highly innovative and creative librarian from Netherlands Guus van den Brekel is a big fan of Conduit toolbars. As I mentioned in a previous post this is a custom toolbar that can be configured to support quick access to search almost any database.

He realised that once a toolbar is setup to support searching say JSTOR, you can easily convert it to a web search widget. The instructions on how to do so are here.

My main concern with this method are as follows

1) The search doesn’t go directly to the database but is routed through Conduit servers, which might lead to privacy concerns.

2) The results shown will be framed. While this is an advantage for users who can quickly switch being databases. Some vendors might frown on sites framing their material.

Approach Two : Leveraging on existing federated search solution

Very recently at the Computers in Libraries 2009 conference, Nina McHale of Auraria Library, gave an amazing presentation entitled “Help your Library become omnipresent without spending a dime” (slides) , talking about what they have done with widgets. Definitely worth reading if you haven’t. But her presentation doesn’t go much into the technical details except to advise to check with your “web folk”. Looking at examples given here and in the slides, one notices/guesses that they are leveraging on their federated search solution from serial solutions? (I might be wrong)

If so I can see two disadvantages with this approach. Not every library will have a federated search solution. More seriously, I believe most federated search vendors charge you for each database you add, so this solution will restrict you to creating search widgets for only these few databases you are supporting.

Is there a better approach?

I have being a big fan of Opensearch plugins since I discovered them and I even created a big bunch of them here for almost every database we support on various platforms.

Once you have created a opensearch plugin, you know exactly what format the url should be sent to get the result. For instance, I know that to send a keyword query to EconLit (OvidSP) with the term TEST, you should send the following string.

How do I know that? For every opensearch plugin, you will have a string in the xml file that says something like the following

<Url type=”text/html” template=”;NEWS=N&amp;PAGE=titles&amp;SEARCH={searchTerms}.mp&amp;D=econ“/>

where {searchTerms} represents the search term that you type in.

Would it be possible to leverage on this knowledge to send the search directly from a web widget? I was pretty sure this was possible, but my javascript knowledge is practically zero, but looking at the sample web search widget produced by the Proquest Search Widget allowed me to figure it out.

Creating a simple web search widget by copying and pasting

After tweaking it a bit, this is what I came up with by modifying the Proquest widget version. It can probably be improved but so far it works fine.

<script type=”text/javascript”>
function econlitSearchGo(){
var url=”;NEWS=N&amp;PAGE=titles&amp;SEARCH=“;
var url2=”.mp&amp;D=econ
var searchInputeconlit = document.getElementById(“econlitSearchInput”); + encodeURIComponent(searchInputeconlit.value) + url2);


<div id=”enterText” style=”position: absolute; left: -1000em; width: 20em;”>Enter your search terms:</div>
<input type=”text” id=”econlitSearchInput” size=”30″ onKeyPress=”handleKeyPress(event,this.form)” />
<input type=”button” value=”Search” onclick=”econlitSearchGo()”/>


Don’t panic!

Okay if you are like me and am not a javascript god, this looks quite scary.
But it isn’t really. Look at the line that says + encodeURIComponent(searchInputeconlit.value) + url2);

It just means open in your browser a new window with a url made up of whatever is in

1) the variable url =

followed by

2) the search value entered into the box = For instance say TEST is entered in the search box.

followed by

3) the variable url2
As such on typing TEST and clicking on the search button, the following url will be opened

and this of course is exactly what you want to type in the browser url address bar!

One more example

Here’s one more example, you created a Scopus opensearch plugin. You look into the xml file and you see this

<url type=”text/html” method=”GET” template=”{searchTerms}&amp;origin=Browse&amp;javascript=t”>

So you know the string you need to send is{searchTerms}&origin=Browse&javascript=t

So what you do is to just copy and paste the same javascript as above, except to replace with the appropriate values

<script type=”text/javascript”>
function ScopusSearchGo(){
var url=”“;
var url2=”&amp;origin=Browse&amp;javascript=t
var searchInputscopus = document.getElementById(“ScopusSearchInput”); + encodeURIComponent(searchInputscopus.value) + url2);


<div id=”enterText” style=”position: absolute; left: -1000em; width: 20em;”>Enter your search terms:</div>
<input type=”text” id=”ScopusSearchInput” size=”30″ onKeyPress=”handleKeyPress(event,this.form)” />
<input type=”button” value=”Search Scopus” onclick=”ScopusSearchGo()”/>


Easy as pie. ūüôā

Some notes

1. If the search string ends with just {searchTerms} and there is nothing after it, you can just leave the line that specifies url2 as follows

var url2=””

2. It is not strictly necessary to change the variable name e.g. searchInputscopus instead of searchInputeconlit, if there is one widget per page, but this may cause problems if widgets sharing the same name are on the same page.

3. Note to beginners the examples above incorpoate the ezproxy string that you have to change to your institution.


1. Compared to the above two mentioned methods, search goes directly to database.

2. Relatively easy to create search widget once you have the opensearch plugin.

3. Cost nothing. No requirements at all, except client side javascript.


1. It is difficult to instruct users on how to create their own search widget for the database they want. It is unlikely the user would want to go through the method mentioned above. One advantage of approach two above (using serial solutions federated search) is that you can use easily understood codes like db=jst to represent JSTOR, making it easy for users to change to whatever search they wanted.

One possible improvement would be to to implement a gatekeeper page, as in “Plug your users into libraries resources with OpenSearch Plug-ins ” . Instead of the opensearch string going direct to the database it will go to a special gatekeeper php page that will redirect the search. That way, one could create nice aliases to use, it would go the php page which would then redirect to the correct url. Another advantage is that the gatekeeper page allows one to keep statistics of how often the searchplugin is used, and if the url string needs to be changed, all you need to do is to change the php string and all users will automatically be updated.


So what do you think? Is this a good idea?

The next step would be I think to figure out if this can be extended so that it can be used to create desktop widgets, put on startpages like netvibes, pageflakes, put on social networking sites like Facebook etc by putting it through Widgetbox etc

Adding ezproxy to the url – 5 different methods

Many libraries in the world provide remote access to electronic resources via EZproxy .

As Andrew Perry explains here

“Essentially, Ezproxy uses some URL mangling, rewriting all hyperlinks, to pass traffic via the proxy (rather than using a conventional browser proxy setting). If the user is not logged in to the proxy (ie has no fresh & valid cookie), a login screen is given before being forwarded to the journal site.”

In the case of NUS Libraries, a user visiting will not be able to logged in via NUS Libraries and hence cannot access full text. However if he accesses the same link with the extra string in red appended , he will be accessing the page via NUS Libraries and hence will have full text access.

While links from our library portal will typically have being specially treated to include the string in red, in today’s world, a user is more than likely to stumble upon a journal vendor site from some outside source that did not rewrite the link (e.g. Blogs, forums, web search engine results). As a result, users will not be able to access the full-text article.

This is particularly so for users using Google or Google scholar. Ideally if everyone was linking using openurl (which google scholar does) and every library had a openurl resolver (not all have) things would be a lot easier (besides being a much superior method for being certain whether a library has access if the same article can be found in different sources/vendor platforms) but ….. In any case, this post assumes that linking via Openurl has not occured and one is dealing with a simple link to a specific vendor url.

In such cases, one can always manually add the string “” to the url just after the domain name but clever librarians have come up with many ingenous ways to speed things up.

Some methods that can be used include

1. Bookmarklet
2. Libx
3. Greasemonkey
4. Zotero
5 Others

Use of bookmarklet

This is perhaps the most commonly used method. For this to work, one installs a bookmarklet into the browser. Clicking on the bookmarklet will automatically append the needed ezproxy portion of the url into whatever url the user is on, hence allowing him to access the resource.

Example : NUS Library bookmarklet


Lightweight, works on most browsers.


The bookmarklet can only work retrospectively, after the user is already on the url. In most cases, as the user is initially not authenticated via EZproxy, the page shown will be the public page. Clicking on the bookmarklet will then convert the page into the subscribed version. Unfortunately, some vendors will detect that you are not authorized to access the page and redirect the page to a generic error page. Obviously, clicking on the bookmarklet now, would be futile. Vendors that do this include Web of Science and Scopus?.

Also certain vendor sites (Wiley-blackwell is one) will report errors with cookies, when using the bookmarklet. The only way around these problems would be to convert the url on the fly before even hitting the page (Which the Greasemonkey script, Libx and Zotero do).

Libx toolbar

As I covered in a past post , Libx toolbar is a specialized custom toolbar that libraries can offer to their users to help enhance access to their collections. Among the many functions of Libx is the ability to support the use of EZproxy. This is done via two methods

1. When the user is already on the page.

Similar to the bookmarklet method, when the user is on a page that he is unable to access, he can right click and select the option “Reload via Library proxy”, and this will automatically reload the page he is on, with the ezproxy built in.

2. Prior to visiting the page.

Alternatively, before even hitting the page, he can right click on the link and select “go to via Library proxy”. This can be helpful in avoiding the situation mentioned above with vendors redirecting to generic error pages.

Example : NUS Libx toolbar demo


Because one can rewrite the url link , before even visting the url, this avoids the problem mentioned above with vendors redirecting to generic error pages. Also Libx supports both main browsers Firefox and Internet Explorer, although the bookmarklet supports more browsers.


Libx adds a ton of features, and is probably overkill, if all you want is just some way to add support to exproxy. It is of course possible to create a small simple Firefox addon that does just these functions, for instance recently I discovered this from way back in 2005!

Using Greasemonkey script
Greasemonkey is a Firefox addon that allows users to dynamically rewrite webpages. It is possible to create a greasemonkey script that will on selected domains (which user can add) rewrite outgoing urls to work with ezproxy.

Example : Greasemonkey script demo (NUS libraries) , Script originally from Andrew Perry


Unlike using bookmarklets or Libx, once configured properly, outgoing links will be automatically rewritten. Users save time, because they don’t have to click on the bookmarklet or right click and select context menu etc for it to work everytime you go to Jstor via Google scholar. You can also add more domains into the list.


Greasemonkey is Firefox only, though Internet explorer users might try it with greasemonkey with IE.

Once a domain is added, all outgoing links will be converted. This can cause problems in some instances. For example, one can’t simply add* and hope to convert all Google scholar links, because the next page button doesn’t work then!


Zotero is a well known opensource citation manager that runs as a Firefox add-on. It has tons of powerful features. However the latest 1.5 beta adds automatic proxy support

When I first read about it, I thought it worked like Libx‘s. But I was wrong, it’s far cleverer.

It works as follows, the first time you visit any url via ezproxy, Zotero will popup the following dialog box.

There isn’t much detail on how it works. But here’s my understanding, if you click “add proxy”, Zotero will silently track any urls that use ezproxy, and automatically create pattern matching rules so that similar urls to the same domain will be converted as well.

For instance if you visit for the first time, Zotero will notice that you are using a proxy to access If you click “Add proxy”, two things will happen

1) In the future whenever you go to any link that has in it, will be automatically appended.

2) In addition, you are not just restricted to Springer. if you next visit say JSTOR at , Zotero will silently learn (no prompt) about JSTOR links as well, so again in the future similar links to JSTOR urls will be converted.
The more vendor sites you visit via ezproxy, the more Zotero learns about which links (based on domain) should be converted. All this works transparently, the user does not need to do any work at all!

In short, what you have here is a simple autolearning system, that automatically learns what urls should be converted and appends the needed string!


Very user friendly. Domains that should be converted to use with ezproxy are automatically added without intervention by user. Once Zotero has learnt that certain url from a domain should be passed through Ezproxy, it will work automatically, saving time compared to using bookmarklets or Libx.

Do note that Zotero proactively converts recognized urls similarly to greasemonkey, so it works fine with links to Web of Science or Wiley unlike using bookmarklets. Unlike greasemonkey script it selectively converts only recognized urls, rather than all urls on the page, so it works great with say Google scholar and there is less chance of problems.


Unfortunately, Zotero is Firefox only add-on, so users using other browsers are out of luck.

Also though Zotero automatically recognises urls that require the ezproxy string to be added, it does not itself add the ezproxy string when you first visit a domain it doesn’t recognize.

One can of course combine methods. Use any of the earlier methods to append the ezproxy string to any new domains not yet recognized by Zotero, and the next time when you visit links in those domains, Zotero will kick in and work automatically.

In particular, given that both Zotero and Libx are opensource tools that are popular with users of Firefox, many librarians have began to recommend the use of both . So use the later to append the ezproxy string to unrecognized domains for Zotero to learn.


These are only some methods that can be used to append the ezproxy string. No doubt there are some other methods (e.g. other Firefox add-ons such as redirector and quieturl). Update 21/4/09 : The 5th method is courtesy of a library user from my institution. He uses shortcut typing tools and recommends the following typinator, textexpander (os x); fastfox, phrase express (pc).  These tools allow you to type a letter or two and expand it into a whole phrase, like a macro.

Overall I think Zotero‘s method is the smartest and easiest way to solve the problem of automatically adding the ezproxy string. It might even be worth installing it alone for this feature, if you constantly find yourself needing this feature.

Do note that if you append the ezproxy string and you still don’t have access, it doesn’t necessarily mean your library does not have access to that article. It is possible that you can still access the same article via another vendor or site.

Rss feeds, Library databases and yahoopipes

This post will discuss how to use RSS feeds from library databases. It’s surprisingly tricky to do it compared to subscribing to normal RSS feeds from most blogs. This is due to the fact libraries generally provide access via a proxy – ezproxy to provide remote access to databases off campus.

As most readers of this blog are probably reading this off a RSS feed, I won’t explain what a RSS feed is. If you have no idea what it is, please consult this guide.

The basic idea is this, do a search on a library database, create a RSS feed of the results and put it into your favourite feed reader (Google reader, Bloglines, Firefox,  Internet explorer 7 , Outlook 2007 etc), After which you can watch new results come in as and when the database is updated in it without needing to run the search again or visit the database site again.

Some library databases that provides results and alerts vis RSS include ScienceDirect (via NUS Libraries), Scopus (via NUS Libraries), Engineering Village (via NUS Libraries) databases on ProQuest (e.g. ABI/Inform via NUS Libraries),  Ebscohost (e.g. Business Source premier via NUS Libraries) , OVIDSP (e.g. EconLit via NUS Libraries) etc.  How you get the rss feed url differs but generally you click on the RSS button that appears on the results page (see below for example from Engineering Village)

However, if you try to just stick the url given by the database directly into your feed reader (see image below) you will be doomed for disappointment, it doesn’t work!

The technical reason and solution for this can be found here .

However for now there’s a work-around.

The method describes below is specific to databases subscribed via NUS Libraries, but any library (e.g. NTU, NLB) using ezproxy to provide remote access should be able to do something similar by removing the particular proxy stem.

You need to delete the part that says “” before pasting the url into your feed reader.

NLB users should remove “” , while NTU users should remove “

Most guides I have seen on library webpages stop here. While this works, and the results will be pulled into your RSS feed reader (see below), you will be disappointed when you click on the link in the feed reader.

Because the rss feed url you enter lacks the¬† ezproxy proxy stem, the outgoing links you are sent lack it as well, and when you click on the link, it brings you to an unsubscribed version (where you can’t see the full-text) of the page at best, or at worse you get an error page (see below).

One way to solve this problem would be to add the proxy bookmarklet here to your browser (specific to NUS Libraries, NTU version is here ) and then clicking on the bookmarklet will log you in from the error page above.

But that gets tiresome as you will have to do the same for each link you click from the RSS feed.

A smarter method would be to modify the RSS feed you get to automatically append the proxy stem, (for NUS Libraries, for other libraries edit the yahoopipes accordingly) to outgoing links. This can be done via a simple Yahoopipes filter (you will need to make very minor modifications if you are from some other libraries).

1. Go to

2. Enter the rss feed url (the one that does not have the string

3. Click “run pipe”

4. On the resulting page, click on “Get as RSS” and on the resulting page, copy and paste the url into your feed reader.

5. You will find that this time, the resulting rss feed will have links that work properly now. It goes without saying that if you haven’t logged in this browser session yet, it will prompt you to¬† log-in first.

Some libraries discourage the use of RSS feeds because they worry the constant polling for updates will cause unnecessary number of accesses. The method described above avoids this problem.

As results are pulled into your Feed reader, there is no access via the institution library, Until you click on the link to gain access to the database,¬† the vendor doesn’t count it has an access from you.

I might do a post about ezproxy, and other creative uses of Yahoopipes in the future.

Until later

Aaron Tay

Dipity for libraries

In my last post , I talked about libraries using Lifestreaming to aggregate all their social media/web 2.0 accounts. In particular, I talked about Friendfeed.

Friendfeed is typical of most lifestreaming services in which updates from different sources will be listed one by one in a list, one on top of another.

However a few lifestreaming services are a different breed of lifestreaming service, what Lifestreaming blog calls “time-lined based”

There are several such services, but perhaps the most mature and impressive one is Dipity. Below I show our NUS Libraries’ feeds will look like when fed into Dipity.

As the image above shows , all updates from different sources are displayed along a time line.  Images from Flickr will be shown, Videos from youtube, Twitters, blog comments etc

It is fully interactive, you can embed it in any webpage and users can zoom in, zoom out to see more details etc.

All in all, it is a lot more visually appealing then the average lifestreaming service, which shows updates one after another in a horziontal list.

Dipity also offers users an option to change from “timeline view” to a “list view” . The later will display something that¬† is similar¬† to Friendfeed and company (see below).

Another two other modes are offered, one is¬† “Flipbook view” (see below)

Just flip through each update, like flipping through pages of a book.

Perhaps the most interesting one is the Map view.

Map view is a bit difficult to explain. Basically in one of the blog posts one librarian reviewed a fiction book set in Italy, as a result it appears on the map in Italy, and if you click on it, it will show the corresponding post. This is a simple example of what they call geo-tagging (roughly speaking this involves tagging an item such as blog post, image etc with the geographical location associated with it).

Possibly, the images don’t do full justice to the concept, go to to play with it.

You can also embed it as a widget on any webpage, blog or even Facebook.

For more cool ideas on how to use this service you can go to their blog or just go to their Dipity homepage to see how other users are creating cool timelines.

Other similar services you can try include allofme ,  Dandelife , Lifeblob etc. Also there is Storytlr which is close enough to fit into this category.

I think time-line based lifestreaming is a very interesting way of  providing a visual record of library activities over a period of time. There are some things to iron out though, like ensuring that your blog post about Library event X, and the photos on the same event X posted to Flickr account should appear on the same day etc.

Libraries on FriendFeed

We recently started a small scale experimental presence on Friendfeed (official announcement) . Friendfeed is one of the most popular life-streaming services out there. I was curious about whether libraries were using such services and did a small survey on it. More on that later.

What is lifestreaming?

In today’s world, one person might be on Flickr, Facebook, Friendster, Slideshare, Youtube, Delicious or a hundred other different web 2.0/Social media accounts at the same time. Lifestreaming services aggregates all these accounts into one central place, for interested people to follow. Wired in Dec 2008 claimed that Lifestreaming is one of the web technologies of 2008 that you should be using now. For a brief description of how typical lifestreaming service work see here. The lifestream blog provides a comprehensive review of the latest state of art in Lifestreaming.

Libraries and lifestreaming?

Given that libraries are currently reaching out to user communities via blogs, Facebook, Flickr, Delicious and a myraid other social networking/media accounts, it seems natural for them to consider using lifestreaming applications to provide a centralized location for all these accounts.

There are many lifestreaming applications out there (see list and comparison), though it is still early days in this new area, Friendfeed (by an ex-googler), is currently the industry leader (though Facebook has recently added similar functions).

Though Friendfeed does not provide support to as many services as say Profilactic, they have a relative intutive interface,  a powerful search engine and relative size, though like most lifestreaming services they currently cater mostly to the early adopter crowd (including most librarians)

I was curious to see how many libraries have started Friendfeed accounts and so I did a small experiment. I searched Friendfeed for accounts with the word “Library” or “libraries”. I filtered out as best as I could accounts that clearly wasn’t Library accounts (for some reason it gives me accounts where library doesn’t appear in the account name?), excluded accounts that had no updates, and left out accounts where the feed was private (still testing)? In the end I ended up with 15 accounts.A couple seemed to be in testing/experimental modes though they all had at least 10 updates.

What are libraries doing with Friendfeed?

It was quite fascinating looking at the friendfeed account of each library. You get a quick snap shot of what web 2.0/library 2.0 activities each library is engaging in and I already see some interesting ideas that I didn’t think of. I also uploaded the data into googledocs here , feel free to edit.

One obvious thing I did was to see what web 2.0 accounts libraries were linking to in Friendfeed (I didn’t check if they actually had updates from those accounts though). Also if they had more than more accounts of the same service (say 2 blogs or 2 Flickr accounts), I counted them once.

Do note that the diagram above is not representative of what libraries are doing in the web2.0/socialmedia arena (for that see this). Rather they show what libraries who have Friendfeed accounts (who are likely to be early adopters) are doing.

Out of 15 accounts,  12 accounts have blogs. 11 accounts Twitter, 10 have Flickr account, 8 Delicious, 5 Youtube, 3 Slideshare, 2 Facebook, Librarything, Gtalk  and a scattering of the rest.

There are few surprises, though I’m mildly surprised Slideshare (and similar services) are not used more to share presentations (think library tutorials).

Though Twitter is getting a lot of press, it is still a technology that libraries are getting grips on (more info here, here , list of twittering libraries), so I suspect the large number of Twitter accounts here only reflects the fact that Libraries on Friendfeed are obviously early adopters.

Using the classification of social media services found here , we can see  libraries are basically using blogs, microstreaming services (Twitter, Plurk etc), photo sharing sites (Flickr, Picasa etc) , social bookmarking services (Delicious, Diigo, Twine etc).

Lesser used are video sharing sites (Youtube, Vimeo etc) , document sharing (Slideshare, Scribd etc) , book services (Librarything, Good reads, Amazon etc), music/movie review services (, iLike)

You can probably write an entire book on how libraries can use each category of social media service to reach out, so I won’t try at least for now.

But viewing social media services in such categories, one can suddenly see a lot of ways in which libraries can creatively use social media that we currently aren’t using.

For example how about using events related services like Upcoming , or calenders 2.0 service to publish library events? Geo-location services like Brightkite to keep patrons updated about your location? Sharing documents via Google reader ?

Lifestream services accept any kind of RSS feed (some might even accept ical format for online calenders?) , so you can add content as long as it is in RSS format.

For example, we currently convert our “new additions to libraries” into RSS format and push it to our Friendfeed account. If the content you want is not in RSS format, you can try using a data/feedscraper to convert a static webpage into RSS. I recommend Dapper.


The lifestreaming arena is still in a state of flux and understandably libraries might want to adopt a wait and see attitude. It is possible that Friendfeed and similar services will die off as standalone services as Facebook adds similar feature . On the other hand, maintenance of Friendfeed accounts is comparative light compared to a Facebook account.

If you are already running several web 2.0 accounts, friendfeed adds very little to the burden, once you set it up and link to your other accounts. Just continue to post pictures to Flickr, bookmarks to Delicious, make blog posts and your Friendfeed account will be updated automatically.

Even if users don’t use it, you can also aggregate all the content through Friendfeed and embed it into your Library portal via a widget.

Until later

Aaron Tay