Sunday, 25 January 2009

Storing (and Finding) Recipes

As you may have gathered by now, I like to cook. I've lost count of the number of recipe books and food magazines I own and this is beginning to be a problem. When I (or Bryony) randomly stumble across a nice sounding recipe it will get put on one side until I have the time to cook it. If it turns out well and we want to eat it again then the name of the recipe gets added to a list that Bryony maintains. We then use this list to help us to decide when we are stuck for what to eat. This works to a point, however, the list is getting long. While a long list gives us choice it also means a greater (on average) time between each successive cooking of a meal. As the time since I last used a recipe gets greater the chance of me finding the recipe again gets smaller. Eventually I have a recipe name without a recipe and only a few days to sort through the recipe books would fix the problem. I've already shared some of my favourite recipes with you, my faithful readers, a) because I think you will enjoy them and b) so I can find them again later, but I don't think that flooding this blog with recipes is the best solution.

Being a software engineer the obvious solution to this problem is to use the computer. I've been pondering the problem on and off for a while and have made a start on a webapp, which for want of a better name I'm currently calling cookbook! The problem is that I'm not entirely sure how it should work, so I'm going to ask for your help.

Please have a play with the latest version of cookbook and let me know what you think. Obviously the style and layout (what style?) is currently a long way from perfect but what I'm interested in is what features I should add. There currently isn't a search facility as I'm not sure it needs one -- being able to browse a list of recipes or a list of tags (like labels on a blog) make moving between related recipes relatively easy. I guess one possible feature would be to be able to see all recipes which include a given ingredient, but I'm not sure how often (or when) that would be useful.

Feel free to try out all the features you can find -- the version you can access is running on a separate database to my version so you can't mess anything up (I'll probably set a script to reset the copy you can see to a sensible version once a day so that it doesn't end up in an unusable state if anything goes wrong). The one thing that isn't currently available is the ability to upload an image for the recipe but that should get added soon.

If you have any comments, suggestions, or ideas please leave me a comment.
25 January 2009 at 19:38 , Rob said...

First off, the add form isn't working for me in Safari - I suspect it's because you're not closing the quote on the rows attribute of the textarea element.

I'd suggest that you also use it to keep notes and ratings of subsequent uses of the recipe building up a history of preferences and progress. You could then use this information to have the app suggest recipes that you liked but haven't had for ages.

Also it might be cool if the app would let you select a bunch of recipes and then collate a shopping list for you. I can really imagine you making use of that at work just before hitting the supermarket on your way home!

25 January 2009 at 21:40 , Mark said...

Right, I've fixed the missing quote to close the rows attribute. That explains the weird missing attribute warning eclipse was throwing -- it wasn't giving any suggestions though and I didn't spot the missing quote.

Notes on the recipe seems sensible, although I think that will be for v2 as I'll need to add user accounts for that.

A shopping list is however a very good idea (and could be done simply with cookies) although will require work to merge ingredient mentions (have a look at the Chinese chili chicken and it's use of olive oil).

26 January 2009 at 04:39 , Scriptor Senex said...

I think ingredients - or at least the main ones - are useful. For example - I see a load of frozen chicken thighs in the freezer. Get them out and when they've defrosted I could do with a reminder as to what different recipes I could do with them. Or, I have a load of leeks given to me by Brian - ideas for meals with Leeks... Etc.
All that needs to be done is put the main items of the recipe into the tags.

26 January 2009 at 04:43 , Scriptor Senex said...

How about 'events' and dates. e.g. 25th jan is Burns night - get out the haggis.
shrove tuesday, etc.
Christmas recipes...
(Again one could just use the tags but I'm sure there is something more clever that could bring up a diary of the year...)

26 January 2009 at 09:05 , Helen said...

I'd certainly divide the recipes into sections e.g. meat, fish, starters, desserts etc like in a recipe book.

Also I'd add the time taken to cook each recipe and if possible be able to sort them by time taken - that'd help when finding recipes for different occasions.

26 January 2009 at 09:12 , Mark said...

Preparation and cooking time will definitely be added soon (I'm just figuring out the best way of storing them in the database).

OK adding an ability to list all recipes containing an ingredient does sound useful -- I'll work on it separate to the tags as I think they would get difficult to use if combined with ingredients.

I love the calendar idea, but not sure how I could do that yet.

As for sections (meat, fish, main...) I was originally intending to do this but found that deciding on what the sections should be was impossible. I added the tags so that I can easily create new sections on the fly if I need. As you can see I already have added "main course" as a tag and we often group the recipes by the carbohydrate they get served with hence the tags "rice" and "chips". Do the tags seem flexible enough to replicate the section idea?

27 January 2009 at 17:35 , Helen said...

>Do the tags seem flexible enough >to replicate the section idea?

I guess so. I think it's purely a visual thing - I like to be able to scan a list of similar items. I can't imagine that I'd like a cookbook with no sections, but that might be different on the computer.

27 January 2009 at 17:45 , Mark said...

Helen, I think one of the ideas I had (but didn't mention) will probably give you exactly what you want just using the tags.

Once I get user accounts sorted I intend to make the index page customizable, so you could simply say I want the main page to show all the recipes tagged as "dessert". Or you could say I want to have links to the tag pages for "starter", "main course", and "dessert" (and maybe the five newest recipes for each or something). This way you could effectively create the top level sections you would find in a normal recipe book (i.e. the recipe books contents page) and still browse from one recipe to another by other tags that you wouldn't consider a section.

How does that sound?

Post a Comment