(Batch) Scanning index cards

hp officejet 4215, the ADF loaded with 7 index cards. I bought an hp officejet 4215 last week, because, as a laggard, I finally wanted to have a fax machine so I could improve turnaround time on closing some deals and starting work. I wanted to have another machine, but that was sold out, so I took this one. It has an ADF (Automated Document Feeder). I was expecting it would eat only A4 (or Letter, for those of you living on the other side of the pond). As it happens, it feasts on index cards as well (about ten index cards at a time though). As I was working with Rob on some alternative choreographies for eXperience Agile, we made a bunch of index cards with modules. To archive it and mail the results to Rob, I wanted to scan a batch of index cards. Marc suggested to show, not tell how scanned index cards work (I typed the text of the stories, acceptance criteria in alt tags, in case your aggregator doesn’t show pictures, or you can’t read my handwriting… ;-) ):
story: scan index cards. As a course organizer I want to archive index cards electronically, so that I can quickly share course layouts with colleagues elsewhere. tasks - plug officejet in - install printer & scanner driver - scan 1 page - find out if / how batch scanning works - xsane or scanimage - scanimage: - crop to index card dimensions - convert batch of pnm to jpeg

acceptance criteria - readable (as far as card itself is readable) - quick (a couple of minutes max) - do a stack of index cards at once

Installing the scanner was a no brainer ‘apt-get install sane’ (sane is the universal scanner package in linux) and printer and scanner were both autodetected.

To get value from the first story, I scanned the 17 index cards for Rob in a couple of minutes (I was doing other things meanwhile). The scanner takes about 10 cards at a time. I made two small scripts (about 4 lines in total :-) ) to cut the cards in the correct size (10×15 centimeter) and convert everything to jpeg. I chose to use ‘scanimage’, a command line tool, since that was less work than xsane (a graphical front end, more suitable for incidental scanning). I made a zip file of the cards and sent them away. That was cool.

Now I was missing one feature from a table with story cards – shuffling them around. We wanted to make three choreographies, and had made markers on the cards for that. I didn’t quite know what to use for that, so I left it for a couple of days. Then it dawned on me, that OpenOffice Impress ( a presentation package) has a slide sorter that makes it very easy to move slides around. Importing the scanned cards one by one was very cumbersome though. Time for the next story:

story - (re) Arrange Index cards - as a course organize,r I want to rearrange index cards, so I can make multiple courses from the same modules (with a small drawing of how cards could be moved) acceptance - be quick - must be possible right after scanning -> opening each image in impress takes too much time - I can save several card arrangementstasks - openoffice impress spike -> import images through menu -> too slow; -unzip document, and find out ohow images are stored - import images through irb - collect what worksi n a script - test imported images / moving around / rearranging
Messing with open office xml turned out to be a bit error prone (I didn’t bother to read the spec either. I unzipped the sample presentation I made by hand, looked where the images were and manipulated the xml with rexml ( a ruby library for working with xml as a tree representation). I still officially dislike xml, but used this way it was very simple for me to make my openoffice more valuable to me. To see how it looks and feels, you can download these stories as Impress 2.0 (OpenDocument Presentation format) or stories as PDF.

  Other ideas / backlog - index cards are handy for fleshing out presentations - now I can run the first one without messing with the slides - the script could easily be used for importing a batch of photos into a presentation
Scanned index cards are handy and fun for sharing course layouts, and possibly also for archiving user stories – with other forms of electronic storage (except digital photos, but scanned cards are easier to read) I miss the visual blips and seeing the cards makes it easier for me to relive bits of a planning meeting when necessary .

Maybe there are more applications :-) . If you’re interested in trying out the script, let me know. It might be fun to release this as open source, but I need to do some work on packaging it then – that would go best with some feedback from early users.

Comments are closed.