We’ve had a good run of luck lately. Libraries have been uniquely positioned to take advantage of a number of recent technological trends. When social media turned the web into a real-time network of free-flowing information and conversation, libraries capitalized on their role as community conduits of information. The onset of maker culture has given libraries the chance to build entirely new collections of homegrown content, while creating new spaces for patrons to access creative tools.
But there’s always more to do. The barriers between software, data, and creativity are becoming increasingly porous, and have led more people to start programming their own technology tools.1 At the local level, the results have been impressive. Last year, the city of Chicago began offering an application programming interface (API)—a set of tools programmers can use to interact with large sets of public data. Since that time, people have used these datasets to create everything from snowplow trackers to apps for locating the nearest free Wi-Fi hotspot. If there’s an open data movement in your community, you’ve probably got some useful local research tools at your disposal.
But we can’t wait for these resources to come to us. If we want to see resources customized to our information needs, we’re going to have to learn a thing or two about code.
I’m not necessarily advocating that librarians go out and become programmers. Rather, I think it’s important for librarians to develop a working knowledge of the mechanics of code. Like many of the topics that come across our desks, we don’t have to be experts to get results. Whether it’s tweaking the PHP in a WordPress template, performing a batch edit on a group of MARC records, or experimenting with a catalog API, knowing just a little bit can go quite a long way. Consider this your crash course in how code can help your library.
Learning to Speak Machine
Just like performing a reference interview, writing code is often a matter of asking the right questions. Despite evidence to the contrary, computers aren’t very smart. They’re designed to respond to very specific queries in a specific fashion. No matter the language, grasping this syntax has a definite learning curve. As a gentle introduction to some of these concepts, I’d urge you to consider the web resource If This Then That. IFTTT provides an elegant solution to the question, “How do I keep all of my social media accounts updated at once?” The service allows you to create tasks — structured triggers based on your social media postings that IFTTT turns into automated actions. Want to send your blog posts to Facebook? Archive your Instagram photos on Flickr? Send a favorited tweet to your Instapaper to-be-read pile? IFTTT has you covered.
If you have an IFTTT account, pick out a few of the premade “recipes,” and examine how each task is structured. Look at the way commands are written out. Which parts are instructions for IFTTT? Where are the variables—the bits pulled from an external web service? What conditions must be fulfilled in order to trigger an action? Gaining an eye for these mechanics will make it easier to recognize similar structures found elsewhere.
Class Is in Session
Hopefully tinkering with IFTTT has given you some ideas. You’ve seen how a little bit of code can streamline parts of your digital routine. Perhaps you’ve even got a few ideas of your own for digging into library data. Where do you start?
The impression is often that you should have started coding back in kindergarten. Traditional computer science classes often assume a certain amount of preexisting knowledge—be it theory, math, or just a general intuition about how programming languages work.
Code Year is a response to that, and a boon to those of us who passed up programming classes in lieu of more practical subjects like library science or underwater basket weaving. Similar to the self-guided course offered by Stanford University and the interactive Python tutorial, Code Year was launched under the belief that the best way to learn how to program was to jump in and start programming.2
The smattering of librarians who have joined Code Year have created an interest group to cheer one another on and to discuss practical applications for their newfound skills. For cofounder Andromeda Yelton, creating such a space seemed like a perfectly logical step. “I noticed that half the people using the Twitter hashtag (#codeyear) were SEO/marketing people, and the other half were librarians. We should have a place where we should talk about that,” she said.3 The space on ALA Connect launched, and a few conversations at ALA Midwinter Meeting turned into an interest group, sponsored by the Library and Information Technology Association (LITA) and the Association for Library Collections & Technical Services (ALCTS), both divisions of ALA.
This demonstrates an important similarity between coders and librarians: Collaboration is a key factor in both fields. As Yelton pointed out, “The stereotype is that coders are all by themselves working in their basement. But the reality is that past a very introductory level, coding is tremendously social.“4 Comparing notes on successes and failures alike serve to further develop these emerging skills.
This mutual affinity for collaboration opens the door to connect with hackers in our own communities. If you can dream up a possible application harnessing library data, there’s a good chance that someone in the hacker community can help you bring it to fruition. Local groups can be found all over Meetup, and electronic mailing lists such as code4lib can help you identify other local resources.
Beyond developing our own skill sets, learning more about how software works can also help us to become better consumers of library products. In Yelton’s view, this can be incredibly empowering. “Even if they never write a single line of code, librarians can really benefit from understanding the software they use and how to talk to the people who make it,” she said.5 By providing better feedback, or by developing our own solutions, we can level the playing field in our conversations with vendors.
The Library Code Year group currently has around fifty members, and they’re eager to expand their ranks. Don’t feel pressured to catch up; active participants are all at different points in the process, and can help you think of ways to apply your newfound skills.
Taking Code to the Public
But you don’t have to limit yourself to personal learning and networking. The renewed focus on science, technology, engineering, and math (STEM) topics in education gives libraries a chance to offer some complementary programming.6 This summer, the youth services department at Darien (Conn.) Library (DL) is doing just that. The library’s workshop series for kids ages nine to twelve is based onCoderDojo, a movement devoted to creating coding clubs for young people.
For Gretchen Caserotti, DL’s assistant director for public services, this was another case of two distinct communities with a common goal. “The structure of [CoderDojo] just really struck a chord with us, because all the things they’re asking for are things libraries are able to provide—a place to come together, strong Internet, and the ability to organize an event. We can do all that,” she said.7
CoderDojo Darien will connect kids with mentors recruited from area hacker groups, colleges, and high schools. The flexibility of the seven-week program allows for wiggle room between structured classes on specific languages and open lab time. Through past programs involving Scratch and Minecraft software, Caserotti knows her patrons already have the enthusiasm. “The kids just really love to make stuff,” she said.8
For the organizers, the CoderDojo experiment may help them get up to speed. “I don’t know how to code. But I’m willing to learn with the kids. And I think the structure of this is a great way for me to get my own introduction to it,” Caserotti said.9 You can track the progress of this program atwww.twitter.com/CoderDojoDarien.
Timing Is Everything
It feels like we’re on the cusp of something. More and more library vendors are releasing APIs for their software. Any worthwhile social media platform has tools for remixing its own content. As local data sets continue to open up, new tools will emerge to help people locate public information. Libraries are well-positioned to be a part of this process.
Beyond the simple act of learning, code opens the door for public librarians to connect with a whole new group of people. As Yelton sees it, “for library technology culture to really flourish, we need to connect librarians in different institutions to collaborative relationships with non-librarians.”10 Public libraries have always thrived on their ability to connect with important groups in their service area. By trading on this established skill with the coder community, librarians have a chance to add some programming knowledge to their technology toolbox.
- Jenna Wortham, “A Surge in Learning the Language of the Internet,” New York Times (online ed.), Mar. 27, 2012, accessed Apr. 27, 2012.
- For more learning resources, refer to Carli Spina, “Computer Programming Resources,” Pearltrees.com, accessed May 23, 2012.
- Andromeda Yelton, interview with the author, conducted via Skype on May 23, 2012.
- For more on programming resources for kids, please see Gretchen Caserotti, “Beyond Legos: Coding for Kids,” ALSC Blog: The Official Blog of the Association for Library Service to Children, Mar. 10, 2012, accessed July 11, 2012.
- Gretchen Caserotti, interview with the author, conducted via Skype on May 23, 2012.
- Yelton, interview with the author.