<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 
 <title>Mealfire Blog</title>
 <link href="http://blog.mealfire.com/atom.xml" rel="self"/>
 <link href="http://blog.mealfire.com/"/>
 <updated>2011-07-07 22:52:26 -0700</updated>
 <id>http://blog.mealfire.com/</id>
 <author>
   <name>Phil Kulak</name>
   <email>phil@mealfire.com</email>
 </author>

 
 <entry>
   <title>Thanks Google!</title>
   <link href="http://blog.mealfire.com/2011/07/07/thanks-google.html"/>
   <updated>2011-07-07 00:00:00 -0700</updated>
   <id>http://blog.mealfire.com/2011/07/07/thanks-google</id>
   <content type="html"><style type="text/css" media="screen">
#post img:first-child {
margin-right:10px;
}
</style>
<h1>Thanks Google!</h1>
<p class="meta">07 July 2011</p>
<p>Ever since I started Mealfire I&#8217;ve dreamed of the day that every recipe site on the internet would publish recipes with some kind of standard markup to annotate where all the different parts (ingredients, directions, etc.) were. This way, Mealfire would automatically support any recipe you could find. That wasn&#8217;t the case back when I started, however, so I had to write a custom parser for every site that I wanted to support. That&#8217;s a lot of work, not only in the initial code, but also in future support; every time a site operator changes their layout, Mealfire imports break.</p>
<p>Recently, however, Google decided that it wanted to let people search recipes, and to do it they would require this kind of annotation on any recipe that a site wanted to show up in Google&#8217;s listing. Shortly after just about every recipe site on the internet scrambled to add the requisite support and get into Google&#8217;s search results. Google spoke, recipe sites listened, and Mealfire gets to ride the wave! As of right now any site following <a href="http://www.google.com/support/webmasters/bin/answer.py?answer=173379">Google&#8217;s guidelines</a> can be imported into Mealfire; and that&#8217;s just about all of them. There may be some import errors (for example, if the site doesn&#8217;t annotate the cooking directions they won&#8217;t come in and you have to copy-paste), but for the most part it should Just Work.</p>
<p><a href="http://www.google.com/landing/recipes/">Give it a shot!</a></p></content>
 </entry>
 
 <entry>
   <title>Android App Available</title>
   <link href="http://blog.mealfire.com/2011/03/06/android-app.html"/>
   <updated>2011-03-06 00:00:00 -0800</updated>
   <id>http://blog.mealfire.com/2011/03/06/android-app</id>
   <content type="html"><style type="text/css" media="screen">
#post img:first-child {
margin-right:10px;
}
</style>
<h1>Android App Available</h1>
<p class="meta">06 March 2011</p>
<p><a href="https://market.android.com/details?id=com.mealfire">Get it now!</a></p>
<p style="text-align:center;"><a href="https://market.android.com/details?id=com.mealfire"><img src="/images/android_recipes.png" title="Android App" alt="Android App" /></a> <a href="https://market.android.com/details?id=com.mealfire"><img src="/images/android_list.png" title="Android App" alt="Android App" /></a></p>
<p>I finally broke down and wrote an Android app. I have an <a href="http://www.google.com/nexus">Android phone</a> myself and my original plan for us Android users was to make an awesome HTML5 app that <em>everyone</em> could use, Android, iOS, Blackberry, WebOS, whatever (though, probably not <a href="http://www.html5trends.com/browsers/windows-phone-7-html5-not-yet/">Windows Phone 7</a>). However, I just don&#8217;t think that HTML5 development is there quite yet. Maybe it&#8217;s a lack of any good libraries, or maybe I&#8217;m just no good at it, but I could never get the mobile app working quite like a <em>real</em>, native app. There were always refresh problems, I had to run through crazy hoops just to get clicks to happen in under a second, and I couldn&#8217;t even anchor an element to a fixed place on the screen! It was a noble goal, but, in the end, I wanted a native app on my phone, and I built one.</p>
<p>This app was actually the easiest to develop (of the Android, iOS and HTML5 apps I&#8217;ve so far built for Mealfire), so for just this initial version it has a lot of features; about as many as the web app and more than the iOS version. My goal was to make it so that you could stand in your kitchen, find a recipe to make that night, schedule it, make the list, check off the items that you already have, and head off to the store; all without ever touching your computer. In the coming months, however, I have lots more things I&#8217;d like to add, like stores (Google, do I really have to build my own sortable list from scratch?), lots of ways to sort recipes, widgets, etc. If you have an Android phone, please, <a href="https://market.android.com/details?id=com.mealfire">check it out</a> and let me know what you think!</p></content>
 </entry>
 
 <entry>
   <title>New Feature: Move Ingredients Between Categories</title>
   <link href="http://blog.mealfire.com/2011/02/06/categories.html"/>
   <updated>2011-02-06 00:00:00 -0800</updated>
   <id>http://blog.mealfire.com/2011/02/06/categories</id>
   <content type="html"><h1>New Feature: Move Ingredients Between Categories</h1>
<p class="meta">06 February 2011</p>
<p>Ever have a shopping list with an ingredient in the wrong category? It can be annoying, and until now there was nothing you could do about it. Now, however, when you hover over an ingredient, you can click the little dropdown arrow and select &#8220;Change Category&#8221;:</p>
<p><img src="/images/categories-1.png" alt="" /></p>
<p>From there, you can modify the expression (if you like) and choose your new category:</p>
<p><img src="/images/categories-2.png" alt="" /></p>
<p>The &#8220;expression&#8221; field may be a bit confusing, but you don&#8217;t have to worry about it if you want to keep things simple. If you want to get a bit more advanced, just keep in mind that the &#8220;expression&#8221; is what is searched for in an ingredient to match it to a category. And, if you want to go completely nuts, you can use regular expressions, in this format:</p>
<blockquote>
juice(.+?)lemon#p=20
</blockquote>
<p>Where &#8220;20&#8221; is the priority of the expression (for when there&#8217;s more than one match). By default the priority is the length of the expression, but for regular expressions you must specify it yourself.</p></content>
 </entry>
 
 <entry>
   <title>New Feature: Side Dishes</title>
   <link href="http://blog.mealfire.com/2011/01/01/side-dishes.html"/>
   <updated>2011-01-01 00:00:00 -0800</updated>
   <id>http://blog.mealfire.com/2011/01/01/side-dishes</id>
   <content type="html"><h1>New Feature: Side Dishes</h1>
<p class="meta">01 January 2011</p>
<p>For a long time one of the biggest limitations of Mealfire was the lack of support for side dishes. It&#8217;s been the most requested feature by far, and I finally got around to implementing it. You add a new side dish much the same way you add a recipe. Just drag the &#8220;New Side Dish&#8221; button from the recipe pane onto a day on your calendar. Then add at least one ingredient (the title will be filled in for you, or you can add one yourself), click submit, and your done!</p></content>
 </entry>
 
 <entry>
   <title>Frequently Asked Questions</title>
   <link href="http://blog.mealfire.com/2010/12/31/faq.html"/>
   <updated>2010-12-31 00:00:00 -0800</updated>
   <id>http://blog.mealfire.com/2010/12/31/faq</id>
   <content type="html"><h1>Frequently Asked Questions</h1>
<p class="meta">31 December 2010</p>
<h2>Q: What happens if Mealfire crashes? Will I lose all my recipes? Can I back them up on my computer?</h2>
<p>First off, if the server hosting Mealfire were to spontaneously combust, you would probably lose any recipes that you created in the last 12 hours or so, but that would be it. Backups are made of the entire site daily and stored on Amazon&#8217;s S3 servers. It is also very unlikely that I would ever shut down Mealfire.com. The site is actually pretty efficient, so it doesn&#8217;t cost much at all to host.</p>
<p>If you&#8217;d like to back up your recipes, there isn&#8217;t currently a great way to do it, but it can be done. Mealfire has an <a href="http://en.wikipedia.org/wiki/Application_programming_interface"><span class="caps">API</span></a> that can be used to download all your recipes. It&#8217;s all undocumented, but the link below will do the trick:</p>
<p><a href="http://mealfire.com/user/api_redirect?to=%2Fapi%2Fv2%2Fme%2Frecipes%3Fsort%3Dname%26include%3Ddirections%2Cupdated_at%2Cimported_from%2Clast_served_at%2Crating%2Cimage_large%2Ctags%2Cingredient_groups%5Bingredients%5Bfood%2Cquantity%2Cunit%5Bname%5D%5D%26limit%3D1000">All my recipes in <span class="caps">JSON</span></a></p>
<p>If you have hundreds of recipes, it could take a while (or just bring down the whole server, I&#8217;m not really sure), but if you save the resulting file, you&#8217;ll have all your recipes in a very <a href="http://en.wikipedia.org/wiki/JSON">computer-readable format</a>.</p>
<h2>Q: It would be really nice if the iPhone app had [some feature].</h2>
<p>I don&#8217;t have plans to add any new features to the iPhone app in the near future. I had fun building it, but I don&#8217;t have the time to continue working on it. Instead, I&#8217;ve transitioned my mobile development efforts to http://m.mealfire.com (<a href="https://github.com/pkulak/mealfire_mobile">Github</a>). There you can find an app that has more features than the iPhone app, yet also works on Android devices (and probably Blackberries and Palm devices too, though I haven&#8217;t tested those). Mealfire just isn&#8217;t intensive enough to require a native app for every single platform.</p>
<h2>Q: I imported my Mealfire calendar into another service but new recipes aren&#8217;t showing up.</h2>
<p>This is most likely due to the time it takes the other service to update their cached, external calendars. Most services can take up to a day to bring in new events.</p>
<h2>Q: Can I add small side dishes to my meal plans?</h2>
<p>You <a href="/2011/01/01/side-dishes.html">sure can</a>!</p>
<h2>Q: Why can&#8217;t I upload an image to my recipe?</h2>
<p>There are two reasons for this. First off all, you&#8217;re using Internet Explorer, and secondly, I&#8217;m too lazy to figure out why image uploads are broken in Internet Explorer. I swear I&#8217;ll get to it soon, but the only Windows machine I have in the house is hooked up to my TV, and remoting is a pain, and adding features is much more fun than fixing bugs, etc. Until then, just use any other browser on the planet: <a href="http://www.google.com/chrome">Chrome</a>, <a href="http://www.apple.com/safari">Safari</a>, and <a href="http://www.mozilla.com">Firefox</a> all work great.</p></content>
 </entry>
 
 <entry>
   <title>New Feature: Recipe Ratings</title>
   <link href="http://blog.mealfire.com/2010/06/02/recipe-ratings.html"/>
   <updated>2010-06-02 00:00:00 -0700</updated>
   <id>http://blog.mealfire.com/2010/06/02/recipe-ratings</id>
   <content type="html"><h1>New Feature: Recipe Ratings</h1>
<p class="meta">06 June 2010</p>
<p>I&#8217;ve wanted to add recipe ratings for a while now. When you have collected tens, or even hundreds, or recipes, it can be hard to quickly find your best. I didn&#8217;t want to just add a rating field to the recipe page though. If you have a giant collection of recipes, you need ratings the most. But then you&#8217;re least likely to run through every single one of them and assign a rating. Plus, I&#8217;m not convinced that how much you, or your family, enjoys a recipe is all that constant. Make your favorite meal enough times and that 5-star rating will start to seem like a mistake.</p>
<p>So, now after you&#8217;ve prepared a recipe (any time in the next week), you&#8217;ll be asked if it was any good. All of these simple ratings are collected, weighted by recency, and used to assign a star rating. If you have any thoughts or ideas, just let me know.</p></content>
 </entry>
 
 <entry>
   <title>Mealfire iPhone App</title>
   <link href="http://blog.mealfire.com/2010/05/11/iphone-app.html"/>
   <updated>2010-05-11 00:00:00 -0700</updated>
   <id>http://blog.mealfire.com/2010/05/11/iphone-app</id>
   <content type="html"><h1>Mealfire iPhone App</h1>
<p class="meta">11 May 2010</p>
<p>Mealfire now has an <a href="itms://itunes.apple.com/us/app/mealfire/id370800310?mt=8">iPhone app</a>. There are a million more features I could add, but I figured it was time to just get it out there. If you have an iPhone, you should give it a try. The price is right (free) and it really makes it easy to take your shopping list with you or view your recipes on the go.</p>
<p style="text-align:center;"><img src="/images/iPhone.png" title="iPhone App" alt="iPhone App" /></p></content>
 </entry>
 
 <entry>
   <title>New Feature: Stores</title>
   <link href="http://blog.mealfire.com/2010/03/13/stores.html"/>
   <updated>2010-03-13 00:00:00 -0800</updated>
   <id>http://blog.mealfire.com/2010/03/13/stores</id>
   <content type="html"><h1>New Feature: Stores</h1>
<p class="meta">13 March 2010</p>
<p>I&#8217;m a bit crazy about trying to get through the grocery store as quickly as possible, and to that end I&#8217;ve added a new feature to Mealfire: stores. This lets you tell Mealfire how your favorite grocery stores are laid out so that when you create a shopping list for that store, the items are in the right order. Here&#8217;s what the Albertson&#8217;s near my house looks like in Mealfire:</p>
<p><img src="/images/Stores.png" title="Stores" alt="Stores" /></p>
<p>Now, when I create a shopping list to use at this store everything is ordered so that I start at one end of the store and am finished shopping by the time I get to the other end.</p></content>
 </entry>
 
 <entry>
   <title>New Feature: Cook's View</title>
   <link href="http://blog.mealfire.com/2010/02/25/cooks-view.html"/>
   <updated>2010-02-25 00:00:00 -0800</updated>
   <id>http://blog.mealfire.com/2010/02/25/cooks-view</id>
   <content type="html"><h1>New Feature: Cook&#8217;s View</h1>
<p class="meta">25 Feb 2010</p>
<p>I like to print out my recipes to work off (and destroy) while I cook them. I&#8217;m a pretty messy cook, so I really don&#8217;t want my laptop anywhere near the kitchen while I&#8217;m throwing flour and sauces all over the place. However, I&#8217;ve heard lately that not everyone works that way. And for those people who dare to bring their laptop (or iPad?) into the kitchen with them: I give you, Cook&#8217;s View:</p>
<p><img src="/images/CookView.png" title="Cook&#39;s View" alt="Cook&#39;s View" /></p>
<p>It&#8217;s a very simple page. It just lets you stack up as many recipes as you like, side by side, using all the space available in the browser. To use it, just view any recipe in your collection, then click on the &#8220;More Options&#8221; button at the top right of the screen and select &#8220;add to cook&#8217;s view&#8221;. To add more recipes, click &#8220;Add Recipe&#8221; at the top left. Happy cooking!</p></content>
 </entry>
 
 <entry>
   <title>Working With Cooking Quantities</title>
   <link href="http://blog.mealfire.com/2010/01/01/working-with-cooking-quantities.html"/>
   <updated>2010-01-01 00:00:00 -0800</updated>
   <id>http://blog.mealfire.com/2010/01/01/working-with-cooking-quantities</id>
   <content type="html"><h1>Working With Cooking Quantities</h1>
<p class="meta">01 Jan 2010</p>
<p>I recently <a href="http://mealfire.com/bookmarklet">imported</a> a nice <a href="http://find.myrecipes.com/recipes/recipefinder.dyn?action=displayRecipe&amp;recipe_id=1831998">cookie recipe</a> into Mealfire. Here&#8217;s how the ingredients look on AllRecipes:</p>
<blockquote>
<ul>
  	<li>3/4 cup butter, softened</li>
  	<li>3/4 cup granulated sugar</li>
  	<li>3/4 cup firmly packed dark brown sugar</li>
  	<li>2 large eggs</li>
  	<li>1 1/2 teaspoons vanilla extract</li>
  	<li><strong>2 1/4 cups plus 2 Tbsp. all-purpose flour</strong></li>
  	<li>1 teaspoon baking soda</li>
  	<li>3/4 teaspoon salt</li>
  	<li>1 1/2 (12-oz.) packages semisweet chocolate morsels</li>
  	<li>Parchment paper</li>
</ul>
</blockquote>
<p>and here&#8217;s how it looked after being imported:</p>
<blockquote>
<ul>
  	<li>¾ cp butter, softened</li>
  	<li>¾ cp granulated sugar</li>
  	<li>¾ cp firmly packed dark brown sugar</li>
  	<li>2 large eggs</li>
  	<li>1½ tsp vanilla extract</li>
  	<li><strong>2⅓ cp and 2 tsp all-purpose flour</strong></li>
  	<li>1 tsp baking soda</li>
  	<li>¾ tsp salt</li>
  	<li>1½ (12-oz.) packages semisweet chocolate morsels</li>
  	<li>Parchment paper</li>
</ul>
</blockquote>
<p>There&#8217;s not a lot of difference there. The units have been abbreviated and the fractions have been turned into <span class="caps">HTML</span>, but that&#8217;s all just style. The interesting difference is with the flour. There, &#8220;2 1/4 cups plus 2 Tbsp.&#8221; has been turned into &#8220;2⅓ cp and 2 tsp&#8221;. I would argue that the Mealfire representation is a bit better. They are both 325.30 milliliters, but the second one gets a lot closer with the first part, meaning that if you wanted to skip out on that second measure (or just forgot), you&#8217;d only be off by about 3%, rather than 10%.</p>
<p>But there&#8217;s another benefit to programatically recognizing split measurements. Say I wanted to now halve that recipe. If I don&#8217;t split measurements into two parts, I get something like this for the first three ingredients:</p>
<blockquote>
<ul>
  	<li>⅜ cp butter, softened</li>
  	<li>⅜ cp granulated sugar</li>
  	<li>⅜ cp firmly packed dark brown sugar</li>
</ul>
</blockquote>
<p>That&#8217;s not terribly easy to measure. Actually, it&#8217;s really tough. You have to think to yourself, &#8220;Well, that&#8217;s an eighth less than a half, so I&#8217;ll measure a half, then take off a smidge&#8230;&#8221;. If you split it, however, you get this:</p>
<blockquote>
<ul>
  	<li>⅓ cp and 2 tsp butter, softened</li>
  	<li>⅓ cp and 2 tsp granulated sugar</li>
  	<li>⅓ cp and 2 tsp firmly packed dark brown sugar</li>
</ul>
</blockquote>
<p>Here&#8217;s another nice example. Consider the following ingredient:</p>
<blockquote>
⅓ cp flour
</blockquote>
<p>What happens if you want to halve that? 1/6 of a cup is not going to be all that useful, of course. Here&#8217;s what Mealfire gives you:</p>
<blockquote>
2 Tbsp and 2 tsp flour
</blockquote>
<p>There&#8217;s a couple things going on here. First, anything less than 1/4 cup should be represented in tablespoons or teaspoons, so the unit has changed, but it hasn&#8217;t changed into 2 2/3 tablespoons, which is perfectly correct. It turns out that you can&#8217;t ever have a third of a tablespoon. A third of a tablespoon is a teaspoon, but not everyone knows that. So, instead of confusing people who can&#8217;t find the &#8220;1/3 tablespoon&#8221; on their measuring spoon set, you spell out for them exactly how to get there.</p>
<p>None of these examples are major roadblocks, but not having to do math while your cooking let&#8217;s you concentrate more on not burning dinner. I tend to need all the help there that I can get.</p></content>
 </entry>
 
 
</feed>
