Wednesday, April 29, 2009

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

Tuesday, April 21, 2009

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.


Widgetbox



Example of search widget created from Widgetbox using similar Javascript from last post

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.










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"

Clearspring




Example of search widget created from Clearspring using similar Javascript from last post

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.


Netvibes

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.

You can find my sample Netvibes widget here.

Conclusion

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

Monday, April 20, 2009

Creating custom search boxes for library use- 3 different methods

Note : Since I posted about this , Scopus changed their urls which means the example below using Scopus will fail obviously (but the EconLIT/OVID SP example still works), but the method is still sound in general. Moreover a newer post suggests that there might be a slightly more stable method by varying the string sent. But by and large most of the content here remains valid, particularly explanation of how the javascript works.

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.

A barebones version looks like this

Enter your search terms:




Update: Doesn't work when embedded in Blogger?

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.

http://gateway.ovid.com.libproxy1.nus.edu.sg/ovidweb.cgi?T=JS&NEWS=N&PAGE=titles&SEARCH=TEST.mp&D=econ

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="http://gateway.ovid.com.libproxy1.nus.edu.sg/ovidweb.cgi?T=JS&amp;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="http://gateway.ovid.com.libproxy1.nus.edu.sg/ovidweb.cgi?T=JS&amp;NEWS=N&amp;PAGE=titles&amp;SEARCH=";
var url2=".mp&amp;D=econ"
var searchInputeconlit = document.getElementById("econlitSearchInput");
window.open(url + encodeURIComponent(searchInputeconlit.value) + url2);
}</script>

<div>

<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()"/>

</div>



Enter your search terms:

Enter your search terms:
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

window.open(url + 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 = http://gateway.ovid.com.libproxy1.nus.edu.sg/ovidweb.cgi?T=JS&NEWS=N&PAGE=titles&SEARCH=

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 =.mp&D=econ
As such on typing TEST and clicking on the search button, the following url will be opened

http://gateway.ovid.com.libproxy1.nus.edu.sg/ovidweb.cgi?T=JS&NEWS=N&PAGE=titles&SEARCH=TEST.mp&D=econ

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="http://www.scopus.com.libproxy1.nus.edu.sg/scopus/search/submit/quick.url?searchtext={searchTerms}&amp;origin=Browse&amp;javascript=t">


So you know the string you need to send is
http://www.scopus.com.libproxy1.nus.edu.sg/scopus/search/submit/quick.url?searchtext={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="http://www.scopus.com.libproxy1.nus.edu.sg/scopus/search/submit/quick.url?searchtext=";
var url2="&amp;origin=Browse&amp;javascript=t"
var searchInputscopus = document.getElementById("ScopusSearchInput");
window.open(url + encodeURIComponent(searchInputscopus.value) + url2);
}</script>

<div>

<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()"/>

</div>


Enter your search terms:
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.

Advantages

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.


Disadvantage

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.

Conclusion

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







Saturday, April 18, 2009

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 http://www.springerlink.com/content/j187567w723h43m4 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 http://www.springerlink.com.libproxy1.nus.edu.sg/content/j187567w723h43m4/ , 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 ".libproxy1.nus.edu.sg" 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 proxy bookmarklet , (description)

Pros

Lightweight, works on most browsers.

Cons

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 samplepage.com 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 samplepage.com 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

Pros

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.

Con

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

Pros

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.




Cons

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 http://scholar.google.com* and hope to convert all Google scholar links, because the next page button doesn't work then!


Zotero

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 http://www.springerlink.com.libproxy1.nus.edu.sg/content/j187567w723h43m4/ for the first time, Zotero will notice that you are using a proxy to access Springerlink.com. If you click "Add proxy", two things will happen

1) In the future whenever you go to any link that has springerlink.com in it, libproxy1.nus.edu.sg will be automatically appended.

2) In addition, you are not just restricted to Springer. if you next visit say JSTOR at http://www.jstor.org.libproxy1.nus.edu.sg/action/doBasicSearch?Query=stated+preference&wc=on&dc=All+Disciplines , 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!

Pros

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.

Cons

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.

Conclusion

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.

Blog moved to http://musingsaboutlibrarianship.blogspot.com/

After struggling with the limitations of Wordpress, I decided to move my blog from http://blog.nus.edu.sg/aarontay/ which was kindly hosted by CIT of National University of Singapore (where I work) to http://musingsaboutlibrarianship.blogspot.com/ on Blogspot (this blog!).

For subscribers reading this via RSS, please change your subscriptions to http://feeds2.feedburner.com/MusingsAboutLibrarianship . For now I will continue to update both blogs concurrently, but I will stop doing so by 1 June 2009.

The reasons for moving

1. Adding Javascript into posts is hard if not impossible.

This page seems to suggest it is possible, but it's way too complicated. Not being able to embed javascript means missing out on the posting of widgets like the Dipity widget in my post Dipity for libraries, or posting direct links to add opensearch plugins in my post Top 10 opensearch searchplugins used at the Information Desk

2. Difficulty of adding plugins

Though Wordpress is very customizable if you host it yourself, in my case, it's by edublogs campus , makes it very difficult to add plugins. In comparison hosting on blogspot, makes it easy to add plugins like Feedburner, Disqus (to aggregate comments).

The reasons for not moving

1. Risk alienating people who already subscribed

I know for sure that there are at least 3 subscribers, I hope they don't mind resubscribing. Also, my blog was already highlighted by Citations

2. Possible misunderstandings

My superiors at NUS Libraries have being very supportive of my decision to blog even though running the blog on the official NUS domain has led to some misunderstandings. Although my decision to move to third party blogspot has being purely for technical reasons, I'm worried the imaginative might read something else into it that isn't there.

Let me out state again for the record, my superiors have being more than supportive (and in more ways than just blogging), generous and open-minded, in allowing me to express my ideas in a blog. I count myself very lucky to be working there.

As such, it would be extremely unjust if they were blamed for this move. I like to thank, CIT (Central for Instructional Technology) in particular Kenneth Pinto for kindly hosting my blog.

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 ".libproxy1.nus.edu.sg" before pasting the url into your feed reader.
NLB users should remove ".libproxy.nlb.gov.sg" , while NTU users should remove ".ezlibproxy1.ntu.edu.sg"

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, libproxy1.nus.edu.sg (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 http://pipes.yahoo.com/pipes/pipe.info?_id=bfa397d618763affe6e2c1e4affc0532
2. Enter the rss feed url (the one that does not have the string libproxy1.nus.edu.sg)
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

Libraries might do better in Twitter, Friendfeed then in Facebook?

As of 2009, the 3 hottest darlings of social media right now are Facebook, Twitter and Friendfeed (in order of size).

My tenative thesis is that of the three, Facebook is probably the hardest for libraries to use as a tool for engaging users compared to Twitter or Friendfeed.

First some background.

In 2008 the social media press were comparing Twitter to Friendfeed, musing along the lines on whether Twitter or Friendfeed would go mainstream first.

By 2009, it was clear Twitter was way ahead and this was followed by a reaction claiming that Twitter isn't really a competitor to Friendfeed, rather Facebook was.

Given that Facebook has being stealing features liberally from Friendfeed, and Friendfeed has being inching their way towards a Facebook like interface in their beta by going "people centric", I can see why people might feel so.

Still there is one essential feature where Friendfeed is different from Facebook (and similar to Twitter).

By default Friendfeed (and Twitter) is open. You can choose to protect your updates or feeds so it is private/invitation only, but most people choose not to. In contrast, Facebook is by default private, to interact with someone you first need to send a request or to "friend" him.

I personally find it somewhat paradoxical, that Friendfeed being a lifestreaming application, potentially exposes more of your private life than Facebook, and yet most people have Friendfeed accounts that are public, but have closed Facebook accounts.

I suspect this has to do with the terminology, you "subscribe" (a more neutral term with no connotations of a social relationship) to a Friendfeed account, but you "Add a friend" in Facebook.

Richard Akerman and many others have also noted that Friendfeed (at least prior to the beta) was designed not to be people-centric, it was more about interacting with the information and not with people. If most users view Friendfeed that way, they might feel like threatened about pushing all their stream public, because (they assume) that everyone is just looking at the information and not at people per se.

What does this mean for libraries trying to reach out to users?

One of the problems Libraries have being faced with using Facebook as an engagement tool is that students are reluctant to be "friends" with the library. While "friending" a library is not as bad as friending your professor or your Mom it still feels weird. This holds even if the library's facebook account is public, friending an organization just doesn't seem kosher.

On the other hand, Friendfeed due to it's inherent open nature, has a more passive, socially neutral, transaction free vibe. You could compare it to being near a water cooler, listening to strangers or public speakers talk.

A even better comparison would be to subscribing to a RSS feed from a blog you find interesting. You don't need to have any prior relationship with the blog writer, to subscribe. In fact, Friendfeed (and Twitter) does indeed provide RSS feeds for users to subscribe to in a RSS feed reader of their choice, so this comparison is in-deed apt.

Of course, if users choose not to get Friendfeed accounts or twitter accounts of their own, but just subscribe to the RSS feeds of Friendfeed and Twitter, libraries lose the two way communication capabilities inherent in such medium, but even that would be a plus being able to push information to users. Think of it as Blog+.

That is perhaps the inherent problem with Friendfeed (and perhaps Twitter). Unlike Facebook which is already mainstream, Friendfeed isn't and might not make it to mainstream.

Tuesday, April 14, 2009

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.

You can even embed it as a widget into the webpage (see below)





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 http://www.dipity.com/Nuslibraries/ 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.

Share this!

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Related Posts Plugin for WordPress, Blogger...