The making of a photo book

This past year, Stephanie and I were able to visit some relatives we hadn’t seen in a long time. Three years had passed since she’d visited her family in France, and it had been at least as long since I’d seen my grandfather in Buffalo. For some reason—maybe experiencing it together amplified things—we left feeling more aware of the distance than we had before.

Though we both like to think we’re pretty accessible via blog and email, we know the internet doesn’t make it all the way to our grandparents. So we wanted to create some sort of physical, visual artifact that would. Something to make the distance and time between visits seem less great. Given our photo-centric adventures, we started thinking about compiling a photo book.

2007 Photo Book
The final product

After Thanksgiving I started to go through all the photos I’d taken in 2007 (there were over 4,200!), looking specifically for pics with either or the both of us in them. By the time I got through them all, I’d collected over 80, many of which had never seen the light of day (we don’t usually highlight those cheek-to-cheek shots on our blogs).

Then I started surveying the photo printing sites that did photo books, like Kodak, Shutterfly, and Lulu. I’m not sure what exactly I was looking for, but when I stumbled upon Viovio, I knew I’d found something…unusual. At first I was a little put off by their wiki-centric website, but the more I explored their offerings (discovering things like linen hardcover binding) the more I liked what I saw.

They offered two primary ways to prepare a book for printing: upload a PDF (ostensibly created with some fancy Adobe software I didn’t have) or upload individual images into a gallery which they’d generate a PDF from. I wasn’t about to layout the book myself, so I started by uploading the 80 or so photos I’d set aside (which I was able to do as a single zip file).

Their photo gallery to PDF creator was pretty neat, you could specify how many photos you wanted on each page and it would arrange and resize them to fit, with lots of fun options like full bleed pages and chapters. Or you could decide which photos you wanted on each page by manually numbering them yourself. This is the approach I took, leaving horizontal photos alone on a page, and putting two vertical photos side by side. You might remember a blog post where I surreptitiously wrote about this: A little weekend math.

This was working well enough, so I started uploading additional pictures of some of the incredible sights we’d seen along the way. It went on like this for a few nights, I’d upload photos, rearrange them, confer with Stephanie, regenerate the PDF (which took a few minutes), and repeat. The hardest part was not setting up individual pages, but making sure certain related photos on two different pages appeared next to each other, one on the left and one on the right (e.g. the croque monsieur and the espresso at the bottom of the layout screenshot below).

Eventually the set of photos stabilized, so I began to add captions. I made a first pass in English, and planned to have Stephanie translate them into French. But we ran into a few problems. Putting English in their single-line “title” field and French in the “description” broke my painstakingly crafted layout because Viovio only allowed a single photo per page when the photo had a title and a description. But that wasn’t the worst. They also couldn’t handle Unicode characters from the Latin-1 Supplement block. Thus the very common é, (e accent aigu), became a mangled é. Ugh.

I alerted them to the limitations of their PDF generator, which they confirmed, but had no timeline for fixing. Meanwhile I was running out of time. Their Christmas ordering deadline was fast approaching, and my expectations were rising. I had a vision in my head (and on graph paper) of what I wanted the book to look like, and the limitations of their generator (or my use of it) only further clarified what I wanted.

What I wanted was simple. One horizontal photo to a page or two vertical photos to a page, with just enough space at the bottom for two lines of text (English and French captions) and small margins around the edges to maximize the photo size. I started thinking maybe I could write a little PHP program to generate the PDF to my specs. How hard could that be?

2007 Photo Book layout
Sample layout with photos from Sequoia NP and Paris

Well the hardest thing was deciding on a PDF library to use. PDFlib is the most full-featured and up-to-date, yay for proprietary software, but on the other hand I couldn’t just apt-get install it. In fact, no matter what I tried, I couldn’t compile and install the trial/free version at all. What a waste of time. Boo for proprietary software.

But it’s not like I needed anything fancy. Just multiple pages, photos, and two lines of text. So I turned to FPDF and never looked back. I think it took less than an hour to go from zero experience to a proof of concept photo book generator. In fact I was progressing so fast that I stayed up till 2am one night to get the whole thing done. That’s just the best feeling in the world.

It took another day to polish the code, proofread the captions (in two languages), design a cover (Stephanie used Picasa), and suddenly we were done. I uploaded the 160MB PDF (74 pages, 99 photos), ordered a bunch of copies, and couldn’t wait till they arrived.

2007 Photo Book inside
A quick peek inside

Update: my photo-book code is available on GitHub.



Whaou ! Justin this book is great. I’ve just got it in my mail box. You had a wonderful idea for sharing yours activities with us. The pictures are very nice . Thank you very much. Justin you are a very special man and I wish you a wonderful life with stephanie. Be happy . Lots of love from me

Chris, I’m so glad you got it! I was worried about my blog post giving away the surprise, but it sounds like we timed it perfectly! I hope you enjoy it until we arrive in June to see you in person. Bisous!

No, I guess grandparents are big into blogging. I just found your blog (via a google search for letterpress)and have used some of your fantastic photos in my post. please check it out and let me know if I got your policy right. thanks so much for sharing your thoughts and your work. Can’t wait to read more.

Justin, Here it is 2009 and I found your site searching,trying to find a program to create my own photo book..I am not sure what to do with your link.. does that count for educational…lol… the program sounds perfect, but I am not sure what to do with it.. any info would be greatly appreciated.. thanks Stacey

Stacey, I’d recommend using a service like Shutterfly, Kodak, or Apple’s iPhoto to print a photo book. Or take advantage of Viovio’s online book builder tools. The route I took requires knowing how to program in PHP.


Email (optional)

Blog (optional)