You are here

Feed aggregator

Hydra Project: ActiveFedora 9.7.0 is released

planet code4lib - Tue, 2015-12-01 10:57

We are pleased to announce the release of Active Fedora 9.7.0. You can read about the changes here:

https://github.com/projecthydra/active_fedora/releases/tag/v9.7.0

Thanks to Justin Coyne, David Chandek-Stark, Jim Coble, Carolyn Cole, and Trey Terrell for their contributions to this release.

Hydra Project: Call for Proposals for Open Repositories 2016: Illuminating the World

planet code4lib - Tue, 2015-12-01 10:32

The Eleventh International Conference on Open Repositories, OR2016, will be held on June 13th-16th, 2016 in Dublin, Ireland. The organizers are pleased to issue this call for contributions to the program.

As previous Open Repositories have demonstrated, the use of digital repositories to manage research, scholarly and cultural information is well established and increasingly mature. Entering our second decade, we have an opportunity to reflect on where we’ve been and, more importantly, where we’re heading. New development continues apace, and we’ve reached the time when many organizations are exploring expansive connections with larger processes both inside and outside traditional boundaries. Open Repositories 2016 will explore how our rich collections and infrastructure are now an inherent part of contemporary scholarship and research and how they have expanded to touch many aspects of our academic and cultural enterprises.

The theme of OR2016 is “Illuminating the World.” OR2016 will provide an opportunity to explore the ways in which repositories and related infrastructure and processes:

  • bring different disciplines, collections, and people to light;
  • expose research, scholarship, and collections from developing countries;
  • increase openness of collections, software, data and workflows;
  • highlight data patterns and user pathways through collections; and
  • how we can organize to better support these – and other – infrastructures.

We welcome proposals on these ideas, but also on the theoretical, practical, technical, organizational or administrative topics related to digital repositories.  Submissions that demonstrate original and repository-related work outside of these themes will be considered, but preference will be given to submissions which address them. We are particularly interested in the following themes.

  1.  Supporting Open Scholarship, Open Data, and Open Science

Papers are invited to consider how repositories can best support the needs of open science and open scholarship to make research as accessible and useful as possible, including:

    • Open access, open data and open educational resources
    • Scholarly workflows, publishing and communicating scientific knowledge
    • Exposure of research and scholarship from developing countries and under-resourced communities and disciplines
    • Compliance with funder mandates
  1. Repositories and Cultural Heritage

Papers are invited to consider how repositories and their associated infrastructures best support the needs of cultural heritage collections, organizations, and researchers. Areas of interest include:

    • Impact of aggregation on repository infrastructure and management
    • Exposure of collections and cultural heritage from developing countries and under-resourced communities and disciplines
    • Special considerations in access and use of cultural heritage collections
    • Reuse and analysis of content.
  1. Repositories of high volume and/or complex data and collections

Papers are invited to consider how we can use tools and processes to highlight data patterns and user pathways through large corporas including:

    • Data and text mining
    • Entity recognition
    • Linked data
    • Standardized interfaces
    • Interaction with large-scale computation and simulation processes
    • Issues of scale and size beyond traditional repository contexts
  1. Managing Research Data, Software, and Workflows

Papers are invited to consider how repositories can support the needs of research data and related software and workflows. Areas of interest are:

    • Curation lifecycle management, including storage, software and workflows
    • Digital preservation tools and services
    • Reuse and analysis of scientific content
    • Scholarly workflows, publishing and communicating scientific knowledge
  1. Integrating with the Wider Web and External Systems

Papers are invited to explore, evaluate, or demonstrate integration with external systems, including:

    • CRIS and research management systems
    • Notification and compliance tracking systems
    • Identifier services
    • Preservation services and repositories
    • Publisher systems
    • Collection management systems and workflows
  1. Exploring Metrics, Assessment, and Impact

Papers are invited to present experiences on metrics and assessment services for a range of content, including:

    • Bibliometrics
    • Downloads (e.g. COUNTER compliance)
    • Altmetrics and other alternative methods of tracking and presenting impact
  1. Managing Rights

Papers are invited to examine the role of rights management in the context of open repositories, including:

    • Research and scholarly communication outputs
    • Licenses (e.g. Creative Commons, Open Data Commons)
    • Embargoes
    • Requirements of funder mandates
  1. Developing and Training Staff

Papers are invited to consider the evolving role of staff who support and manage repositories across libraries, cultural heritage organizations, research offices and computer centres, especially:

    • New roles and responsibilities
    • Training needs and opportunities
    • Career path and recruitment
    • Community support

KEY DATES

  • 01 February 2016: Deadline for submissions and Scholarship Programme applications
  • 01 February 2016: Registration opens
  • 28 March 2016: Submitters notified of acceptance to general conference
  • 11 April 2016: Submitters notified of acceptance to Interest Groups
  • 13-16 June 2016: OR2016 conference

SUBMISSION PROCESS

Conference Papers and Panels

We expect that proposals for papers or panels will be two to four-pages (see below for optional Proposal Templates). Abstracts of accepted papers and panels will be made available through the conference’s web site, and later they and associated materials will be made available in an open repository. In general, sessions will have three papers; panels may take an entire session or may be combined with a paper. Relevant papers unsuccessful in the main track will be considered for inclusion, as appropriate, as an Interest Group presentation, poster or 24/7.

Interest Group Presentations

The opportunity to engage with and learn more about the work of relevant communities of interest is a key element of Open Repositories. One to two page proposals are invited for presentations or panels that focus on the work of such communities, traditionally DSpace, EPrints, Fedora, and Invenio, describing novel experiences or developments in the construction and use of repositories involving issues specific to these technical platforms. Further information about applications for additional Interest Groups and guidance on submissions will be forthcoming.

24×7 Presentations

24×7 presentations are 7 minute presentations comprising no more than 24 slides. Proposals for 24×7 presentations should be one to two-pages. Similar to Pecha Kuchas or Lightning Talks, these 24×7 presentations will be grouped into blocks based on conference themes, with each block followed by a moderated discussion / question and answer session involving the audience and whole block of presenters. This format will provide conference goers with a fast-paced survey of like work across many institutions, and presenters the chance to disseminate their work in more depth and context than a traditional poster.

“Repository RANTS” 24×7 Block

One block of 24×7’s will revolve around “repository rants”: brief exposés that challenge the conventional wisdom or practice, and highlight what the repository community is doing that is misguided, or perhaps just missing altogether. The top proposals will be incorporated into a track meant to provoke unconventional approaches to repository services.

“Repository RAVES” 24×7 Block

One block of 24×7’s at OR2016 will revolve around “repository raves”: brief exposés that celebrate particular practice and processes, and highlight what the repository community is doing that is right. The top proposals will be incorporated into a track meant to celebrate successful approaches to repository services.

Posters

We invite one-page proposals for posters that showcase current work. Attendees will view and discuss your work during the poster reception.

2016 Developer Track: Top Tips, Cunning Code and Illuminating Insights

Each year a significant proportion of the delegates at Open Repositories are software developers who work on repository software or related services. OR2016 will feature a Developer Track and Ideas Challenge that will provide a focus for showcasing work and exchanging ideas.

Building on the success of last year’s Developer Track, where we encouraged live hacking and audience participation, we invite members of the technical community to share the features, systems, tools and best practices that are important to you.  Presentations can be as informal as you like, but once again we encourage live demonstrations, tours of code repositories, examples of cool features and the unique viewpoints that so many members of our community possess.  Submissions should take the form of a title and a brief outline of what will be shared with the community.

Further details and guidance on the Ideas Challenge will be forthcoming.

Developers are also encouraged to contribute to the other tracks as papers, posters, 24×7 presentations, repository raves and rants 24×7 blocks.

Workshops and Tutorials

One to two-page proposals for workshops and tutorials addressing theoretical or practical issues around digital repositories are welcomed. Please address the following in your proposal:

  • The subject of the event and what knowledge you intend to convey
  • Length of session (e.g., 1-hour, 2-hour, half a day or a whole day)
  • A brief statement on the learning outcomes from the session
  • How many attendees you plan to accommodate
  • Technology and facility requirements
  • Any other supplies or support required
  • Anything else you believe is pertinent to carrying out the session

Proposal Templates

The OR2016 proposal templates are a guideline to help you prepare an effective submission. They will be provided in both the Word document and plain-text Markdown formats and provide details around the requirements for conference papers and panels and 24/7’s and posters. These will be available from the conference website shortly.

Submission system

The conference system will be open for submissions by 15 December 2015. PDF format is preferred.

CODE OF CONDUCT

We will be publishing guidelines for conduct at OR2016. As a reference, the OR2015 Code of Conduct is available at http://www.or2015.net/code-of-conduct/ and the 2015 Anti-Harrassment Policy is at http://www.or2015.net/anti-harassment-policy/.

SCHOLARSHIP PROGRAMME

OR2016 will again run a Scholarship Programme which will enable us to provide support for a small number of full registered places (including the poster reception and banquet) for the conference in Dublin. The programme is open to librarians, repository managers, developers and researchers in digital libraries and related fields. Applicants submitting a paper for the conference will be given priority consideration for funding. Please note that the programme does not cover costs such as accommodation, travel and subsistence. It is anticipated that the applicant’s home institution will provide financial support to supplement the OR Scholarship Award. Full details and an application form will shortly be available on the conference website.

CONTACT INFORMATION

Program Co-Chairs

David Minor, University of California, San Diego
Matthias Razum, FIZ Karlsruhe
Sarah Shreeves, University of Miami

contact: or16-program-chairs@googlegroups.com

Local Hosts

Trinity College Dublin

contact: OR2016@conferencepartners.ie

Conference Website and Social Media

website: http://or2016.net/

twitter: @OR2016Dub and #or2016Dub

Facebook: https://www.facebook.com/ORConference/

William Denton: BiblioTech

planet code4lib - Tue, 2015-12-01 03:31

I recommend John Palfrey’s new book BiblioTech: Why Libraries Matter More Than Ever in the Age of Google to anyone interested in that unending question of what is the future of libraries, because he sets out a future I agree with.

Palfrey was a law professor at Harvard and lately the vice-dean of library and information services at its law library, and he helped create the Digital Public Library of America and was its first board chairman. Recently he left all that to be head of posh New England private school Andover, where he gathered his thoughts and plans about libraries and set them out in this short book.

It reflects, as you’d expect, the approach of the DPLA, which is based on networked collaboration, digitization and preservation of unique resources, specialization in local material, community involvement, and open content and APIs for hackers to hack and reuse. All of this is well-argued in the book, set out clearly and logically (as law professors do), always grounded in libraries as educational institutions and librarians as educators. He knows the problems libraries (both public and academic) are having now, and sets out a way to get past them while keeping libraries both fundamental to local communities but also important at the national and international level.

I was agreeing with the book and then hit this in chapter five, “Hacking Libraries: How to Build the Future:”

The next phase of collaboration among libraries may prove to be harder. The development of digital libraries should be grounded in open platforms, with open APIs (application programming interfaces). open data, and open code at all levels. No one library will own the code, the platform, or the data that can be downloaded, “free to all.” The spirit that is needed is the hacker spirit embodied by Code4Lib, a group of volunteers associated with libraries, archives and museums who have dedicated themselves to sharing approaches, techniques and code related to the remaking of libraries for the digital era.

Damn right! The Code4Lib approach is the right approach for the future of libraries. (Well, one right approach: I agree with Palfrey’s plan, but add that on the digital side libraries need to take a leading role regarding privacy, and also need to take on climate change, with progressive approaches to labour and social issues underlying everything.)

In the next chapter he enthuses about Jessamyn West and a few others doing fresh, important, different kinds of library work. This is good to see!

Any GLAM hacker will want to read this book. I’m a bit puzzled, though: who is it aimed at? All my Code4Lib colleagues will agree with it. Non-technical librarians I know would agree with the plan, though with reservations based on worries about the future of their own areas of specialization and lack of technical skills. It will be useful when talking to library administrators. How many people outside libraries and archives will read the book? Are there more people out there interested in the future of libraries than I’d have guessed? If so, wonderful! I hope they read this and support the online, open collaboration it describes.

Peter Murray: Separating Configuration from Code in CollectionSpace

planet code4lib - Tue, 2015-12-01 01:58

For the past few months I’ve been working on a project to migrate a museum’s collection registry to CollectionSpace. CollectionSpace is a “free, open-source, web-based software application for the description, management, and dissemination of museum collections information.”1 CollectionSpace is multitenant software — one installation of the software can serve many tenants. The software package’s structure, though, means that the configuration for one tenant is mixed in with the code for all tenants on the server (e.g, the application layer, services layer, and user interface layer configuration are stored deep in the source code tree). This bothers me from a maintainability standpoint. Sure, Git’s richly featured merge functionality helps, but it seems unnecessarily complex to intertwine the two in this way. So I developed a structure that puts a tenant’s configuration in a separate source code repository and a series of procedures to bring the two together at application-build time.

CollectionSpace Tenant Configuration Structure

There are three main parts to a CollectionSpace installation: the application layer, the services layer, and the user interface layer. Each of these has configuration information that is specific to a tenant. The idea is to move the configuration from these three layers into one place, then use Ansible to enforce the placement of references from the tenant’s configuration directory to the three locations in the code. That way the configuration can be changed independent of the code.

The configuration consists of a file and three directories. Putting the reference to the file — application-tenant.xml — into the proper place in the source code directory structure is straightforward: we use a file system hard link. By their nature, though, We cannot use a hard link to put a reference to a directory in another place in the file system. We can use a soft link, but those were problematic in my specific case because I was using ‘unison‘ to synchronize the contents of the tenant configuation between my local filesystem and a Vagrant virtual system. (Unison had this annoying tendency to delete the directory and recreate it in some synchronization circumstances.) So I resorted to a bind mount to make the configuration directories appear inside the code directories.

To make sure this setup is consistent, I use Ansible to describe the exact state of references. Each time the Ansible playbook runs, it ensures that everything is set the way it needs to be before the application is rebuilt. That Ansible script looks like this:

Some annotations:

  • Lines 12-18 create the hard link for the tenant application XML file.
  • Handling the tenant configuration directories takes three steps. Using the application configuration as an example, lines 20-24 first make sure that a directory exists where we want to put the configuration into the code directory.
  • Next, lines 26-34 uses mount --bind to make the application configuration appear to be inside the code directory.
  • Lastly, lines 35-41 ensures the mount-bind lasts through system rebuilds (although line 33 makes sure the mount-bind is working each time the playbook is run).

Then the typical CollectionSpace application build process runs.

  • Lines 89-120 stop the Tomcat container and rebuilds the application, services, and user interface parts of the system.
  • Lines 122-133 start Tomcat and waits until it is responding.
  • Lines 135-163 log into CollectionSpace, gets the session cookie, then initializes the user interface and the vocabularies/authorities.

I run this playbook almost every time I make a change to the CollectionSpace configuration. (The exception is for simple changes to the user interface; sometimes I’ll just log into the server and run those manually.) If you want to see what the directory structure looks like in practice, the configuration directory is on GitHub.

Footnotes
  1. From the answer to the first question of the CollectionSpace frequently asked questions.

DuraSpace News: Success: Fedora Project Exceeds 2015 Fundraising Goal

planet code4lib - Tue, 2015-12-01 00:00

Winchester, MA  As 2015 comes to a close DuraSpace is pleased to announce that the Fedora Project’s annual membership campaign total now stands at $563,750, which exceeds the 2015 fundraising goal of $560,000!  We are extremely grateful to members of the Fedora Leadership Group who have actively participated in securing the financial support that will be required to:

  • continue efforts to simplify migration from Fedora 3 to 4;

Harvard Library Innovation Lab: Link roundup November 30, 2015

planet code4lib - Mon, 2015-11-30 21:58

This is the good stuff.

The Irony of Writing About Digital Preservation

Sometimes that pipe isn’t connected to anything.

The Original Mobile App Was Made of Paper | Motherboard

The original mobile apps made of paper

The most Geo-tagged Place on Earth

Defaults (often times in software) influence our data and likely alter the shape of our plastic brains.

The Illustrated Interview: Richard Branson

Sketches instead of text when interviewing a person. So brilliant. Folks are likely less guarded in their responses.

Why is so much of design school a waste of time?

Use critiques as a way to get better. To learn more. As a “gift exchange.”

Islandora: Yet More Islandora Long Tail

planet code4lib - Mon, 2015-11-30 14:51

At some point, I will need to start numbering these. The Islandora community has been busy building tools and modules to improve our stack, so even though we did this just back in September, it's time to have a look at modules in development outside the core Islandora release once again.

Previous installments:

Let's add a few more.

Islandora Webform

From the folks at Common Media, this module allows the use of Drupal webforms to contribute metadata for an Islandora object, with a workflow at the webform or object level for site managers to review and ingest submissions. Useful for allowing public contributions into a moderated workflow.

MIK

Developed by Marcus Barnes and the team at Simon Fraser University, the Move to Islandora Kit converts source content files and accompanying metadata into ingest packages used by existing Islandora batch ingest modules. Basically, it is a tool for preparing your objects to import into Islandora. It got its start as a tool to support their move from ContentDM into Islandora, but is growing into a more general tool to get your content ready for the big move into Islandora.

Islandora Identifier Lookup

From Mark Jordan's bag of tricks, this is an Islandora module that lets you get the UUID for an object if you know its PID, and get an object's PID if you know its UUID. Also lets you assign UUIDs to newly ingested objects.

Islandora ThemeKey

Also from Mark Jordan, this one will change a site's theme based on attributes of Islandora objects, using Themekey switching rules. You can build rules around the following attrtibutes:

  • Collection membership (using equals, not equals, contains, and not contains operators).
    • Includes pages of books, and newspaper issues and pages.
    • If an object is a member of multiple collections that are used in ThemeKey rules, the first matching rule in the theme switching chain will be applied.
  • Namespace (using equals, not equals, contains, not contains, regular expression, and not regular expression operators).
  • Content model (using equals, not equals, contains, and not contains operators).
Islandora Pydio Bridge

Built off of work done at Simon Fraser University, this tool from UPEI's Robertson Library systems team allows Pydio users to export files and folders directly to Islandora from within the Pydio application.

LITA: October + November Library Tech Roundup

planet code4lib - Mon, 2015-11-30 14:00
Image courtesy of Flickr user byronv2 (CC BY NC)

Each month, the LITA bloggers share selected library tech links, resources, and ideas that resonated with us. Enjoy – and don’t hesitate to tell us what piqued your interest recently in the comments section!

Brianna M.

I shared my openness story on The Winnower, an open access online scholarly publishing platform.

An open letter to PLoS regarding libraries’ role in data curation, compiled by a group of data librarians.

Two takes on data management threshold concepts: from Jake Carlson and from Kristin Briney.

My superb assistant Cameron created data comics to celebrate Halloween and they’re too good not to share.

Cinthya I.

I only have one link to share, but it’s pretty awesome. POP (Prototype on Paper) is a program that lets you create a simulated app without having to know how to code. Simply upload an image file and you can create clickable screens to walk through how the app might work once it would be fully functional. Great for innovation, entrepreneurship, and general pitch sessions!

Michael R.

I am in a post-holiday rush period, so I will just take this opportunity to encourage everyone to review the presentations and handouts from the 2015 LITA Forum, available open access on the forum wiki. There’s some truly great material on there (including three presentations from yours truly).

Always useful is Marshall Breeding’s Library Technology site. For electronic resources and systems librarians, it really is a fantastic resource for keeping up with the latest trends, mergers, and changes in library electronic subscriptions and vendors.

Bill D.

I’ve been heavily into thinking about APIs and how to build them lately, with a focus on how to design/document any API endpoint you might build.

For the backend, the most common way to build things is in a RESTful way using something like Grape for ruby, but I’m giving a serious look at the just-one-endpoint-and-specify-everything approach used in Facebook’s GraphQL. The older and dumber I get, the more I appreciate strict type systems…

What should an API return? These days, the answer is “JSON”, but that’s not very specific. I’m taking a look at json-schema to see if it fits in with how I work.

Desining a good API is hard. There are several competing(?) ways to specify (and simultaneously document) an API you’re designing. The most interesting are API Blueprint, based around extentions to markdown; Swagger (now the Open API Initiative), which provides not only specification and design but code generation, a documentaiton UI, and a host of other things; and RAML, the RESTful API Modeling Language with its own set of tools and libraries. The good news is that one need not be locked in; a quick search shows several tools to convert from one to the other.

Looking to consume http-based APIs? The Postman Chrome extension gives a great interface to mess around with API calls.

Sometimes the simplest ideas are the best. A robots.txt file tells robots how to behave when crawling your site; An apis.json file specifies what APIs are available on a given machine (and, if found, will be automatically added to the clearinghouse at APIs.io)

Finally, having nothing to do with APIs: Markdown Here is a browser extention that allows you to write markdown anywhere there’s a rich-text editor. I use it for GMail and a wide variety of other sites,
and wonder how I used to live without it.

Whitni W. 

In my new position, I support a lot of  free open source software (FOSS) and have been interested in to different takes on why FOSS and what it takes to support it. One article I enjoyed is about what motivates people’s work on open source software and why they continue to work on it.

Another topic I’ve been looking more into is anonymity on the web and handing online harassment. J. Nathan Matias, a PhD student at MIT put together a really helpful resource about understanding online harassment. “A New Starting Point for Understanding Online Harassment

and one last link for interested parties. I get a lot of questions about best practices for using a carousel on a website. I for one do not care for them and would rather direct someone not to use one, however it’s sometimes hard to explain this and Jared Smith put together a simple site that perfectly handles the No’s on web carousels. “Should I use a Carousel?” 

John K.

Ned Potter gives you an alternative for creating a quick website if you need to make something for a conference or a project or a webinar. That way you don’t have to do a whole domain registration, hosting space, etc. but you get something nice-looking. (via his Library Marketing Toolkit website)

David Lee King offer some suggestions on ways you can use Instagram to drive checkouts. David takes a post he read about hacking Instagram to drive sales and applies it to the library world.

And finally Library Data Visualization gives you a way to quickly check where the highest circulation rates for public libraries are in your state. Or you could look at the whole country. The resource was created by the Connecticut State Library and it uses information from the a 2013 IMLS survey. I’m not sure how useful this is but it’s fun to play with.

DuraSpace News: Letter From Fedora Camp

planet code4lib - Mon, 2015-11-30 00:00

Winchester, MA  Fedora enthusiasts from around the US and Canada got together to teach, learn and get to know one another at the recent Fedora Camp held at “The Edge”, Duke University Libraries’ learning commons for research, technology, and collaboration. The open makerspace atmosphere provided an ideal environment for Fedora Camp’s 40 participants to share ideas and work together to better understand how to take advantage of the Fedora open source repository platform.

Jonathan Rochkind: Career change

planet code4lib - Sun, 2015-11-29 22:04

Today is my last day here at Johns Hopkins University Libraries.

After Thanksgiving, I’ll be working, still here in Baltimore, at Friends of the Web, a small software design, development, and consulting company.

I’m excited to be working collaboratively with a small group of other accomplished designers and developers, with a focus on quality. I’m excited by Friends of the Webs’ collaborative and egalitarian values, which show in how they do work and treat each other, how decisions are made, and even in the compensation structure.

Friends of the Web has technical expertise in Rails, Ember (and other MVC Javascript frameworks), as well as iOS development. Also significant in-house professional design expertise.

Their clientele is intentionally diverse; a lot of e-commerce, but also educational and cultural institutions, among others.

They haven’t done work for libraries before, but are always interested in approaching new business and technological domains, and are open to accepting work from libraries. I’m hoping that it will work out to keep a hand in the library domain at my new position, although any individual project may or may not work out for contracting with us, depending on if it’s a good fit for everyone’s needs. But if you’re interested in contracting an experienced team of designers and developers (including an engineer with an MLIS and 9 years of experience in the library industry: me!) to work on your library web (or iOS) development needs, please feel free to get in touch to talk about it. You could hypothetically hire just me to work on a project, or have access to a wider team of diverse experience, including design expertise.

Libraries, I love you, but I had to leave you, maybe, at least for now

I actually really love libraries, and have enjoyed working in the industry.

It may or may not be surprising to you that I really love books — the kind printed on dead trees. I haven’t gotten into ebooks, and it’s a bit embarrassing how many boxes of books I moved when I moved houses last month.

I love giant rooms full of books. I feel good being in them.

Even if libraries are moving away from being giant rooms full of books, they’ve still got a lot to like. In a society in which information technology and data are increasingly central, public and academic libraries are “civil society” organizations which can serve user’s information needs and advocate for users, with libraries interests aligned with their users, because libraries are not (mainly) trying to make money off their patrons or their data. This is pretty neat, and important.

In 2004, already a computer programmer, I enrolled in an MLIS program because I wanted to be a “librarian”, not thinking I would still be a software engineer. But I realized that with software so central to libraries, if I were working in a non-IT role I could be working with software I knew could be better but couldn’t do much about — or I could be working making that software better for patrons and staff and the mission of the library.

And I’ve found the problems I work on as a software engineer in an academic library rewarding. Information organization and information retrieval are very interesting areas to be working on. In an academic library specifically, I’ve found the mission of creating services that help our patrons with their research, teaching, and learning to be personally rewarding as well.  And I’ve enjoyed being able to do this work in the open, with most of my software open source, working and collaborating with a community of other library technologists across institutions.  I like working as a part of a community with shared goals, not just at my desk crunching out code.

So why am I leaving?

I guess I could say that at my previous position I no longer saw a path to make the kind of contributions to developing and improving libraries technological infrastructures and capacities that I wanted to make. We could leave it at that.  Or you could say I was burned out. I wasn’t blogging as much. I wasn’t collaborating as much or producing as much code. I had stopped religiously going to Code4Lib conferences. I dropped out of the Code4Lib Journal without a proper resignation or goodbye (sorry editors, and you’re doing a great job).

9 years ago when, with a fresh MLIS, I entered the library industry, it seemed like a really exciting time in libraries, full of potential.  I quickly found the Code4Lib community, which gave me a cohort of peers and an orientation to the problems we faced. We knew that libraries were behind in catching up to the internet age, we knew (or thought we knew) that we had limited time to do something about it before it was “too late”, and we (the code4libbers in this case) thought we could do something about it, making critical interventions from below. I’m not sure how well we (the library industry in general or we upstart code4libbers) have fared in the past decade, or how far we’ve gotten. Many of the Code4Lib cohort I started up with have dropped out of the community too one way or another, the IRC channel seems a dispiriting place to me lately (but maybe that’s just me).  Libraries aren’t necessarily focusing on the areas I think most productive, and now I knew how hard it was to have an impact on that. (But no, I’m not leaving because of linked data, but you can take that essay as my parting gift, or parting shot). I know I’ve made some mistakes in personal interactions, and hadn’t succeeded at building collaboration instead of conflict in some projects I had been involved in, with lasting consequences. I wasn’t engaging in the kinds of discussions and collaborations I wanted to be at my present job, and had run out of ideas of how to change that.

So I needed a change of perspective and circumstance. And wanted to stay in Baltimore (where I just bought a house!). And now here I am at Friends of the Web!  I’m excited to be taking a fresh start in a different sort of organization working with a great collaborative team.

I am also excited by the potential to keep working in the library industry from a completely different frame of reference, as a consulting/contractor.  Maybe that’ll end up happening, maybe it won’t, but if you have library web development or consulting work you’d like discuss, please do ring me up.

What will become of Umlaut?

There is no cause for alarm! Kevin Reiss and his team at Princeton have been working on an Umlaut rollout there (I’m not sure if they are yet in production).  They plan to move forward with their implementation, and Kevin has agreed to be a (co-?)maintainer/owner of the Umlaut project.

Also, Umlaut has been pretty stable code lately, it hasn’t gotten a whole lot of commits but just keeps on trucking and working well. While there were a variety of architectural improvements I would have liked to make, I fully expect Umlaut to remain solid software for a while with or without major changes.

This actually reminds me of how I came to be the Umlaut lead developer in the first place. Umlaut was originally developed by Ross Singer who was working at Georgia Tech at the time. Seeing a priority for improving our “link resolver” experience, and the already existing and supported Umlaut software, after talking to Ross about it, I decided to work on adopting Umlaut here. But before we actually went live in production — Ross had left Georgia Tech, they had decided to stop using Umlaut, and I found myself lead developer! (The more things change… but as far as I know, Hopkins plans to continue using Umlaut).  It threw me for a bit of a loop to suddenly be deploying open source software as a community of one institution, but I haven’t regretted it, I think Umlaut has been very successful for our ability to serve patrons with what they need here, and at other libraries.

I am quite proud of Umlaut, and feel kind of parental towards it. I think intervening in the “last mile” of access, delivery, and other specific-item services is exactly the right place to be, to have the biggest impact on our users. For both long-term strategic concerns — we don’t know where our users will be doing ‘discovery’, but there’s a greater chance we’ll still be in the “last mile” business no matter what. And for immediate patron benefits — our user interviews consistently show that our “Find It” link resolver service is both one of the most used services by our patrons, and one of the services with the highest satisfaction.  And Umlaut’s design as “just in time” aggregator of foreign services is just right for addressing needs as they come up — the architecture worked very well for integrating BorrowDirect consortial disintermediated borrowing into our link resolver and discovery, despite the very slow response times of the remote API.

I think this intervention in “last mile” delivery and access, with a welcome mat to any discovery wherever it happens, is exactly where we need to be to maximize our value to our patrons and “save the time of the reader”/patron, in the context of the affordances we have in our actually existing infrastructures — and I think it has been quite successful.

So why hasn’t Umlaut seen more adoption? I have been gratified and grateful by the adoption it has gotten at a handful of other libraries (including NYU, Princeton, and the Royal Library of Denmark), but I think it’s potential goes further. Is it a failure of marketing? Is it different priorities, are academic libraries simply not interested in intervening to improve research and learning for our patrons, preferring to invest in less concrete directions?  Are in-house technological capacity requirements simply too intimidating (I’ve never tried to sugar coat or under-estimate the need for some local IT capacity to run Umlaut, although I’ve tried to make the TCO as low as I can, I think fairly successfully). Is Umlaut simply too technically challenging for the capacity of actual libraries, even if they think the investment is worth it?

I don’t know, but if it’s from the latter points, I wonder if any access to contractor/vendor support would help, and if any libraries would be interested in paying a vendor/contractor for Umlaut implementation, maintenance, or even cloud hosting as a service. Well, as you know, I’m available now. I would be delighted to keep working on Umlaut for interested libraries. The business details would have to be worked out, but I could see contracting to set up Umlaut for a library, or providing a fully managed cloud service offering of Umlaut. Both are hypothetically things I could do at my new position, if the business details can be worked out satisfactorily for all involved. If you’re interested, definitely get in touch.

Other open source contributions?

I have a few other library-focused open source projects I’ve authored that I’m quite proud of. I will probably not be spending much time on the in the near future. This includes traject, bento_search, and borrow_direct.

I wrote Traject with Bill Dueber, and it will remain in his very capable hands.

The others I’m pretty much sole developer on. But I’m still around on the internet to answer questions, provide advice, or most importantly, accept pull requests for changes needed.  bento_search and borrow_direct are both, in my not so humble opinion, really well-architected and well-written code, which I think should have legs, and which others should find fairly easy to pick up. If you are using one of these projects, send a good pull request or two, and are interested, odds are I’d give you commit/release rights.

What will happen to this blog?

I’m not sure! The focus of this blog has been library technology and technology as implemented in libraries.  I hadn’t been blogging as much as I used to anyway lately. But I don’t anticipate spending as much(any?) time  on libraries in the immediate future, although I suspect I’ll keep following what’s going on for at least a bit.

Will I have much to say on libraries and technology anyway? Will the focus change? We will see!

So long and thanks for all the… fiche?

Hopefully not actually a “so long”, I hope to still be around one way or another. I am thinking of going to the Code4Lib conference in (conveniently for me) Philadelphia in the spring.

Much respect to everyone who’s still in the trenches, often in difficult organizational/political environments, trying to make libraries the best they can be.


Filed under: General

Cynthia Ng: Code4LibBC Day 2: Moving forward with Code4libBC Breakout Notes

planet code4lib - Sat, 2015-11-28 00:03
Notes from the breakout session discussing the Code4libBC event itself how to have the intermediary discussions how to get people to know enough about each side in order to have good conversation the gathering is very diverse; the more diversity, the more we all learn communications is not easy, so it’s a good opportunity this … Continue reading Code4LibBC Day 2: Moving forward with Code4libBC Breakout Notes

Cynthia Ng: Code4libBC Day 2: Archives 101 for digital librarians

planet code4lib - Fri, 2015-11-27 22:31
Notes from the breakout sessions. Archival Advantage (OCLC report): advantages to working with archivists with information archivists consider the provenance rather than by subject e.g. retaining order the stuff that you find is what was made a long the way rather than the final product material tend to be unique in context, rather than repeatable … Continue reading Code4libBC Day 2: Archives 101 for digital librarians

Cynthia Ng: Code4libBC Day 2: Lightning Talks Part 2

planet code4lib - Fri, 2015-11-27 20:55
The last part of lightning talks for Code4libBC. Speeding up Digital Preservation with a Graphics Card, Alex Garnett, SFU GPU-accelerated computing. graphics cards are very powerful nowadays, and many organizations have figured out how to use the graphics cards to do things. graphics are much more powerful to CPU, but very specialized for video or … Continue reading Code4libBC Day 2: Lightning Talks Part 2

Cynthia Ng: Code4LibBC Day 2: Lightning Talks Part 1

planet code4lib - Fri, 2015-11-27 18:23
XML Databases and Document Stores, Michael Joyce, SFU EXIST for storing XML indexing and searhcing provided by Lucene doesn’t include analysis, but can used Stanford named entity recognizer MASHUP of over 200 books mapped using statistical tagger and dbpedia, great for getting people started similarity matching to find similar content Demo of MIK (the Move … Continue reading Code4LibBC Day 2: Lightning Talks Part 1

pinboard: code4lib 2015 - Full Text Downloading and Analysis

planet code4lib - Thu, 2015-11-26 23:39
links to relevant text analysis tools

Cynthia Ng: Batch Record Editing Processes Breakout Group Notes

planet code4lib - Thu, 2015-11-26 23:07
These notes are a bit disparate, but here’s what I got in terms of notes for the breakout session. global updates vendor records marcedit edits before loading load tables/profiles: pre-define templates to be applied to batches of records e.g. publisher number in 001, might match and overlay or not; can use list to isolate sets … Continue reading Batch Record Editing Processes Breakout Group Notes

Cynthia Ng: Code4LibBC Day 1: Lightning Talks Part 2

planet code4lib - Thu, 2015-11-26 20:00
Part 2 of code4libBC unconference of morning lightning talks on day 1. Open Collections Overview, Paul Joseph, UBC open collections at UBC library sits on top of 4 repositories: IR (DSpace), digital images (contentdm), archival material (AtoM), open access data sets (dataverse) can normalize into a single model using ElasticSearch browse by collection, featured collections … Continue reading Code4LibBC Day 1: Lightning Talks Part 2

Cynthia Ng: Code4LibBC Day 1: Lightning Talks Part 1

planet code4lib - Thu, 2015-11-26 19:01
Part 1 of the morning lightning talks at Code4LibBC 2015. Fun & Games with APIs, Calvin Mah, SFU SFU just launched to the official iOS app, driven by the new CIO included view computer availability under the library tab amazing, because library was not consulted library has robust API to disseminate information: http://api.lib.sfu.ca was thinking … Continue reading Code4LibBC Day 1: Lightning Talks Part 1

Cynthia Ng: Semi-Automating Batch Editing MARC Records : Using MarcEdit

planet code4lib - Thu, 2015-11-26 03:00
This presentation was a lightning talk done at Code4LibBC Unconference 2015 on batch editing MARC records. I’ve been hearing for quite some time that people struggle with vendor records, not least of all because making changes can be very time consuming. I’d like to present one possible method to help not only to fix vendor … Continue reading Semi-Automating Batch Editing MARC Records : Using MarcEdit

pinboard: anarchivist/gumshoe

planet code4lib - Wed, 2015-11-25 21:20
gumshoe - Search interface for metadata extracted from disk images

Pages

Subscribe to code4lib aggregator