Code is the backbone of the electronic tools that we use everyday, whether opening a Word document, using the Internet, editing a MARC record, or helping out patrons access a database. All these tools are built using coded instructions. Of course, because they mostly employ graphical user interfaces, we never really see or understand what is really happening, and for most of us ignorance is bliss.
However, I would like to provide a few possible reasons why you might want to work beyond the mouse click and know what is going on behind the scenes (even if you never learn to code yourself).
1. Learning to speak “their” language
Think about times you may have, or wanted, to take a trip to a foreign country. You might use Mango languages, get a CD, or pour through a phrasebook in an attempt to learn just enough to be able to get to the bathroom, order some food, and find the hospital (hopefully the third was never actually needed). The idea being that we make an attempt to learn just enough to be able to understand what is going on around us, but also to be able to communicate with those we engage with to accomplish a particular task.
You can think of learning about code in the same way. We deal with many vendors who provide us with products that use code as their foundation to process and deliver information - from our OPAC, to the Internet, to our research databases. How many of us have wanted to request a tweak, or change, or are maybe reviewing products but would like them to function in a certain way? This is usually where the disconnect begins because we can tell them what we want, but are we speaking the same language as those who can actually make it happen? For that matter, how many of us wish we could simply tweak or design the product to perform how we think they should for the best interests of our patrons?
Understanding code is one way to bridge this gap between our expectations and accomplishing our goals. Again, this does not necessarily imply learning to code ourselves (unless it moves you), but understanding how code works, and really how these products really work beyond search terms, checkboxes, etc can go a long way in having our products become better.
Coded open-source projects like Evergreen and Librarybox were created and designed by librarians to serve the specific needs of libraries and their communities. We rely so much on people outside libraries to provide (at handsome prices) tools for libraries. Should we be that surprised then when they do not necessarily take user-design principles that we hold high in regards into account? This is not to summarily slam all library vendor products, but to simply point out the obvious - they are not librarians, so why would they design like librarians. But, we can if we decide to take steps toward becoming more literate in the language(s) upon which these tools are built.
2. Data and Information Manipulation
Libraries are all about information, including digital information - access, discovery, and quality. We as library staff are charged with facilitating the process whenever possible to provide our patrons with the best possible experience in all three regards. However, there is a difference between using the process and designing the process. I think librarians are in a great position to be able to do both.
There is no doubt that our work makes us information professionals in regards to procuring information from a variety of sources (i.e using the the process). Whether through a higher education program, or on-the-job training, the more we use the process the better we become at it. Yet, there are not very many (and much more in the academic, than public or school) that engage in actually attempting to design the process. Let me be a little more detailed about what I mean.
There is so much data available in digital format, specifically in accessible databases across the Internet. However, what if we considered and imagined what more we could do than simply access it? What if there were a way to combine it seamlessly with data between two resources and create essentially a new data project that took advantage of information from both? Another thought, what if there were a process for taking digital information from rich information repositories and combining with our local catalog or library data to create powerful new discovery experiences for our patrons. Here is the thing, there are and coding is the key.
Without going too far down the rabbit hole, one example we can talk about is the use of web API’s. API’s, or application programming interfaces provide code and resources from thousands of different web resources such as OCLC, Google, Yahoo, GoodReads, Twitter, Facebook and hundreds of other sites. The idea being that they provide the code you would need to be able to mashup their data any way you wanted, or perhaps with your own data.
So, for example, the Google Play store offers free 30 second or so previews of songs for their entire music catalog. Now, imagine being able to use this API, and with coding ability, design an experience where when someone searched for a CD in your OPAC, you could provide them with the ability to preview the songs on the CD as provided by Google Play.
We are seeing similar data interactions in our catalog now, whether its images displayed for books, or API data from LibraryThing being provided to add to catalog records (and there are many other examples). But learning the understand code, and how these interactions are done and designed can lead to even more innovation, and that innovation can come from us.
For a user friendly way of experimenting with these types of tools you can check out Yahoo Pipes. I like Pipes because it provides the best of both worlds, in that you not only have the easier to use drag and drop interface, but you are also exposed to some basics of the logic and coding behind what you are doing.
Also check out the book and website Library Mashups by NJ’s own Nicole C. Engard. (who by the way has a great blog where she posts open sources tools all the time - What I Learned Today)
3. Coding is Literacy Too
Libraries have always been, and I envision will continue to be, places that work to support many forms of literacy for the patrons we serve. Literacy, of course, can take many forms. It can be early childhood reading programs, teen digital literacy in using the web and social media, or adult education and enrichment programs. In more recent years, digital literacy, for all ages, has become an important part of the function we serve as well. This can be in the form of computer classes for Internet and software products, seminars on identity theft, or how to avoid being scammed on the web.
Yet, how many of us are, or have considered, to provide resources and enrichment for coding as a form of digital literacy. I know it is a tall task since most libraries do not have someone on staff to teach or instruct on it, nor the funds to bring in someone who can. It may not even be something on your radar.
Yet, as our generations move forward into an increasing digital world, understanding of the foundation upon which is built, I predict, will become increasingly more important. Notice I said “understanding”. To reiterate, not everyone may, want, or should learn to code themselves per se. However, understanding what it is and how it works will likely permeate more and more of the work, play and leisure that we do in the future.
Libraries can help here, as they always have, regarding coding as a digital literacy. There are tools, which I will talk about in my next article, that we can use to help our patrons if we so choose. We can look for grants to provide resources and instruction in this area. We can think about inviting speakers and presenters who may not teach coding per se, but can provide better information about “how” our tools work in layman’s terms. There may even be a few librarians who could pull this off...
All I am suggesting here in point 3 is that we take a moment to consider coding as a digital literacy, and what possibilities lie out there for us to partake in helping the public to gain a better understanding of it, and ourselves as well. From there, the decisions are of course up to you.
If you made it this far pat yourself on the back, I am not going to lie here and say this is the sexiest subject in libraryland, but your patience and willingness to consider the topic are most appreciated. I also promise that the next two weeks I will step down from my proverbial soap-box, and it will be all about the tools and resources (since I as I write this I realize I sort of combined two weeks of topics into one).
Until next week…
PS. Interested in web API’s and what kinds of tools can be accessed and manipulated? Check out some of these, even if you do understand the code or jargon, look at the explanations of the tools and data they can interact with to provide some scope of what can be used: