Why it’s impossible to build a digital recipe library

For more read the follow-up post: A better recipe for digital cuisine

Remember those roasted Brussels sprouts you made last year for the holidays? The whole family loved them — even Uncle Enzo, who normally turns green whenever forced to eat something of that color. Your family now thinks you’re a kitchen wizard and wants you to repeat your culinary feat this weekend, but you can’t seem to find the recipe. You remember discovering it online last year after having one egg nog too many, but you can’t remember where. The copy you printed out has long since made its way into a recycling bin, and when you type “Roasted Brussels Sprouts” into Google(s goog) you get thousands of listings. If you can find that recipe again, you must remember to save it. But how?

When you find that perfect ingredient combination for pumpkin pie filling or the ideal technique for roasting Cornish game hens, the web doesn’t give you many options for holding onto it. You can bookmark recipes that have a dedicated URL; you can cut and paste recipes into an email or document; or you can hit the ‘print’ button, but these are all pretty clunky ways of storing ideas you want for quick reference. Many of the big recipe sites  now have digital recipe boxes behind their login screens, but those are of limited use as well. Maintaining dozens of different accounts with food sites is not only a pain, but by distributing my recipes all over the Internet, I can’t browse, sort or search them as whole.

This year, I decided to build a digital recipe library using what tools were available on the web and through various app stores. It turns out there are plenty of recipe aggregation tools out there, but I wound up focusing on three: Paprika’s Mac and iPad apps,(s aapl) MacGourmet’s Mac App, and KeepRecipes’ web portal. I discovered they’re all great services for saving and cataloging specific types of recipes, but they all share a single huge limitation.

First, the good

KeepRecipes is both a recipe library and a community cooking portal. You can enter your own creations or cut and paste recipes manually into its fields, but the really handy tool is a button you install in the bookmarks bar of your browser. If you find a recipe you want to save for a later date, you hit the button and up pops a recipe window with the ingredients, directions, notes and pictures pre-entered – theoretically, at least – into the appropriate fields. You tap the save button and the recipe is stored in your digital online library forever more.

Paprika's recipe management app for Mac

Paprika and MacGourmet perform similar types of website scraping, but they do so within embedded browsers. You surf to a recipe page through the apps, and when you press the save button, both generate digital recipe cards with the relevant fields for ingredients, their individual measurements, directions, notes, even dietary information and photos. Both apps go beyond just storing recipes, though. With both, you can create shopping lists with one click on a recipe and even generate weekly meal planners. Paprika and MacGourmet both have iPad and iPhone apps as well, allowing you to sync shopping lists and recipes between devices. That’s quite handy if you don’t know what want you cook before you go to the store or if you happen upon some tremendous deal on lamb chops and change your meal plans on the fly.

These are all great apps, though each performs some functions better than others. If I wanted to write my own digital cookbook using my own recipes (which right now are hand-scrawled into a dog-eared notebook), I’d go with MacGourmet. It allows you to enter a tremendous level of detail for each recipe, all of it in relevant searchable fields. The interface is a bit clunky, though, compared to Paprika’s more streamlined look. Paprika also seemed to have the better scraping algorithms, putting the right data into the right boxes, and it was able to grab a lot recipes MacGourmet couldn’t. It also generated far more useful shopping lists, with simple lists of ingredients and quantities you can check off your iPad with a finger flick.

As for KeepRecipes, I loved the concept more than I loved the actual implementation. Its web-based service is not only free; it’s very democratic. I could access my recipes from any browser, even the microbrowser on my Android (s goog) phone. MacGourmet and Paprika require you to download – and pay for – different versions of their apps on your different devices, and neither supports Android. (I suppose we Android users are expected to survive on take-out Chinese and frozen pizzas.)

KeepRecipes also has built up an extensive community so you can share recipes with friends, follow what other people are cooking and promote favorite dishes. The problem is that KeepRecipe’s scraping function is pretty basic. It’s really entering data into a few text fields rather than cataloging the components of a recipe, and it often fails to scrape the right or any information at all from a recipe page. KeepRecipes’ scraping methodology was definitely the most wonky, but it wasn’t alone.  It’s a problem facing any app trying to decipher a recipe from the seemingly random HTML code of a website.

Now the bad

The scraping algorithms of all three apps are optimized to read the recipe formats of most popular cooking websites such as the Food Network (s sni) or Epicurious. Once you go outside the list, the apps can’t recognize the recipe staring at you from your screen.

Of course, those big cooking sites hold huge repositories of recipes for any dish imaginable. If you love Alton Brown (which I do) and Emeril Lagasse (which I don’t), then you can create a substantial recipe library by mining the Food Network site alone. But the best food ideas aren’t necessarily on those big sites. Some of the most innovative – and tasty – stuff is going on at the innumerable culinary blogs popping up all over the web. Every time I tried to grab a dish off of the recipe blog aggregator Gojee, I saw the same message telling me MacGourmet or Paprika couldn’t detect the recipe or the same KeepRecipes window with a bunch of blank fields.

Then there’s the issue of compatibility. Once I save a recipe with Paprika or MacGourmet, they’re trapped inside those applications, stored in a proprietary format. KeepRecipes has great community sharing features, but my recipes are still locked within that community. Since I might find each app useful for different things, at the end of the day, I wind up three separate digital recipe collections.

And what about the quarter-metric-ton of dead trees on my bookshelves? While I’m increasingly going to the web for my recipe ideas, Julia Child’s (et al) Mastering the Art of French Cooking, Irma Rombauer’s Joy of Cooking and Larousse Gastronomique are my culinary bibles. Even if I can build a digital catalog of my favorite dishes from the web, how do I bring these culinary staples (which make up the lion’s share of my cooking) into that new digital library?

If I were to pick one app, I’d probably go with Paprika, since it was the easiest to use and had the best success rate in transforming online recipes into usable digital recipe cards. But I’m under no illusions that I can use Paprika as the foundation of a comprehensive digital recipe library. When it comes to food, the web has made finding a wealth of new ideas and dishes much easier, but when it comes to storing and organizing those concepts, the web has effectively changed nothing from the days of the printed cookbook. My recipes are still bound in tomes. Some of those tomes are now digital, but they’re just as isolated from one another as the cookbooks on my shelves.

Note: While this post identifies the problem of cataloging recipes in the digital age, my follow-up post explores a possible solution. For more read A better recipe for digital cuisine: Why digital cookbooks need to emulate digital music

Bookshelf image courtesy of Flickr user Paper Cat
Cookbook image courtesy of Flickr user Lori L. Stalteri