Wednesday, August 27, 2008

Widgetized Applications! (for most html based browsers)

Well I have been working on polishing some applications that are designed to make life easier here at the library. We found some active library widgets at Widgetbox and I decided to try and work with it. Here is an example of what I came up with:



Constructing the widget was a bit difficult at first as there were no real instructions on how to start. In effect an html based widget requires html and can also take javascript. There was an issue with the way some of the components interacted and it took a bit of tinkering with the scripting and code to get the widget working correctly.

The problems I experienced were related to the straight searching of the catalog. It required that I create a new window in the browser, shift the focus to the window, and load the page. Rather than using a normal form, action command. The code also required javascript for the construction of appropriate urls.

On the plus side hosted widgets localizes the location of files and allows for a singular location where everything for the construction of the file is located. Say for instance that someone came in as a freelancer and created widgets for us then we would know where they were located and could easily access the code. Which could have been a problem with flash, or flex based widgets.

Monday, July 21, 2008

Phone Reference + Internet Based Chat = Sublime

I have been using Meebo as a chat client for over a year now to handle engineering and other subject related reference. One trick that I have added to my web 2.0 arsenal is using a two-edged, phone + chat, approach to reference:

Lets say I get a phone call or am handling general reference at our reference desk and get a phone call there. If I need to get a lot of information to the caller, and it just does not seem that telling them what or where the information is located is not working so well, then I will ask them to go to my profile here at the library on their computer. I then get them to scroll about halfway down the page and I can then send them textual information, web-links to information or databases. This phone-chat hybrid reference is a dynamite combination for explaining hard concepts or difficult situations.

I find that too often we spend a lot of time talking to people, who are already on the Internet, trying to point them to specific web-pages, waiting for them to get everything correct, spelling out web addresses, etc. It is much easier to just hand them the link that they need via the use of a chat client. We can give them more accessible information and do a better job of steering them to what they want this way. It seems less confusing. :)

Wednesday, July 16, 2008

OU Engineering Toolbar now compatible with Firefox 3.0 and auto-updates

I have finally had time to settle down and setup the OU Engineering Toolbar so it auto-updates. In effect everything you would need to know about fixing the versioning is in this article from Mozilla's Development Center.

The way that you setup automatic updating is by hosting an update.rdf file in a directory the format of which can be found in this web-page. It also requires you to use secure http (https). If you are working with this just check with your systems administrator to see if hosted files use this automatically.

I was expecting this process to take a lot longer time-wise to work it out but it only took about two days to get everything sorted. Now I am going to go down to the Russ College of Engineering and see about getting the toolbar hosted in the computer labs there!

Friday, June 20, 2008

All Science Poster Session - Engineering Toolbar: Portal to Library Services

Several people at the SLA Conference asked me to provide access to the poster that I presented, at the All Science Poster Session. Here is the link to that file. I hope everyone had a great conference and I look forward to hearing from you in the future.

Metalib and EBSCO Allow Many Databases to be Automated-Federated Searching

I just got back from SLA in Seattle, Washington and the conference was great! There are so many ideas that I have brought back and am planning on working with so I thought I would share some of them with you. The first is what Metalib and EBSCO allow us to accomplish, as librarians, when trying to create toolbar applications that search like Google.

When you run a search in Metalib for about 5-10 seconds a persistent URL will appear in the search box of your browser. You can do this for either individual databases, or the federated searches that Metalib provides. If you want to automate that search you need to copy it before it changes to a session URL. You can then of course automate it like I explain in this post.

The advantage here is that there are a large number of databases that Metalib can search through that use non-persistent URLs. The downside is that researchers may be used to specific interfaces. With the OU toolbars searches to a database that can only be accessed via Metalib use Metalib, but if the search box is left blank the toolbar goes to the native interface. Then through instruction I make sure to teach researchers which databases are wired for Metalib.

EBSCO has an option built into it where you can select multiple databases that you want to search. After running a search you can either check the persistent link to the search or add the search to your search folder (either is a persistent URL). When you select multiple databases you can extract a persistent search that covers many databases. So now we can set up searches for toolbars that are federated searches for EBSCO (for whichever databases you want to use).

Tuesday, June 3, 2008

ENGR Wiki goes live

I have been working on putting together ENGR Wiki an engineering research based Wiki that is now accessible at Ohio University Alden Library. The Wiki has reached a good enough size now that I can release it to the public. I hope you find it interesting though it will be most useful to engineering researchers from the Ohio University community.

The Wiki has a breakdown of useful databases by engineering discipline that are taught at the Russ College of Engineering. It also has research guides about patents, standards, and other topics. It is also the home of the OU Engineering Toolbar.

Thursday, March 13, 2008

More Discussion of Firefox Extensions

For the developers and people who have interest. I have found a very useful series of FAQs on Mozilla's Developer forum

As soon as we get out of the quarter and it slows down a bit here I should be able to sign my application and get it hosted so we can automate updates which will be very cool.

Thursday, February 28, 2008

Google Sites

Google Sites is an interesting publicly available collaboration tool that the people over at Google are making available to anyone who wants to use it. To play with it you need to provide your work e-mail address and set up an account It does however remind me quite a bit of MS SharePoint which I have been an administrator for at another institution.

This kind of collaboration tool has a lot of potential and encourage you all to take a look at it.

Monday, February 18, 2008

Limitations on Search Databases

For the purposes of automating search queries to add them into the search box there are specific limitations that I have run into so far. Vendor's products tend to fall into two specific categories:

In the first instance the search query is built into the URL that is provided for searching (or it can be harvested by checking to see if there is a persistent link to the exact search). If that is the case then we can just extract out the search string that is necessary for the search. For example running a search for "information technology" in the library catalog here at Ohio University:

Here the first part of the search is:
string1 = http://alice.library.ohiou.edu/search/X?SEARCH=

The search string is:
foo = information technology

The last part of the search is:
string2 = &l=&m=&b=&searchscope=7&SORT=D&p=&Da=&Db=

To automate the search you just need to add the pieces together:
query = string1 + foo + string2

Then there is a third variable we tend to need to handle which is authentication. Each library tends to have their own strings for this so the final query actually ends up being:

final = authentication + query

To test at this point you could just copy "final" into a web browser and see if it returned a search. If you get results it works!

Then there is the second type of query and that is the type where there is a persistent session id. At this point I do not have a solution for how to run searches to these databases. There are several databases that I offer to my Engineers which can only be accessed by running queries through Metalib so that is what I offer at the moment.

Wednesday, February 13, 2008

Good News - Engineering Toolbar Rollout Update

So far I have taught instruction sessions on how to utilize the Engineering Toolbar for research to the following sections:

Electrical Engineering/Computer Science Graduate Students
Electrical Engineering/Computer Science Faculty
The Technical Writing section for the Russ College of Engineering (a mixture of graduate students from all over the college).

The toolbar has been well received. I have received mail back from the Chair of EE/CS suggesting that all faculty in that department should go ahead and read the handouts I provided as well as install the toolbar to speed their research and better results. I have also had walk-ins from graduate students who wanted individual instruction involving the toolbar (and had not attended my previous classes).

My next instruction session is tomorrow with the Mechanical Engineering Graduate students.

One of the Chairs has suggested that I go ahead and contact the main networking person for the College and get the toolbar installed on all the machines there. This is good news but I need to finish up a final plagiarism component for the toolbar before making such a widespread release.

New Additions and Functionality



Resizing Gripper

With the help of The University of Pennsylvania Libraries Toolbar I was able to correct and add a resizing gripper to the toolbar. The gripper behavior is a bit non-intuitive as to how it works but I was able to correct the behavior by locking down each component by setting their flex values. The gripper resizes the box to the immediate left of it and nothing else. If the values were not set then resizing the toolbar would be destructive and when you pulled the bar to the left and let go of the element it would leave everything scrunched together (like my previous post).

So each XUL element needs to have locked size settings and a setting for flex:
width="value"
minwidth="value"
flex = "0" (or 1) (0 means that it is not flexible, 1 means you can resize it).

Tabbing Controls



One of my faculty asked me to standardize the searching method that is built into the toolbar to load each new search into a pop-up menu. I have added the option to pick whether or not the user wants to load searches in new windows or to load them in the current window they are working in. The following XUL script will add in a tabbing section to a menu. The function that follows controls whether or not tabbing is used.

XML:
<menupopup id="EToolbar Settings">
<menuitem label="Tabbing On" oncommand="engrTabSet(true)" tooltiptext="Turn Tabbing On" />
<menuitem label="Tabbing Off" oncommand="engrTabSet(false)" tooliptext="Turn Tabbing Off" />
</menupopup>

Javascript Functions:

//engrTabSet(Boolean) - Sets whether tabbing is on or off.

function engrTabSet(engrtabval)
{
if(engrtabval)
{
engrpops=true;
}
else
{
engrpops=false;
}
}

//engrTab(String) takes the string that is given to it and either loads it into a new tab (if tabbing is on) or loads it into the same window otherwise.

function engrTab(engrlink)
{
if(engrpops)
{
var newTab=getBrowser().addTab(engrlink);
getBrowser().selectedTab=newTab;
newTab.selected='true';
}
else
{
window._content.document.location=engrlink;
}
};

I have gone through the code that I used for the toolbar and cleaned up syntax and formatting. I also standardized several of the functions so there would be no conflicts with other applications.

Thursday, January 31, 2008

Bug Scrunches Toolbar! Compatibility ...

First a note about compatibility; I have a friend who tried to run the Engineering Toolbar in the beta version of Firefox and they were unable to do so. I'll have to look into why this is the case. Now for the fun part:

What happened to my toolbar??!?



I initially ran into this problem the first time when I was working on getting a resizing gripper to change the size of the toolbar.

Then I also had a student report this error which was even worse than the first one!



The sequence to recreate the problem that I first found is to do the following:

Click View -> Toolbars -> Customize
Then click "Restore Default Set"

I mention this so you will know that there is a bug in Firefox that has yet to be fixed and what specific actions create the bug. You do not need to repeat the steps but if you do I have instructions on how to fix it.

So how do we fix this? A word of warning this process is destructive if you have customized your toolbar. As such you may want to take a screenshot of the changes that you have made so you can re-implement your changes.

Here is how you fix the error:

1. Exit out of Firefox.
2. Click on the start menu
3. Select Mozilla Firefox (Safe Mode)



4. Click on the option box for "Reset Toolbars and Controls".
5. Click "Make Changes and Restart".



That should fix the problem. :)

-------------------------------------------------------------------------------------

Special Instructions for Macintosh Users:

In order to open Firefox in Safe Mode, go to the Utilities menu and launch Terminal. Then type the following command at the Terminal prompt:

/Applications/Firefox.app/Contents/MacOS/firefox -safe-mode

Then, a new Safe Mode window will pop up; follow instructions as for Windows (above).

Wednesday, January 16, 2008

OU Engineering Toolbar - Release

Today is the soft roll-out for the OU Engineering Toolbar. If you want to play with the toolbar you can download it from the ENGR Wiki where it lives. You will also find instructions about how to install/uninstall the toolbar there.

I will be showing this to a class of 20 graduate students in Engineering my first real crop of beta testers.

Tuesday, January 15, 2008

The OU Engineering Toolbar and Breakdown of the Components

Here is a picture of the current engineering toolbar that I am coordinating beta testing with my faculty. For a better view of the toolbar just click the picture.



The first thing to note is that there is a nice OU Engineering Toolbar pull-down menu which allows me to provide useful links to pertinent information that our students may need. This functionality is very useful as the Russ College of Engineering is one of the departments that is located furthest away from Alden. The links that I selected are basic services: Library account information, Document Deliver/Interlibrary Loan, Contact Information, Etc.


Databases that have been selected to be included in this pull down menu are ones that are useful to Engineers. I included subscription databases that we have access to that do not allow us to redirect searches through a persistent url (those databases that do allow this are handled in the Search section of the Toolbar). I also included needed free resources. I am open to suggestions for additions of resources that Engineers will find useful though at this time my faculty have indicated that these are the ones that they prefer. I think the goal here from a development standpoint is to reduce the amount of clutter and to fine tune for efficiency. If students want to look at all the resources we have available to them that link is in the regular OU Engineering Toolbar menu under the Infotree heading.


Chat functionality has been setup so that any students, faculty or staff who are making use of the OU Engineering Toolbar can just click the CHAT button and it will connect them straight to me via the web client Meebo. If I am available I can then attempt to answer their questions and requests or direct them to appropriate resources. The advantage of Meebo is that since it is an application delivered through your web browser no one needs to install a chat client to ask questions. If I am not available there is a link to Other Help Options which leads to our Alden Library chat and would put users of the toolbar in touch with our reference service which is open all hours that the Alden Library Learning Commons is available.


Searching is a two part process. The user of the toolbar first selects the database they want to search in. If they click the go button at this point it will take them straight to the database that they have selected. If they add a search term then it will search in the appropriate database. On campus this is a seamless process as there is no need to authenticate via proxy. Off campus all links are run through the proxy service so people will be able to access there resources wherever they need to.

I will be posting a link to a working copy of this application. I can also go through examples of code if there is enough interest.

Developing Custom Toolbars for Firefox as Portals to Knowledge

After a bit of discussion it was felt that Ohio University could benefit from having a custom toolbar developed for our resources for Mozilla Firefox.

Chad Boeninger and Wanda Weinberg two colleagues of mine pointed out to me that Scott Rice developed a toolbar for UNC Greensboro for Mozilla Firefox. Chad also provided me with a link to an excellent tutorial on toolbar implementation by Born Geek. If you are interested in developing your own toolbar I would suggest checking the links that I have provided.

Scott Rice's toolbar is excellent in that it puts the resources that students need to perform better research right in front of them. At the present time most resources are buried within the library's homepage and this makes it difficult for students as what they want from the library is something that is closer to Google. Federated searches are great for placing a large amount of databases within easy reach of students but I have found that toolbars are easy to use and can provide a Google-like environment.

Degree of difficulty. This kind of project will either require you have a dedicated programmer or someone who has understanding of CSS, Javascript and XUL. I have several years of experience developing computer programs and this experience helped quite a bit.

At this point we have three working prototype toolbars. There is a generic toolbar which was developed for the main library. The generic toolbar will require more polishing as since the purpose of it is to be installed on our public image here in the library it just has a longer developing cycle. There is a Business Toolbar that is being developed by Chad Boeninger. There is an Engineering Toolbar which I have developed and have already started testing with my faculty and select graduate students in the Engineering department.

The Coding Librarian - Purpose

The Coding Librarian has been created to share ideas with colleagues and to discuss the modern day technical aspects of providing Reference and Instruction to students, faculty, staff and patrons of different types of libraries. I will attempt to examine the issues of technology and what can be done to keep abreast of different technical and non-technical methodologies for delivering the best possible service to our users.

As an coder and a developer I also have projects that I am working on that are meant to enhance what can be delivered to students here at Ohio University. I will chronicle the development of these applications I am hopeful that you will find them to be useful.