ALA Editions purchases fund advocacy, awareness, and accreditation programs for library professionals worldwide.
JASON BENGTSON is the head of information technology services at Kansas State University Libraries, where he currently holds the academic rank of assistant professor. He is a full stack web developer and the author of numerous articles on library technology.
2019 by the American Library Association
Extensive effort has gone into ensuring the reliability of the information in this book; however, the publisher makes no warranty, express or implied, with respect to the material contained herein.
ISBNs
978-0-8389-1830-2 (paper)
978-0-8389-1842-5 (PDF)
978-0-8389-1843-2 (ePub)
978-0-8389-1844-9 (Kindle)
Library of Congress Cataloging-in-Publication Data
Names: Bengtson, Jason, author.
Title: Library web development : beyond tips and tricks / Jason Bengtson.
Description: Chicago : ALA Editions, 2019.
Identifiers: LCCN 2018055618 | ISBN 9780838918302 (paper : alk. paper) | ISBN 9780838918425 (pdf) | ISBN 9780838918432 (epub) | ISBN 9780838918449 (kindle)
Subjects: LCSH: Library web sitesDesign. | Web applications in libraries. | Web site development.
Classification: LCC Z674.75.W67 B457 2019 | DDC 025.0422dc23
LC record available at https://lccn.loc.gov/2018055618
Cover design by Kim Thornton. Cover images Adobe Stock.
Contents
Appendixes
T his book is for all of you who want to expand your horizons with web code. Maybe youre just starting to learn how to build projects. Maybe youve been building them for a while, but you keep running into intractable problems that you cant solve, which are holding back your development as a creator. Maybe youre just looking for some interesting and effective solutions to common problems. This book will take you to the next level by introducing some new thinking patterns to your problem-solving that may give you an edge.
Many resources, whether in print, on the web, on video, or other formats, can teach you how to write various kinds of code. There are also plenty of code examples and snippets on the web that you can pick froma veritable web coders buffet. There are far fewer resources that walk you through specific problems and lead you to effective solutions. Even most tutorials are designed to present solutions rather than showing the work of puzzling around problems until a solution is reached. That gap can leave developers high and dry if they encounter problems that dont cleanly fit any of the examples they can find, or which arent covered by the instructional sources available. Being able to attack those kinds of problems creatively and confidently is a big part of what separates a quality developer from someone who is just dabbling with code.
Im writing this book because Ive seen this paradigm play out many times, especially among fellow librarians who are beginning to move into web coding. They learn enough to do some basic work but are often stymied by more difficult problems for which theyve been given no conceptual framework. My goal is for this book to help developing library coders begin to foster more robust problem-solving skills.
Ive shared my list of eighteen rules to follow as you work. Youll see them in italics throughout the book. Appendix A includes the complete list.
I will profile eleven challenges that I have faced and explain the thinking I used as I worked toward each solution. Along the way, I will share both how and why knowledge. More importantly, I will be breaking down my problem-solving process to help you develop your own mental frameworks for meeting challenges. Its natural to feel exasperated or even frightened when confronted with a problem you dont initially understand. I hope this book will help you to take a breath and then look at such problems as an opportunity to enhance your knowledge and skills.
I dont claim to be the master of this mindset. The real exemplar of do-it-yourself ingenuity is my father, Al Bengtson. He taught me that a person who could read something, understand it, and then apply that understanding could do anything. As a boy I watched him perform complex maintenance on the family vehicles by using the Chilton manuals he checked out of the public library and going through a little trial and error. Years later I came home from the Navy to find a strange wood-paneled box affixed to the side of the furnace in the basement. It turned out that when the furnace control unit had failed in the middle of the previous winter, Dad had figured out how to take a generic circuit board and build a replacement, complete with a new box to hold it.
I also make no claim here that Im a master coder. I know how to do a lot, but Ive learned by doing and by researching problems on my own. Ive only taken a handful of computer science classes. Most of my educational background is in English literature and information science. Nonetheless, I have built many complex full-stack web apps using multiple languages, libraries, and frameworks. I have designed many databases from the ground up. I have solved technical and interface problems that persons with formal computer science degrees had written off. None of this was because I was any better or any smarter than anyone else. Rather, it was the result of a dogged and creative approach to solving problems.
The Problems We Need to Solve
I m about to give you the first half of an equation (figuratively speaking, of course; I promise to keep the actual math to a minimum).
This half of the equation is about perspective. Heres an example. When I was in the Navy I served in the electrical division on board a fast frigate, guided missile. One day my divisions highest-ranking petty officer, an Electricians Mate First Class (EM1), told me a story that he claimed happened to him while he was serving on a much larger ship. It can be hard to tell if the sea stories you hear from sailors ever actually happened, but I believe this one is true.
He had gotten word from the engine room that there was an electrical problem that had been going on for a while, so he reported there with his toolkit to fix it. In the engine room he was met by a burly boiler technician who was clearly out of sorts. The electrician asked him what the problem was, and the boiler technician pointed toward a large metal coffee maker.
- Boiler technician: Thats not working.
- Electrician: So it wont turn on?
- Boiler technician: No, it keeps doing this.
The boiler technician walked over to the metal coffee tank and placed his hands on either side of it. As he did so, he began to shake and convulse as he was shocked by the device. The EM1 stood there, astonished. All he could think to say after witnessing the spectacle was What?
This, the boiler technician replied with some consternation, before repeating the performance. Finally, after gathering his wits, the EM1 blurted out, Stop doing that!
It was a funny tale, and for the EM1 it was mostly a way to poke fun at a fellow sailor. But what is truly interesting about the story is how it shows the difference in the perspectives of the two men. They both wanted to solve a problem. But to the boiler technician, the situation was about a piece of equipment doing something inconvenient. He didnt consider it that big of a deal (after all, the equipment still worked, and the boiler technician was obviously a pretty tough customer), but it was annoying, and it would be better if it were fixed.
Next page