The text describes MyLibrary@NCState, an extensible implementation of a user-centered, customizable interface to a library's collection of information resources. The system integrates principles of librarianship with globably networked computing resources creating a dynamic, customer-driven front-end to any library's set of materials. It supports a framework for libraries to provide enhanced access to local and remote sets of data, information, and knowledge. At the same, it does not overwhelm its users with too much information because the users control exactly how much information is displayed to them at any given time. The system is active and not passive; direct human interaction, computer mediated guidance and communication technologies, as well as current awareness services all play indispensible roles in its implementation. The system is accessible to anybody at the following URL:


In the Fall of 1997 and Spring of 1998 the NCSU Libraries conducted focus group inteviews whose purpose was to discover how electronic resources, digital collections, and services were being used by NC State University students, faculty, and staff. (Morgan, Morgan et al. 1998) The more important results included the desire of participants for "just-in-time" training as well as formal instruction in the use of electronic resources, participants liked the convenience of electronic resources but valued the library as a place, and particpants were often unaware of electronic resources and services available from the library. The Digital Libraries Initiatives Department of the NCSU Libraries decided to put into practice some of the recommendations of the focus group interviews. The paper describes the current state of these implementations in a system called MyLibrary@NCState.

In an effort to automate the recommendations of the focus group interviews, MyLibrary@NCState creates a simple user model based on lists of key words similar to Stefani, as well as many other authors. (Stefani and Strapparava 1999) At the same time, survey participants expressed the need for real human intermediaries to help them with information requests when they could not satisfy their needs by themselves. A similar conclusion was made by Aberg, and represents the reason why much of the implementations's customizations are not done "automagically" but through direct human intervention by the user and/or librarians. (Aberg and Shahmehri 1999) With these assumptions, a simple user profile and direct intervension of human intermediaries, MyLibrary@NCState allows users to create a view of the NCSU Libraries resources meeting their particular needs.

User Interface

user interface
user interface

From the user's perspective, MyLibrary@NCState is a customizable HTML page. It is accessible via any Web browser supporting Netscape cookies and the Secure Socket Layer (SSL) protocol. The process of creating a MyLibrary@NCState page begins when the user creates an account on the system. The account information includes rudimentary biographical data: name and email address. In addition, the creation of an account necessitates the selection of a primary academic interest from a pop-up menu. Once an account is created, the user's MyLibrary@NCState page is dynamically built and displayed. Afterwards other links may be added to or subtracted from the preconfigured list of recommendations to create a personal "digital library".

For example, by selecting among the system's many Customize hotlinks, a user is presented with lists of disciplines. Each list is associated with information resources (databases, journals, Internet resources, etc.) specific to that discipline. Resources from any discipline may be chosen to include in the user's MyLibrary@NCState personalized digital library, which appear in the Web browser after the selections are submitted. The next time a user visits MyLibrary@NCState, the system remembers all customizations and lists them accordingly.

Resources on the user's MyLibrary@NCState page includes information about the system, messages from librarians, links to users' personal librarians, university resources, discipline-specific Internet resources, citation databases, electronic journals, as well as direct access to common search engines and an NCSU Libraries-based selective dissemination of information service. These resources are divided into the sections below. Items marked with an asterisk are customizable by the user, all items are customizable by the librarian.

Header and footer

The header displays the MyLibrary@NCState logo, a navigation bar, a customize link, and a logout function. The logo gives the service an identity. The navigation bar provides easy movement around the page. The customize link initiates the process for changing the page's content (described in the Customizing MyLibrary@NCState section below). The logout function removes the system's Netscape cookie from the user's computer allowing the user to access the service at public workstations and at the same time, limiting unauthorized access to a user's page. The footer displays version, date, and contact information for the system. The user cannot customize the header or the footer.

Global message and Message from the Librarian

These services provide the means for librarians to broadcast messages to the users of MyLibrary. The global message is a text intended for every user of the system. It is much like the message of the day (MOTD) function on Unix computers. Information intended for the global message function includes announcements in changes of service or downtime, news from around the campus, or simply an interesting URL from the university's newspaper.

The Message from the Librarian is intended to function exactly like the global message except its content is only displayed to people who have chosen particular disciplines. Consequently there are many Messages from the Librarians, but not more than the total number of disciplines. Every user of MyLibrary@NCState is associated with an academic discipline. Each of these disciplines is associated with a text message intended to be changed regularly. When a MyLibrary@NCState page is displayed a discipline-specific message for the user is included in the content. These messages are expected to contain information pertinant to the discipline like URLs of interest, announcements of training opportunitities or the acquisition of new resources, or a short description of library-related services of interest. The user cannot customize either of these message functions.

Your Librarians *

The Your Librarians section lists the names, telephone numbers, and email address of the librarians and collection managers associated with the user's chosen discipline. Because each user of MyLibrary@NCState is associated with a discipline, and since each discipline is associated with at least one reference librarian and collection manager, then each user can be made aware of the names and contact information of their discipline-specific librarians and collection managers. This section also lists a generic email address intended for reference questions. The Your Librarians section is not directly customizable by the user, but it does change if the user changes their selected discipline.

Library and University Links *

The Library Links and University Links sections work similarly. Each is populated initially with a librarian-defined list of hyperlinks to various library and university home pages. These home pages are of any type but usually include pages describing library/university services, hours, policies, finding aids, college home pages, or campus-wide directories.

These sections are customizable by the user. By selecting an associated Customize hotlink, the user is presented with a list of available library/university-related information sources deemed by the librarian as "important" or "useful to know". Each item in the list is associated with an HTML checkbox. The user selects or de-selects any number of these items, and by submitting their selections, the system records the user's preferences in the underlying database and redisplays their MyLibrary@NCState page with only the selected items.

Since these sections are initially populated by librarians who are making recommendations based on disciplines, these sections are initially proactive/computer mediated interactive assistance services. After these sections have been customized by the user, they become reactive/computer mediated interactive assistance services.

Bibliograhic Databases, Electronic Journals, and Reference Shelf *

The screen shots below illustrate how some of MyLibrary@NCState is customized.

Current Awareness
Current Awareness
Personal Links
Personal Links
Databases, part 1
Databases, part 1
Databases, part 2
Databases, part 2

The Bibliograhic Databases, Electronic Journals, and Reference Shelf sections provide the means for the user to have displayed only the scholarly information resources they believe are important to their work.

Like the Library Links, these sections are initally populated with a list of recommendations prescribed by a discipline-specific librarian. The Bibliograhic Databases section contains lists of journal indexes. The Electronic Journals section contains lists of digital serial titles. The Reference Shelf was originally intended to include links to Internet resources traditionally assocated with traditional library reference desks (ie. dictionaries, encyclopedias, handbooks, manuals, directories, maps, etc.) but it has since grown to include just about any type of Internet resource with scholarly content.

To customize these sections the user selects the associated Customize hotlink. They are then presented with a list of their existing section items as well as a list of all the system's disciplines. From here the user can check or uncheck any of their existing section items and return to their MyLibrary@NCState page. Alternatively, the user can select a discipline. This returns a list of all the resources associated with that discipline and that section. Again, the user can select any of these resources. Upon submiting their chioces their selections are saved to the system's database and the user is returned to the main page.

Personal Links *

The Personal Links section allows the user to save links to Internet resources they use often that are not included in any of the sections above. No librarian can hope to collect the total sum of Internet resources and organize them into a database. Given this fact, the Personal Links section provide the opportunity for the MyLibrary@NCState user to add their own links to the system.

To customize this section the user first selects the Customize hotlink. They are then presented with a list of the existing personal links and given the opportunity to delete any of them or add others. Upon submitting the customization form the user is returned to the main MyLibrary@NCState page.

Quick Searches *

The Quick Searches section provides direct access to a number of Internet search engines including local online public access catalogs (OPAC). By selecting a search engine from a pop-up menu, entering a query in the text field, and submiting the form, a database query is constructed in the form of a URL. The user's browser is then "redirected" to this dynamically created URL and the results of the search are displayed.

Current Awareness *

The Current Awareness section provides the means for the user to search the library's OPAC for recent acquisitions in the user's interest areas. Optionally users can have these search results regularly sent to their email address. Assisted with a simplified version of the library's call number system, the user can customize this function so it saves ranges of call numbers (profiles) to the MyLibrary@NCState database. Users can save as many of these profiles as they desire. The profiles are searched on a regular basis (weekly) against a list of new acquisitions to the library's catalog, and the results are sent to the user's email address. The results include only call number, author, and title information. Each item is associated with a URL allowing the user to view the full record describing that item in detail. Based on the full record, the user can then decide whether or not they want to borrow the item from the library's collection.

Administrative interface

administrative interface
administrative interface

Maintenance of the MyLibrary@NCState system is done through an administration interface. The interface is a menu of hypertext links protected by a simple username/password access control system. The administration menu allows administrators to create, modify, or delete just about any content item in the system's database. The most important item in the menu is the list of academic disciplines since each each and every other item in the system is somehow related to this list. Other important content times include:

To create, modify, or delete any of these items the authorized librarian selects an item from the menu and completes the resulting form. Changes take place immediately. For example, suppose somebody wanted to change the global message. They would select the Edit Global Message of the Day hotlink and enter what ever text they desired. If a new librarian where to join the library's staff, then they would select the Manage Librarians hyperlink and create a new record making sure the record was associated with at least one discipline. Consequently, users of the system who had selected a discipline equal to the discipline choosen by the new librarian would then see the new librarian's name and email address on their MyLibrary@NCState page.

MyLibrary@NCState Technical Infrastructure

computing model
computing model

MyLibrary@NCState is essencially a database application, accessible from an HTTP/HTML interface, and governed by the principles and practices of librarianship. The distinctive element of this system is not the technology driving it, but interactive assistance services it provides via librarians. The text below describes the system's technical infrastructure, the computing model.

MyLibrary@NCState is primarily built on four software computer technologies:

  1. an operating system
  2. a structured query language (SQL) database server
  3. a hypertext transfer protocol (HTTP) server
  4. a scripting language "glueing" together items #1, #2 and #3

Operating System

MyLibrary@NCState is grounded on a computer running Unix, and just about any computer running Unix can run MyLibrary@NCState. Unix was chosen for two reasons. First, Unix is the most commonly used operating system for large Internet services. Consequently, there exists a large number of people who can administrate Unix computers. Second, Unix is available for the widest range of hardware platforms, and since the NCSU Libraries considers the possibility of sharing the MyLibrary@NCState source code, the Libraries does not want to limit what the system can run on.

Database server

The SQL database hosting MyLibrary@NCState includes multiple tables holding data for the majority of the systems's content (user and current awareness profiles, Internet resources, help texts, recent acquisistions information, and relationships between these tables). Creation of these tables is done through a minimalistic but wholely functional terminal interface, but data entry functions are supported via HTML forms from the Administrative interface.

The database application serving all this content is MySQL. It was chosen primarily because it was free, implements SQL, runs on multiple Unix computers, provides the mechanisms for auto-incrementable fields as well as variable field lengths, but most importantly, it supports an application programer's interface (API) for both the Perl and C programming languages.

HTTP server

The HTTP server hosting MyLibrary@NCState is a Netscape Enterprise Server, but any HTTP server would work as long is could run on a Unix computer and support CGI scripts; MyLibrary@NCState does not rely on any special functions of the Netscape Enterprise Server.

Scripting language

Perl is the CGI scripting language chosen to "glue" together the SQL database and the HTTP server. Perl was the obvious choice for this purpose since it is interpreted (making it easy to debug), free, works on multiple computing platforms, is widely supported by the Internet community, but most importantly is one of the APIs supported by MySQL.

MyLibrary@NCState is really two sets of Perls scripts. One is for the user interface and the other is for the administrative interface. Both sets "require" and "use" many supporting subroutines. Including both POD (plain old documentation) and comments, the entire system comprises more than 13,000 lines of code.

Program execution

Program execution begins when a user connects to the default file (a script) of the system and initializes a number of global variables. If the user's browser sent a MyLibrary@NCState Netscape cookie, then the value of that cookie is used as a dabase key to display a specific MyLibrary@NCState page. If a MyLibrary@NCSate cookie was not sent, then the user's browser is redirected to the university's SSL authentication system. The user's authentication is then used as a key to locate a MyLibrary@NCState database record. If a record is not found then a new record is created and a MyLibrary@NCState cookie is returned to the user. If a record is found then a MyLibrary@NCState cookie is returned. In either case, the user then has the opporutnity to view their MyLibrary@NCState page and customize it accordingly.

Customization commands are sent via the command line argument of a URL. Program execution branches to specific subroutines based on the values of these command line arguments. In general, a command line argument will be of three types: get, set, or display. Get commands, not to be confused with GET HTTP action statements, display a user's current settings and allow them to choose other options via HTML forms. Set commands take the input of get command and save them to the system's database. If the command is not get nor set, then a user's MyLibrary@NCState page is simply displayed.

Not Just a Portal or Bookmark Manager

There are at least four things that make MyLibrary@NCSate is more than a portal nor bookmark manager. First, the system includes a service allowing users to regularly receive and search lists of new books added to the library's collection, the Current Awareness service. Using Library of Congress call numbers for books and serials, users can create any number of Current Awareness profiles. The MyLibrary@NCSate system saves these profiles and searches its database for them on a regular basis. Search results are sent to a user's email address, which allows direct access to the library's catalog via a hotlink and to more information describing the book.

Second, based on the selected discipline, the system displays the name and contact information for the appropriate librarian and collection manager who specializes in the given subject area. More than one librarian may be listed, depending on the discipline selections. The library has learned from its users that although digital libraries are desirable, direct access to librarians is necessary as well.

Students and faculty or administrative staff do not always have time to be constantly on the lookout for new and better information resources. The library helps in this regard with another service of MyLibrary@NCSate called Message from the Librarian. This section, updated regularly by the appropriate librarians announces, suggests, and helps users keep abreast of interesting information developments in their selected disciplines.

Finally, unlike bookmark managers, MyLibrary@NCState is portable and requires only a Web browser to use. Because access to the system's database is keyed to the university's authentication system, valid users can access MyLibrary@NCState from just about any Web browser in the world. MyLibrary@NCState can be accessed from offices, homes, or even within the library. Conversely, bookmark managers or locally defined sets of bookmarks are bound by a particular machine or computing system.


As Belkin has pointed out, information filtering and information retrieval (IR) are "two sides of the same coin". (Belkin and Croft 1992) Using less scientific means, the profession of librarianship has been practicing information filtering and IR through human intermediaries since Green first advocated reference service in 1876. (Green 1876) MyLibrary@NCState tries to put these perspectives (the scientific and artistic) into practice. A usability study has been done on the system and much of its recommendatins have been implemented (Horst and Bzostek 1999), but there is still a lot that can be done to improve both the system's functionality as well as usability. MyLibrary@NCState supports only the most rudimentary of "undo" capabilities. The system's portability would be enhanced if it were capable of importing a user's bookmarks similar to MURL ( 1999). Similarly, it would be a more customizable if it supported the layout features of services like Excite or My Yahoo. (Excite 1999) (Yahoo! 1999) More importantly, MyLibrary@NCState could benefit from the implementation of "adaptive" technologies similar to the Adaptive Hypermedia System (AHS) as described by De Bra. (De Bra 1999)


  1. Aberg, J. and N. Shahmehri (1999). Web Assistants: Towards an Intelligent and Personal Web Shop. 8th International Word Wide Web Conference, Toronto, Canada. URL:
  2. Belkin, N. J. and W. B. Croft (1992). "Information Filtering and Information-Retrieval - 2 Sides of the Same Coin." Communications of the ACM 35(12): 29-38.
  3. De Bra, P. (1999). Design Issues in Adaptive Web-Site Development. 8th International Word Wide Web Conference, Toronto, Canada. URL:
  4. Excite, Inc. (1999). Excite 1999. URL:
  5. Green, S. S. (1876). "Personal Relations Between Librarians and Readers." Library Journal 1(October): 74-81.
  6. Horst, R. L. and J. Bzostek (1999). Findings from a Heuristic Usability Evaluation of the MyLibrary/Current Awareness Web Interface. Silver Spring, MD, UserWorks, Inc.
  7. Morgan, K. A., E. L. Morgan, et al. (1998). Electronic Resources and Services of the NCSU Libraries. Raleigh, NC, North Carolina State University Libraries: pg. 1.
  8. (1999). Murl. 1999. URL:
  9. Stefani, A. and C. Strapparava (1999). Exploiting NLP Techniques to Build User Model of Web Sites: The Use of WordNet in SiteIF Project. 7-th International Conference on User Modeling, Banff, Canada. URL:
  10. Yahoo!, I. (1999). My Yahoo! 1999. URL:

Creator: Eric Lease Morgan <>
Source: This paper was shared at a workshop of the SIGIR '99 conference in Berkeley, CA.
Date created: 1999-07-26
Date updated: 2004-11-15
Subject(s): MyLibrary; portals;