You are here

Feed aggregator

Code4Lib Journal: Participatory Design Methods for Collaboration and Communication

planet code4lib - Mon, 2017-01-30 18:46
Website redesigns can be contentious and fraught in any type of organization, and libraries are no exception. Coming to consensus on priorities and design decisions is nearly impossible, as different groups compete to ensure their subject or specialty area is represented. To keep projects on track and on time, libraries may give a few staff members the authority to make all of the decisions, while keeping user research limited to a small number of usability tests. While these tactics are sometimes necessary, at best they can leave many feeling left out of the process, and at worst, can result in major oversights in the final design. Participatory design methods can bring users and stakeholders into the design process and ultimately lead to a better design and less friction in the project. The authors share their experience and lessons learned using participatory design techniques in a website redesign project at a large, multi-location academic library, and how these techniques facilitated communication, shaped design decisions, and kept a complex, difficult project on track.

Code4Lib Journal: Python, Google Sheets, and the Thesaurus for Graphic Materials for Efficient Metadata Project Workflows

planet code4lib - Mon, 2017-01-30 18:46
In 2017, the University of Virginia (U.Va.) will launch a two year initiative to celebrate the bicentennial anniversary of the University’s founding in 1819. The U.Va. Library is participating in this event by digitizing some 20,000 photographs and negatives that document student life on the U.Va. grounds in the 1960s and 1970s. Metadata librarians and archivists are well-versed in the challenges associated with generating digital content and accompanying description within the context of limited resources. This paper describes how technology and new approaches to metadata design have enabled the University of Virginia’s Metadata Analysis and Design Department to rapidly and successfully generate accurate description for these digital objects. Python’s pandas module improves efficiency by cleaning and repurposing data recorded at digitization, while the lxml module builds MODS XML programmatically from CSV tables. A simplified technique for subject heading selection and assignment in Google Sheets provides a collaborative environment for streamlined metadata creation and data quality control.

Code4Lib Journal: Supporting Oral Histories in Islandora

planet code4lib - Mon, 2017-01-30 18:46
Since 2014, the University of Toronto Scarborough Library’s Digital Scholarship Unit (DSU) has been working on an Islandora-based solution for creating and stewarding oral histories (the Oral Histories solution pack). Although regular updates regarding the status of this work have been presented at Open Repositories conferences, this is the first article to describe the goals and features associated with this codebase, as well as the roadmap for development. An Islandora-based approach is appropriate for addressing the challenges of Oral History, an interdisciplinary methodology with complex notions of authorship and audience that both brings a corresponding complexity of use cases and roots Oral Histories projects in the ever-emergent technical and preservation challenges associated with multimedia and born digital assets. By leveraging Islandora, those embarking on Oral Histories projects benefit from existing community-supported code. By writing and maintaining the Oral Histories solution pack, the library seeks to build on common ground for those supporting Oral Histories projects and encourage a sustainable solution and feature set.

Code4Lib Journal: Building a Scalable and Flexible Library Data Dashboard

planet code4lib - Mon, 2017-01-30 18:46
Data dashboards provide libraries with the means to demonstrate their ongoing activities and usage in an engaging and communicative fashion. Yet, due to the number of service platforms used by libraries, and the wide-ranging technical specifications they entail, bringing all of this content together in a sustainable way is a significant challenge. This article describes Portland State University’s project to design and build a data dashboard based on a scalable and flexible infrastructure that would enable them to present data in a visually compelling and dynamic interface.

Code4Lib Journal: What’s New? Deploying a Library New Titles Page with Minimal Programming

planet code4lib - Mon, 2017-01-30 18:46
With a new titles web page, a library has a place to show faculty, students, and staff the items they are purchasing for their community. However, many times heavy programing knowledge and/or a LAMP stack (Linux, Apache, MySQL, PHP) or APIs separate a library’s data from making a new titles web page a reality. Without IT staff, a new titles page can become nearly impossible or not worth the effort. Here we will demonstrate how a small liberal arts college took its acquisition data and combined it with a Google Sheet, HTML, and a little JavaScript to create a new titles web page that was dynamic and engaging to its users.

Code4Lib Journal: OPRM: Challenges to Including Open Peer Review in Open Access Repositories

planet code4lib - Mon, 2017-01-30 18:46
The peer review system is the norm for many publications. It involves an editor and several experts in the field providing comments for a submitted article. The reviewer remains anonymous to the author, with only the editor knowing the reviewer´s identity. This model is now being challenged and open peer review (OPR) models are viewed as the new frontier of the review process. OPR is a term that encompasses diverse variations in the traditional review process. Examples of this are modifications in the way in which authors and reviewers are aware of each other’s identity (open identities), the visibility of the reviews carried out (open reviews) or the opening up of the review to the academic community (open participation). We present the project for the implementation of an Open Peer Review Module in two major Spanish repositories, DIGITAL.CSIC and e-IEO, together with some promising initial results and challenges in the take-up process. The OPR module, designed for integration with DSpace repositories, enables any scholar to provide a qualitative and quantitative evaluation of any research object hosted in these repositories.

Code4Lib Journal: Adopting a Distributed Model for Data Services

planet code4lib - Mon, 2017-01-30 18:46
This article describes how the Saint Edward’s University Library implemented a distributed model for the Institutional Repository. Based on Cloud Based platforms and APIs, the Library has created an Institutional Repository that is scaleable and modular, considerably lowering its implementation and maintenance costs, while lowering its technical complexity.

Code4Lib Journal: Developing an online platform for gamified library instruction

planet code4lib - Mon, 2017-01-30 18:46
Gamification is a concept that has been catching fire for a while now in education, particularly in libraries. This article describes a pilot effort to create an online gamified platform for use in the Woodbury University Library’s information literacy course. The objectives of this project were both to increase student engagement and learning, and to serve as an opportunity for myself to further develop my web development skills. The platform was developed using the CodeIgniter web framework and consisted of several homework exercises ranging from a top-down two-dimensional library exploration game to a tutorial on cleaning up machine-generated APA citations. This article details the project’s planning and development process, the gamification concepts that helped guide the conceptualization of each exercise, reflections on the platform’s implementation in four course sections, and aspirations for the future of the project. It is hoped that this article will serve as an example of the opportunities–and challenges–that await both librarians and instructors who wish to add coding to their existing skill set.

ACRL TechConnect: #1Lib1Ref Edit (2017)

planet code4lib - Mon, 2017-01-30 17:00

I participated in the “#1Lib1Ref” campaign again this year, recording my experience and talking through why I think it’s important.

Andromeda Yelton: the highest level of service

planet code4lib - Mon, 2017-01-30 15:53

I. We provide the highest level of service to all library users… ALA Code of Ethics

That’s what public libraries do, right? Provide service to everyone, respectfully and professionally — and without conditioning that respect on checking your papers. If you walk through those doors, you’re welcome here.

When you’re standing in the international arrivals area at Logan, you’re in a waiting area between a pair of large double doors, exiting from Customs, and then the doors to the outside world. We stood in a crowd of hundreds, chanting “Let Them In!” Sometimes, some mysterious number of minutes after a flight arrival, the doors would open, and tired people and their luggage pour through, from Zurich, Port-au-Prince, Heathrow, anywhere.

And the Code of Ethics ran through my head because that’s what we were chanting, wasn’t it? That anyone who walks through those doors is welcome here. Let them in.

Library values are American values. And if you have a stake in America, don’t let anyone build an America that’s less than what we as a profession stand for.

Hydra Project: IMPORTANT – Change of dates for Hydra Connect 2017

planet code4lib - Mon, 2017-01-30 15:37

Apologies, but after our announcement, just before Christmas, of dates for Hydra Connect 2017 it became apparent that they clashed with a PASIG conference which, at that point, had not been widely advertised.  This would have represented a conflict of interest for a significant number of our Hydra community

Accordingly, the dates for Hydra Connect 2017 have been changed.  It will still be hosted by Northwestern University but the dates are now Monday November 6th – Thursday November 9th, 2017.  This year we have made the decision to use a conference hotel and the event will take place at the Hilton Orrington near the University.  Please update your calendars!

Further information via emails and the Hydra wiki in due course!

Open Knowledge Foundation: Brazil’s Public Spending project is looking for leaders in various regions of Brazil to increase participation in the budgeting process.

planet code4lib - Mon, 2017-01-30 06:48

On the 11th of January, OK Brazil launched its new Public Spending website.

The website is part of a wider campaign to search, recruit and support new leaders that wish to work with transparency, mainly public spending, in Brazilian municipalities and is using OKI’s OpenSpending technical architecture. The support will be provided to mentors specializing in law, transparency, technology and open data. The goal here is to increase the transparency in budget execution, bidding process and contractual management of cities.

In order that leaders can achieve concrete results, the OK Brazil team will develop a chronogram with each and everyone of them, using the existing legal framework, the support of mentors and digital tools to increase transparency and the participation in the budgeting process.

“The new website demonstrates how to organize the missions and actions of the new leaders, empower the civilian society so that they may be able to monitor public spending and give access to both academics and journalists to budgeting data of cities”, says Lucas Ansei, developer and one of the mentors of the new website.

According to Thiago Rondon, coordinator of the OK Brazil team, the mentors will have a fundamental role to the formation of the leaders. “They’re specialists with experience on the matter at hand and will support the leaders with online conferences that will offer directions so that the impact of the actions of these new leaders is meaningful.”

Another goal of this new phase of the project is to reach out to city mayors all over the country with the intention to get them to both sign the Public Spending Brazil Commitment Letter and realize the concrete actions foreseen in the letter.

Be a leader of the Open Spending project in 2017

According to Thiago, there will be an initial agenda of action that functions like a step-by-step manual so that anyone can help to increase the transparency in the city where they reside. “We want to empower the people so that they may do that on their own. To potentialize the divulgation, we will have local leaders in pilot cities that will have a direct support from the OK Brazil.”

Those who want to participate as a local leader of the Public Spending project can do so on the website. During this first phase,  the OK Brazil team will select 15 local leaders through answers offered via inscription form.

LibUX: What users expect

planet code4lib - Mon, 2017-01-30 04:56

An overview of a Libre book-detail page, which one tester referred to as “dark Amazon.” We took that as a good thing.

Users have high expectations these days. The hours spent in elegant web apps like Netflix and Spotify seem to be sharpening the collective sense of design. What was once the pinnacle is now the convention, and as Don Norman said, “Conventions are slow to be adopted and, once adopted, slow to go away.” So we thought it would be fun to emulate some of our favorite sites in a lightweight concept discovery layer we call Libre. Below are some of the expectations we prioritized in the design. 1

#1: Things worth doing also look cool

First, we wanted to elevate books to the same “cool status” of other media. Thanks to Netflix and Spotify, that meant choosing a dark theme with white lettering and neon trim. Because of the ready association with the national library symbol, we chose blue for the secondary color.

Search bar and category navigation within Libre. These categories could later be personalized.

#2: The most useful things are also the most visible

The intent in a known-item search (33-60% of all queries 2) is rapid visual confirmation, so we highlighted title, author, and cover image. In more serendipitous browsing, the intent is evaluation, so average rating and a synopsis are prioritized second. 3

Central section of a Libre book-detail page. Other proposed tabs were Reviews (from Goodreads) and Library Info.

#3: All the answers are here

Several friends of mine have revealed, at one point or another, that they didn’t know the library was free. While this can seem shocking, it’s bad design to assume that the user knows everything they need: immigrants may never have had access to a public library before, and the less tech-savvy might need to know that borrowing ebooks is legal. Hence, we avoided jargon like “Place Hold,” list requirements, and explained the basic premise of a library in fine print beneath the main call-to-action.

#4: Browsing is always assisted

Other sites deliver personalized recommendations by capturing reams of personal data. Content-based recommendations like “Nebula Award Winners” or “NYT Bestsellers – Fiction” assist users in a similar way, though. Offering a compelling alternative is more important at the library than anywhere else online, since the title a user came looking for could be out on loan already. We wanted to keep our users from leaving in frustration if they encountered an unavailable title.

In our model, content-based recommendation lists like this one are curated by local librarians.

#5: I can bring friends

A site without sharing is a city without roads. Even if the features aren’t used too often, we decided that it was important to offer up multiple options for users to save, share, and otherwise show off their discoveries. We distinguish subtly between casual users, who might know to post or tweet, and the power user, who may want to embed a free link on his book review blog, for instance.

What other expectations are important? What features did we miss? Feel free to play around with the Libre prototype and let us know on Twitter at @readlibre.


1: Our work in this article focuses on a popular reading use case, and will therefore seem more applicable to public libraries. Still, we hope our friends in academics get something out of it too.

2: EBSCO and Ex Libris are at odds over this figure. EBSCO says “Just under 30” and Ex Libris “over 50.” Both of them exclude author searches from their definition of “known-item” entirely, which seems to me a mistake. Often an author search is an easier route to a known item: for instance, when the title is so long as to be annoying to type or so short as to be ambiguous. Therefore, I inflate their estimates by about 5%.

3: Notably absent are Format and Availability. These are currently displayed after the user clicks “See at the Library.” A more robust implementation might have them both appear on the page.

Ed Summers: Twitter Replies

planet code4lib - Sun, 2017-01-29 05:00

It can be difficult to have a conversation in Twitter but people somehow seem to manage. You can reply to someone’s tweet, and other people can reply to your replies, which forms a conversation thread of sorts. But the display of the thread is difficult to interpret.

What’s worse is that there is no Twitter API call to get the replies to a given tweet. If you have the JSON for a tweet in hand you can use the in_reply_to_status_id property to fetch the tweet that it is responding to. But the converse is not true: there is no straightforward way to get the tweets that are in response can given tweet. If I’m wrong about that please let me know. For a much more thorough discussion and analysis of these constraints see Alexander Nwala’s Tweet Visibility Dynamics in a Tweet Conversation Graph.

It’s a bit of a hack but you can use Twitter’s Search API to programmatically scan through tweets directed at a given user (e.g. to:barackobama), and inspect them to see if any are in response to a given tweet. You can also stop scanning when you arrive at tweets that are older than the tweet you are looking for responses to, since to my knowledge it’s impossible to reply to a tweet from the future. Yeah, that was my dry attempt at a joke. The big caveat here is that Twitter’s Search API only allows you to retrieve tweets from the last week. So this technique will only work for fetching conversation threads from the last week.

In the Documenting the Now project we are building tools to help researchers study Twitter. We’ve added a command to twarc that performs this heuristic to rebuild a given reply thread for a given tweet identifier. So to get the replies to this tweet:

let’s make this shit huge

— laura olin ((???)) January 25, 2017

you can run this command:

% twarc replies 82407791092769177 > replies.json

This will only get the initial set of replies to the tweet. If you want to get the entire conversation thread you can use the --recursive option:

% twarc replies 82407791092769177 --recursive > replies.json

That will get the replies to the replies, and will also walk up the conversation chain if the supplied tweet identifier is itself a reply to another tweet. In addition it will follow tweets that are quotes.

To demonstrate that it’s working we’ve added a little utility called that will read a set of tweets and write out the network of conversation as a GEXF for loading into Gephi, or DOT for use with Graphviz or as a standalone HTML file that uses D3 to visualize the conversation in your browser. Here’s how you run it:

% ./ replies.json replies.html

and here’s what the D3 visualization looks like for that tweet above. Try clicking on the nodes in the graph to see the tweets that the node represents. You can see the quote is colored yellow, and the original tweet (the one with no parent) is colored red.

Paul Butler also recently added the ability to drag and drop a file of tweets generated with the twarc replies command in his Treeverse. Treeverse is a Chrome plugin which provides a much more usable display of a conversation thread. Here’s a screenshot of looking at that same set of replies. (

The nice thing about the D3 vidualization is that it’s possible to restyle the presentation using CSS. You can also use it to visualize the network of tweets that were not acquired using the replies command. For example here is a visualization that was generated from a search for the #datarefuge hashtag a few days ago. I recorded it as a video on a large screen because there were so many nodes.

If you get a chance to try any of this or have any thoughts about it I’d love to hear from you.

Ed Summers: Hidden

planet code4lib - Sat, 2017-01-28 05:00
> What the profession has deemed archival "theories" are perhaps more akin to > sets of rules and procedures or belief systems (albeit with hidden ontological > and epistemological viewpoints). > > @Trace:2010

Ed Summers: Flawed Humans

planet code4lib - Sat, 2017-01-28 05:00
From the readings this week in [Documentation and Appraisal](/tag/lbsc785), here is the concluding paragraph to Richard Cox's entry for Archivists and Collecting in the Encyclopedia of Library and Information Science [@Cox:2010]: > Archival collecting is not just a mindless exercise in sweeping up old records > or sitting back and waiting for the important records to appear for > maintenance by an archives; rather, collecting is a process enmeshed with > political, theoretical, psychological, and historical elements. More research > is needed about the nature of archival collecting. More understanding by > society about how archives and historical manuscripts repositories are formed > is needed as well. The image of an archivist as an Indiana Jones-type > character, hunting out the treasures of the past in exciting pursuits, is > romantic but inaccurate; rather, *archivists are flawed humans* trying to > develop clear and reliable methods for identifying records that should be > acquired by archives. Much of merit has been accomplished by archivists and > manuscripts curators gathering records, but more reflection and > experimentation needs to be done on this topic. It seems that the new archival > hunters and gatherers will be using very different techniques to sleuth about > in the sophisticated record-keeping technologies of the twenty-first century It strikes me that this recognition that archivists are flawed humans, is key to the archival enterprise. While we may have standards, methodologies, processes and tools to assist us, archival work is ultimately guided by our interests as members of communities, cultures and societies. Rather than seeing this as a problem, or a frailty, that needs to be systematically eradicated I wonder if a more satisfying way forward is to celebrate and dignify this aspect of archival work. What are the ways in which we can celebrate the subjectivity that is always present in the archive? In what ways can our tools reflect this orientation? ### References

District Dispatch: Midwinter field trip to Cobb County libraries

planet code4lib - Fri, 2017-01-27 23:36

After four days of productive committee meetings and sessions at ALA’s Midwinter Meeting in Atlanta, the opportunity to see real libraries in action was a welcome change of scenery. Monday afternoon Office for Information Technology Policy (OITP) staff (plus me) were given a tour of several libraries in the Cobb County Public Library System (CCPLS) hosted by a CCPLS branch manager (and longtime OITP Advisory Committee member) Pat Ball and CCPLS Director Helen Poyer.

OITP Director Alan Inouye tries out the VR equipment with User Engagement Manager Brazos Price; Photo credit: Tom Brooks for Cobb County Public Library System

The 17 branches of the CCPLS offer a gamut of services. Staff at the county’s main location, Switzer Library, enthusiastically described programs ranging from job skills training (in partnership with the local Jewish Family Services) to virtual reality technology (thanks to an IMLS grant) to falls prevention workshops for older adults (in collaboration with Wellstar Health System). A month of daily blog posts wouldn’t suffice to recount the many ways that CCPLS successfully engages other organizations to serve the needs of people in their communities. But the CCPL program that captured my attention the most, was their “Girls Who Code” club.

Over the past year OITP has been working to promote coding and other programs designed to foster computational thinking in youth, particularly through the Libraries Ready to Code project. More than half of OITP’s sessions at ALA Midwinter were related to coding. Lucky for us, CCPL’s “Girls Who Code” meet every Monday evening, so we had a chance to meet some of them as they worked on their original project. As Stratton Library volunteer Ambrey McWilliams explained to us, the girls started by brainstorming issues of concern in their community and then came up with a way to build awareness of one issue through a coding project.

The issue they chose: texting while driving. The tool: a game hosted on an original website that requires players to resist various distractions while “driving.”

As we chatted with the girls, several aspects of the project struck me:

Several members of Stratton Library’s “Girls Who Code” club

  1. The girls involved range in age from 12 to 17 and come from public, private and home schools. One girl – a home-schooler – traveled an hour each way to be part of this diverse group because it was the coding club closest to her home. Through coding (and eating pizza) together, a sense of community is forming amongst these girls leaning over each other’s computer screens.
  2. Their project emerged from a genuine conversation among this diverse group of girls about the needs they identified in the wider community. Theirs is a mission-driven endeavor. (In addition to the issue of texting while driving, they had considered problems like bus safety and animal treatment.)
  3. The many phases of the project (building the website, creating a PSA, designing characters, writing distractors) require teamwork and scaffolding, so having a committed volunteer to help guide the project is key. Stratton’s “Girls Who Code” are fortunate to have a volunteer that codes professionally and also has the skills to break down the task into manageable parts and facilitate the group’s discovering solutions to challenges of completing the task – which is a key element of computational thinking.

Thanks to the dedicated professionals at Stratton Library and the county that funds their innovative programs, these girls are learning skills that will serve them well in their future careers – not only in tech, but in any profession. As a recent OITP report states, as libraries get ready to code, “communities will see young people who are ready to take on their futures, who have robust career options, and who guarantee the economic and social vitality of the cities, towns and reservations in which they live.”

The post Midwinter field trip to Cobb County libraries appeared first on District Dispatch.

FOSS4Lib Recent Releases: Hydra - 10.4.0

planet code4lib - Fri, 2017-01-27 13:10

Last updated January 27, 2017. Created by Peter Murray on January 27, 2017.
Log in to edit this page.

Package: HydraRelease Date: Wednesday, January 25, 2017

FOSS4Lib Recent Releases: Fedora Repository - 4.7.1

planet code4lib - Fri, 2017-01-27 13:08

Last updated January 27, 2017. Created by Peter Murray on January 27, 2017.
Log in to edit this page.

Package: Fedora RepositoryRelease Date: Tuesday, January 24, 2017

Eric Hellman: Policy-based Privacy is Over

planet code4lib - Fri, 2017-01-27 04:18

Yesterday, President Donald Trump issued an executive order to enhance "Public Safety in the Interior of the United States".

Of interest here is section 14:
Sec. 14.  Privacy Act.  Agencies shall, to the extent consistent with applicable law, ensure that their privacy policies exclude persons who are not United States citizens or lawful permanent residents from the protections of the Privacy Act regarding personally identifiable information.  What this means is that the executive branch, including websites, libraries and information systems may not use privacy policies to protect users other than US citizens and green card holders. Since websites, libraries and information systems typically don't keep track of user citizen status, this makes it very difficult to have any privacy policy at all.

Note that this executive order does not apply to the Library of Congress, an organ of the legislative branch of the US government. Nevertheless, it demonstrates the vulnerability of policy-based privacy. Who's to say that Congress won't enact the same restrictions for the legislative branch? Who's to say that Congress won't enact the same restrictions on any website. library or information system that operates in multiple states?

Lawyering privacy won't work any more. Librarianing privacy won't work any more. We need to rely on engineers to build privacy into our websites, libraries and information systems. This is possible. Engineers have tools such as strong cryptography that allow privacy to be built into systems without compromising functionality. It's not that engineers are immune from privacy-breaking mandates, but it's orders of magnitude more difficult to outlaw privacy engineering than it is to invalidate privacy policies. A system that doesn't record what a user does can't produce user activity records. Some facts are not alternativable. Math trumps Trump.


Subscribe to code4lib aggregator