One thing that really helps development is code reuse. If we can buy a library
that solves some problem for us (and figure out how to use it), we can often cut
substantial time off a project. The only problem is that it is very easy to become
over-reliant on a library. If you use it promiscuously throughout your code, you
are pretty much stuck with it. Some teams I’ve worked with have been severely
burned by their over-reliance on libraries. In one case, a vendor raised royalties
so high that the application couldn’t make money in the marketplace. The team
couldn’t easily use another vendor’s library because separating out the calls to
the original vendor’s code would’ve amounted to a rewrite.

At the time of this writing, much of the development world is polarized
around Java and .NET. Both Microsoft and Sun have tried to make their platforms as broad as possible, creating many libraries so that people will continue
to use their products. In a way, it is a win for many projects, but you can still
over rely on particular libraries. Every hard-coded use of a library class is a
place where you could have had a seam. Some libraries are very good about
defining interfaces for all of their concrete classes. In other cases, classes are
concrete and declared final or sealed, or they have key functions that are nonvirtual, leaving no way to fake them out under test. In these cases, sometimes
the best thing you can do is write a thin wrapper over the classes that you need
to separate out. Make sure that you write your vendor and give them grief
about making your development work difficult.
Avoid littering direct calls to library classes in your code. You might think that you’ll
never change them, but that can become a self-fulfilling prophecy.
Library designers who use language features to enforce design constraints are often
making a mistake. They forget that good code runs in production and test environments. Constraints for the former can make working in the latter nearly impossible.
From the Library of Brian Watterson198 DEPENDENCIES ON LIBRARIES ARE KILLING ME
on Libraries
Are Killing Me
A fundamental tension exists between language features that try to enforce
good design and things you have to do to test code. One of the most prevalent
tensions is the once dilemma. If library assumes that there is going to be only
one instance of a class in a system, it can make the use of fake objects difficult.
There might not be any way to use Introduce Static Setter (372) or many of the
other dependency-breaking techniques that you can use to deal with singletons.
Sometimes wrapping the singleton is the only choice available to you.
A related problem is the restricted override dilemma. In some OO languages,
all methods are virtual. In others, they are virtual by default, but they can be
made non-virtual. In others, you have to explicitly make them virtual. From a
design perspective, there is some value in making some methods non-virtual. At
times, various people in the industry have recommended making as many methods non-virtual as possible. Sometimes the reasons they give are good, but it is
hard to deny that this practice makes it hard to introduce sensing and separation in code bases. It is also hard to deny that people often write very good code
in Smalltalk, where that practice is impossible; in Java, where people generally
don’t do it; and even in C++, where plenty of code has been written without it.
You can do very well just pretending that a public method is non-virtual in production code. If you do that,



Literature review/historical background
From the technical services standpoint, Hopkins noted early articles in library literature
focused on the relationship with the World Wide Web (WWW) and the online public access
catalog (OPAC)
[2]. With machine-readable cataloging (MARC) intact, cataloging and serials

seemed perfectly poised to make a smooth transfer into this new realm of librarianship. Terms
such as WWW, URL (Uniform Resource Locator), Telnet, and Gopher evoked great
expectations of this new technology and what it would bring to the workplace. Henderson
describes how acquisition departments found Web sites dedicated to locating and ordering
materials very useful [3]. Expansion of these services soon flourished with another great
benefit, as noted by McCoy, when vendors began to allow online ordering
[4]. McCoy also
warned that paying online via credit card for such convenience can be a risky behavior, which
shows how rapidly technology is evolving when one considers that today so much banking is
done electronically
With the onslaught of this new Web technology came ease of communication. Perhaps the
most helpful online tool comes directly from the users themselves, the listserv
[6]. Today
there are hundreds, if not thousands, of these electronic discussion lists that aid the flow of
information. Groups range in topics from all-encompassing, such as the Library Cataloging
and Authorities Discussion Group (AUTOCAT) that covers all aspects of cataloging issues, to
narrower subsets, as with the Cooperative Cataloging Arrangements Between Libraries
Discussion Group (COOPCAT). These mechanisms are useful not only for problem solving,
but also as a means to stay current in the literature and with new trends
Access in the form of who could or should use these new resources was also an
emerging issue. With Internet access came surfing the Web—people soon realized that time
slips away easily as one magically links from one site to another. Library managers and
supervisors questioned the need for support staff to find practical use in these online tools.
396 D. Groves / Libr. Coll. Acq. & Tech. Serv. 29 (2005) 395–402
In regard to time management and productivity issues, Landesman and Oberg reported
from a 1995 North American Serials Interest Group (NASIG) conference workshop that
bmembers of the audience generally agreed on the importance of encouraging staff to learn
how to navigate the Internet, yet concern was voiced as to whether all staff need to be
Q [8]. However, McCoy described electronic access as a bconferenceQ from your
seat where support staff becomes involved in discussions and debates, thus contributing to
staff improvement and growth
[9]. Additional benefits include participation in professional
development activities and continuing education opportunities without incurring travel
As more people were exposed to this fast-paced and exciting new technology, technical
services librarians began to harness these resources and use them for their specific needs,
thus creating their own Web pages. Terry, Greenblatt, and Hashert stated reasons for
creating such a page: (1) centralization of information, (2) currency, (3) customization, (4)
efficiency, and (5) communication. A natural transition occurred from the generalized,
contact-information-only Web pages to more specific pages dedicated to specific work
divisions and tasks
[10]. Brown gave examples of useful information an acquisition
librarian might include, such as collection development announcements, collection statistics,
and links to other libraries Web pages for other helpful links
[11]. She went on to say, bBy
creating a local collection of Web resources, we can customize that collection to best meet
the needs of our community
Q [12]. This community includes not only customers, but
librarians as well. Apart from specific areas, technical services departmental Web pages in
general make it easy to dispense the most current and up-to-date documentation,
departmental goals, and annual reports along with the possibility to highlight special
The task of creating a Web page is something to be carefully planned in order to ensure a
well-designed and functioning site.
5 Consideration should be given to who will create and maintain the site and who will be
allowed access, as well as why it should be created in the first place, who will be the target
audience, and what types of information will be included
5 The Nanyang Technological University (NTU) located in Singapore described outcomes
from the development of their cataloging department Web page as providing access to
documentation and online resources, department policies, training and work procedures,
and a
bcannedQ tour of the department [16].
5 Blosser, Hagan, and Zhang listed many Web sites for the serial cataloger to consider when
developing a site
[17]. They divided these into three categories: (1) How to, (2) Support
[documentation], and (3) Editorial [references].
5 The development of the University of Cincinnati’s technical services Web page resulted in
the assurance that all employees have access to the same information and or documentation
and that it could be easily kept up-to-date
A study by the Association of Research Libraries (ARL) conducted in 2003 showed that of
the 60 randomly sampled, only 12 had a technical services Web page
[19]. The study
D. Groves / Libr. Coll. Acq. & Tech. Serv. 29 (2005) 395–402 397
concluded that the overall size of the library has a direct correlation with the existence of a
technical services departmental Web page.
The next logical step is the types of tools that are included on technical services Web
pages. Chressanthis and Wesley conducted a survey of 40 similar size technical services
Web sites and discovered that 27 institutions had pages beyond the essential contact
[20]. Of these, 19 included external links with a combined total of 2164 unique
links. In December 2002, Mundle, Zhao, and Bangalore looked at 10 consortium libraries
cataloging department Web pages
[21]. They found that most pages were simple in design.
Nine sites held external links including links to online cataloging tools, eight cataloging
department pages held links to local documentation, yet only three linked to professional
literature, and only two provided links to professional organizations. Apparently, then no
continuity exists for the information or links provided through library technical services
Web pages.
The technical services areas of academic libraries primarily serve the same purpose, to
acquire and to provide access to library materials; therefore, it stands to reason that the same
basic online work tools would be utilized. However, this does not seem to be happening—
similarities in purpose are not reflected in the use of similar online work tools. This paper will
further investigate this phenomenon of inconsistent technical services online work tools.