label creating and scanning of books

Now that we have a way of recording books and people who check out books we need to figure out how t make this easier. Having someone type in the book title and student name at checkout time will be a time consuming process and lead to errors. If there are two sudents with the same name, there will be errors. If there are multiple books with the same name and author, this will cause errors. We need to come up with a way to streamline this process. The obvious thing is to look at what a library does and replicate this.


If you go to a local library, they have a bar code scanner at checkout and scan each book when you check out. The bar code does not need to be an industry standard but something unique that identifies the book. This can be easily done by using the book identifier provided by LibraryThing.


The first thing that we did was to look at scanners that are available. This was done by going to the Micro Center, Frys, and Radio Shack. The only scanner that was available commercially is the http://www.waspbarcode.com/ scanner. We purchased the hand scanner for $250 and made sure that it worked with our laptop. The specific scanner that we purchased was the http://www.waspbarcode.com/scanners/ccdlr_barcode_scanner.asp WLR8900 scanner. This worked very well in reading the ISBN bar codes that were on the back of most books.


The second thing that we wanted to do was to print out own labels since to books will resolve to the same book if we us the ISBN number on the book. To do this we purchased some software from a local office supply store. The software that we purchased was the Avanquest Label Maker 4.0 software for $25.  Using this software we are able to import the data from LibraryThing and print out a label using a barcode on a standard Avery label.


The label that we wanted to use needed to contain a barcode that uniquely identifies the book. We also want to print out the book title, author name, the dewey decimal number, and the HSE Library. This is easy to do through the Design interface of Label Maker. We initially picked an Avery label format 8250 so that we can have 30 labels per sheet. This create a 2 5/8 inch by 1 inch label.


Our initial tests with the barcode did not work very well because the printer that we used were not of very good quality. We initially picked Code 128 format for the barcode layout. To make the printing easier we increaed the space width by 10% and increased the bar width by 10%. Once we did this we had very few scan failures. When we did a random sampling of 1000 labels, less than 2 per sample required multiple rescans to read the barcode. We used standard Times New Roman font to get the label and text on the label. Once we printed this label it was easily put on the last page of the book. This is probably the most labor intensive part of getting everything done but it does allow us to uniquely identify books.


Once we had the format properly created, we needed to import the book inventory ino the Label Maker software. This is easly done by defining the data table with some unique titles to make importing easier. If we define the columns as follows, the excel table that we try to import will come in easily without modification. The table looks like:


 – author (last, first) 


 – author (first, last)


 – Title


 – ?book id


 – ISBN


 – Your Tags


 – DCC


When we try to import the excel data sheet, we need to first save the Excel sheet as a comma separated file. In doing this we can use the File->Import option to bring in the csv file. When we do this we get data entries of the entire library.


On a weekly basis we import the library list and sort it by date entered into LibraryThing. When we import the csv file, we do not import the entire library list but only books that have been entered since the last label printing. This is done by truncating the csv file to include a list of books from the last week or two weeks and importing it into the Label Maker software.


This process has been very effective in tracking books and correlating them to users. The students are required to have a picture id that has their student id on the card. We can easily scan the book bar code a well as the student id which is also a bar code and correlate the two in a database or Excel spreadsheet.


The execution of printing labels is realtively easy. The difficult parts are setting up a printer on the library laptop because the IT department does not want to support printers or something that they did not install. They also do not want to support the Label Maker software since it was not purchased by them. Fortunately, these items are easy to setup but it does require having an administrator login and execute the setup scripts. Once this has been done the library system is relatively easy to use on a weekly basis to print labels as well as check in and check out books.


Up next, we will look at the logic required to implement a checkout system using a database as well as through application express.