Author Archives: puu

The overview

Before I delve into all the minute details of very specific features that were considered and/or built for the catalog, some context is necessary to understand the scope and impact of the endeavor our team undertook.

I began my work for the Hennepin County Library in May 2013, but the vision of building our own catalog started prior to my arrival. The project was rolled into an overarching plan to transform the entire online experience. I will not focus on how we got to where we were to begin building such a product, since my involvement was minimal. However, I can say that at the time we had the full support of library administration and, summarily, no product available could meet all the requirements we had (this continues to be true).

Hennepin’s library system consists of 41 libraries within a 600 sq mi county that includes Minneapolis, MN. The population is approximately 1.2 million with around 800,000 active users registered at the libraries. In the system are about 1.6 million titles with 9 million copies, however, a couple million items remain uncataloged. Library usage is relatively high and stable.

The team

Originally, the team consisted of four developers (three holding MLIS degrees) and four senior librarians whose primary responsibilities are online content. A developer and another senior librarian joined the team about six months before the initial launch in October 2014.

Of the developers, one had expertise in server and data management, one was the systems librarian, one was a utilitarian developer mostly writing server-side programming, and one (me) wrote front end code. We had shared knowledge in several areas. The fifth developer was also front end focused.

The tools

SirsiDynix Horizon ILS customized using an in-library built API
Solr using SolrMARC, LDAP, and SQL databases
ColdFusion (chosen for the team’s existing knowledge)
Twitter Bootstrap and jQuery
Git code management
APIs from content vendors (including Syndetics, NoveList, OverDrive, and BookLens)
Agile development process

The style

Much of the basic styling came from the design delivered from a local web design company for the library’s website, with the dominant grays and blues to match the county’s website design done by the same company. The library developed its interface within those and the library’s existing style constraints.

The why

When looking at the existing market, none of the products provided the features the library wanted, and most interfaces did not allow for the customization that would best support the community. A fully integrated, seamless experience that supports accessibility and built on a responsive platform (not retrofitted) with clean code that we could expand and improve with feedback. The catalog is a primary access point whose experience quality could be controlled. And the resources were available to do it.

The initial launch

Development began March 2013 by using Blacklight’s Solr implementation as a foundation. With the preliminary index built, catalog design could begin. The catalog (and My Account) was built in six main phases: server and index set up, catalog search and results, record display, login (including guest accounts) with My Account and requesting and renewing, remaining account pages, and the remaining planned features such as account sharing and OverDrive integration.

Each phase was released to staff for testing and feedback, and in July of 2014, a beta version of the new catalog and My Account was released to the public. The official release occurred in October 2014.

Looking back, building a complete catalog, single sign on, and My Account in less than two years is impressive for a team consisting of four developers for over half that time. Halfway through the development the new styles were delivered and interface rewritten with Twitter Bootstrap. Conversations occurred weekly with stakeholders and content librarians. Usability testing ran in tandem. But many features also did not make it in the initial launch with an abbreviated development timeline.



The content of this section is based solely on my perspectives primarily while working on building a public library catalog with the Hennepin County Library. My views or recollections of discussions do not represent the organization. This is a series of posts that represent my experience and thoughts as a front end user experience developer working on a team of mostly eight people over the course of two and a half years.

Peru: Lima (Day 9)

Up and early for our last day. Most of our belongings were packed, and we ate an early breakfast. We did a reverse trip of our first day and arrived back at the airport for the 11 a.m. flight. Unfortunately, when we arrived back in Lima at 2 p.m., none of the international flight gates were open yet, so we were forced to pay for luggage storage to go into town for a few hours.

After some haggling, a taxi took us to the Larco Museum, which is thankfully open late on Sunday nights. The museum is far superior to what we had seen already and also allowed photography. It houses a huge pottery collection and gold pieces, and it amusingly had an ancient erotic art collection. We ate dinner at the museum café, and the museum shop clerk was able to call us a taxi for a much more reasonable price.

At the airport, JJ was finally able to get some donuts due to a Dunkin’ Donuts booth. The three of them bought half a dozen to eat amongst themselves before the flight, so I wandered around some of the shops. Apparently the donuts were too Peruvian for their tastes. We boarded the flight, which was in the air through the night, landing in Dallas in the early morning where we went our separate ways.

Overall, the trip was good. The Amazon leg of it felt out of place after the first two parts, but I still enjoyed it. It probably would have been better as its own trip, though. Thinking back, we had tried to save money by removing one of the legs and staying in the Sacred Valley, but perhaps we should have kept the last leg and just gone to a different part of Peru such as Lake Titicaca or the Nazca Lines (I hear they fly over them in hot air balloons). A lot of experiences, many intense, and many scenic. And a lot of the food was very enjoyable.

I am excited to go on yet another trip soon, but once the coffers have re-established themselves.

Back to Day 8

Peru: Amazon (Day 8)

Our last full day in the Amazon and another 4:45 a.m. wake up call. We took a short boat ride to Tambopata Park, just the four of us since the others we met all had flights that morning. The day was warm, and we were advised to wear rubber boots because of more rainfall last night. Rubber boots and 5km of hot humid jungle hiking do not go well together. I don’t think I’ve exercised this much since our honeymoon in Japan (we walked a lot, I recorded 11 miles one day). After the first half hour, my mind started wandering putting only as much effort as needed to not trip or get stuck in the mud.

An hour and a half later we arrived at Cocacocha Lake, full of piranhas that Daniel demonstrated by dropping a piece of bread in the water. The response was voracious. We munched on our breakfast from the viewing hut with that knowledge in mind, then jumped into a canoe with Daniel and fellow staffer Luis paddling the quiet and calm lake that barely held the rainforest back.


We could hear river otters in the distance, the main attraction of the lake and often elusive. Macaws flew above the trees, and “stinky birds” were found along the shoreline trees. The guides zeroed in on the otters, and there they were. Seven total, curious and playfully hunting food along the edge of the lake. Several times one otter came towards the canoe to check us out, poking his head out of the water every so often while the others remained back barking and snorting. We followed for ten minutes before going off in search of more wildlife but only found more stinky birds.

Daniel gave us fifteen minutes to psyche ourselves up for the return hike. Daniel made the pace more manageable by stopping to show us different medicinal plants, including having us sample the bark of a tree that is used to make the pills effective against malaria and yellow fever (a shot I could not coordinate in time for the trip back home). It was incredibly bitter, like potent thousand year old earwax. I drank half a bottle of water and chewed on a mandarin-orange flavored sweet leaf hoping to lose that taste. At least we were now somewhat “immune” to the two bad diseases to be concerned about.

Barely holding it together by the time we reached the river, the short boat ride back felt amazing. Our package also included a trip to a similar lake on a catamaran with some piranha fishing, which I was really excited about (the catamaran part), but after that hike none of us could work up the energy to go. It was intended to be during the time we went to El Gato for the other couple’s tour, and I would have preferred the catamaran (although similar to the one we just did, it would have at least been a shorter trip but still a lot of walking).

After lunch we decided to relax that afternoon and took over the hammocks. While we were chilling out, a new substantial wave of guests arrived. Soon enough it was time for our night ride, so we made another trip to the Tambopata River banks, boarding the roofed boats. We barely pulled away when we saw our first caiman, not even a year old, sitting on the bank next to us. He didn’t appreciate the spotlight and quickly darted into the water. Motoring along in near darkness, it was easy to get caught up in star gazing. This far out from civilization, the sky popped, just peppered with stars and the Milky Way clearly visible (amazing since inside the jungle its pitch black from the dense foliage). I wished I could get a photo, but that would have required much more advanced technology and solid ground.


The motorman beached us and hopped into the shallow water. A large caiman’s eyes reflected in the spotlight, and when the motorman dove, a large splashing ruckus ensued. This caiman was considerably older and made a getaway. After a while, we started up the river again and found one more younger caiman we were able to get close enough for some decent photos. We returned for dinner, then slept well once the MIT reunion finally quieted down.

Back to Day 7 | On to Day 9