Functional Specification for the GET-IT Service
Rethinking Resource Sharing Project – Interoperations Group – March 2006
Background: There has been a shift of models in the resource sharing world from “discover, locate, request and deliver” to “find and get”. We are herewith proposing a further shift to a very
simple “get” model. The process of finding a resource is now more often done outside of library services, and inside of services such as Google and technorati. Efforts to expose resource sharing services as such to web users now need to be re-focused so that library resources are integrated into non-library web services, meeting users at the place where they find resources. This integration of library resources into the web at large can be achieved with a browser plug-in that will expose library sources along with other commercial sources. The purpose of this project is to assist in making libraries more visible and relevant while providing individuals with a wide range of choices for obtaining desired information and materials.
Service definition: The GET-IT service is one service in the developing modular framework for web-based information and material retrieval services. The GET-IT service operates as a plug-in for a web browser that is invoked in web domains that contain references to published items. This plug-in is independent of any other software application, and will be developed as open source software.
Summary description of the service: A web user downloads and installs the GET-IT plug-in
application into their browser, configuring the plug-in for personal use by supplying such specific data as geographic location (i.e., postal zipcode) or preferred library information (e.g., library card number). When a browser with the GET-IT plug-in installed displays web pages that contain references with identifiable handles, the GET-IT button is added to the display. If the page has come from a recognized domain, the GET-IT button is added at end of the display entry for each identified reference, but if the page is from an unknown domain, a single GET-IT button is applied to the page. Figures 1 through 3, below, illustrate the GET-IT function applied to three different domains, the third being unknown:
Figure 1: the GET-IT button applied to an Amazon web page
Figure 2: the GET-IT button applied to an OPAC web page
Figure 3: the GET-IT button applied to a page from an unknown domain (button is at top right)
When the GET-IT button is clicked, a browser window displays a list of appropriate sources for obtaining the referenced item, each entry including a link to the item source, as well as such relevant information as cost, time to delivery, and format. These lists might look like figure 4 or 5:
Figure 4: a list of movie sources for a user in the Berkeley, California vicinity
Figure 5: a list of resources for items in a page of unknown origin (i.e., with a single GET-IT button)
Application components: the browser plug-in includes these component parts:
; Personal configuration
; Domain page list parser
; Item look-up
; Source list html constructor
; Logging agent
; Intelligent profiler
1. Personal configuration / Profiling service:
This component collects and stores data about the user preferences through dialog with
the user during the installation process. There is also a mechanism by which the user
can add to or modify this information after installation has been completed. Note that it
needs to be determined whether this information will be stored on the user’s workstation
or on a remote server. Also note that initially, during the pilot, this information might
consist of just the user’s zip code. As the service becomes more full developed, a fuller
set of data could be supported, as described in the user-object below.
In order to serve users who use multiple libraries, it will be necessary to eventually
develop a profiling service as one part of the framework. It is possible that this service
can be implemented as part of the plug-in, but it may be necessary or expedient to implement it using a remote server. The profiling service would store and maintain the user-object.
2. Domain page list parser:
When a browser receives a new page from an http request, the returned page is parsed to identify items with handles that can be used in locating sources for the items.
When the page has come from a known domain, every item it contains for which a handle is identified, a link, based on the handle. is generated that will, when activated, perform a look-up action (described in the item look-up section below) on the referenced item. The generated link will be displayed at the end of the web page entry as the “GET-IT” button
(see examples above in the service summary).
When the page has come from an unknown domain, a single GET-IT button is created for the entire page. When the button is activated, a single list will be created, containing entries for any handles that have been identified in the page along with links to resources for each handle.
By differentiating between certain heavily-used, known domains, it is possible to maintain the visual integrity of pages from those domains.
3. Item look-up:
When a “GET-IT” button is clicked, elements of the user-object are used to identify
; For-fee-services to be queried
; OPAC, OpenURL resolver, and/or other registries containing sources to be
searched for the item
4. Source list html constructor:
A browser window is constructed that displays the list of all sources identified by the profile and item look-up components as being relevant for the user. Where there might be a large number of potential sources for any given item, the number is reduced by applying the criteria contained in the user’s profile to list only those that meet those criteria. Each item in the list is a deep link into the specific source. An example of this page is shown in Figure 3.
5. Logging agent:
The logging agent reports click actions to a server that gathers the data for statistical analysis. Two types of click actions are reported:
; A click on the “GET-IT” button
; A click on a link in the resulting pop-up page
6. Intelligent profiler:
This component records in the user-object the recent sources that the user has selected.
As the “GET-IT” service is more fully developed, this information can be used to sort a list
of item links in the source list html so that the user’s preferred sources are at the top.
GET-IT service objects: the above described application components use the following objects:
1. User-object - this is populated at the time of plug-in installation and thereafter as needed;
it includes such elements as those listed in NCIP documentation on circulation person
information. This object might be stored on the device that houses the browser, but the
user must be given a method (the Profiling service) for modifying and maintaining the
data in the object regardless of where it is stored.
2. Item-object – this would include metadata information used to describe the item in the
domains in which it may be located.
3. Supplier-object - refers to a potential supply agent that can provide the named item-
4. Message-object – as-yet-to-be-defined communication regarding the request/order and
tracking it’s status