Sunday, May 17, 2015

Flambe: a retrospective

When I was a kid, my Mom kept all of her recipes either in her head or on hand-written 3x5 cards in the cupboard. Over time, she got organized and put everything into some software for Mac called Mangia.

Years later, in the early 2000s, she found that Mangia was discontinued, and all of her recipes were stuck there. Being a computer science student at the time, it either fell on me or I volunteered to come up with something better.

I spent entirely too many hours writing what I planned to be the Next Great Recipe Program, Flambé, with the ability to share recipes online and request recipes from the worldwide community of cooking enthusiasts. I endeavored into writing clever spiders that would collect tens or hundreds of thousands of recipes from other online databases. (To this day, I still have several zip files hundreds of megabytes in size containing gathered recipes.) I wrote interesting regular expressions to be able to split an ingredient such as "1T brown sugar, packed (optional)" into constituent components quantity (1), unit (T), item (brown sugar), remarks (packed) and isOptional (true). I put many of these recipes online on a searchable database for anyone to use, either with the program or without.

Dat splash screen

I spent hundreds of hours doing this in part because I really enjoy cooking. I have fond memories of helping Mom in the kitchen with chocolate chip cookies, no bake cookies, peanut butter cookies (my favorite as a child), and more, and I still love spending time in the kitchen.

Just the same, my program kind of sucked. I focused heavily on features that weren't really that useful. (Peer-to-peer sharing of recipes via an HTTP server built into the program? What was I thinking?) So it comes as no surprise that the worldwide community of enthusiasts never showed up. My program was used pretty much exclusively by my immediate family. But I did learn a good deal and had a good time doing it.

Every now and then, though, my brother would email me asking how he could upload a recipe to my online database, or whether I have this or that recipe. He's the last known user of my terrible software, so rather than hasten the death of Flambé (which quite possibly is the correct path), I decided to drag it on by whipping up a "quick" revised version that has the core functionality.

While Flambé never really went anywhere, I was fortunate to work on a project at work this spring for the OneNote team in which we make it extremely easy to save recipes from websites into your OneNote notebook of choice. Maybe there's hope for my recipe-sharing utopian dream yet.