Questions From a Reader

Leave a comment

William is an undergrad at the University of Portland studying finance.  In his entrepreneurial class, they’re required to construct a business model for a potential start-up.  He and his partners are creating a business called RecipeKey, which offers personalized recipe searching similar to KitchenPC.  The other day, William sent me an email with a few questions about KitchenPC and I’ve decided to answer them as a blog post.  Enjoy!

It seems like you put a lot of hard work into KitchenPC.  What reasons did you have for stopping?  Did you just lose interest or have something else come up?  Or did your users not see it as a “must have”?

First off, I wouldn’t say I’ve stopped working on KitchenPC.  I’ve been working on the project in one form or another for about ten years now, and more seriously for the last six.  During that time, I’ve taken a few breaks here and there, especially when I get to the point where the project starts in evolve into something else.  I haven’t been actively working on the code the last few months, and no new features have been launched, but the site is still alive and well, with many visitors every day. Just last week I went to lunch with someone interested in the site and we bounced some ideas around.

Did you ever make money off of KitchenPC, or was it just a side project?  Would you ever consider going back and putting more work in and trying to develop it into a successful business?

I haven’t made a dime off KitchenPC, and it really hasn’t been my intention to do so.  At this point, I’m more interested in building a successful product that people are interested in using.  While it’s true that many types of businesses require revenue to stay afloat, a small consumer website is usually not one of them.  I have no employees, and I can afford the costs out of pocket.  I currently pay Rackspace about $70/mon to host the two servers that KitchenPC runs off of (a web server and a database server), as well as a couple bucks to Amazon for content storage.  The development costs were light, since I did all the coding myself.  I did outsource the design (HTML, CSS, graphics, etc) to a Polish company, and the cost for that was about $4,000.  Overall, KitchenPC was a very cheap company to build.

Since revenue isn’t required to stay afloat, the primary goal becomes building a product that people want to use.  Once that is successfully achieved, perhaps a way to generate revenue could be considered, especially if costs go up considerably.  However, this has not been successfully achieved.

Let’s say I decided to offer a Freemium model for KitchenPC.  Let’s assume I had some great features and charged $5/mon for them, which I’d say is about the most anyone would be willing to pay.  Most Freemium companies have a conversion rate of between 1% and 10%, with the average being around 2-4%.  With KitchenPC’s level of traction, I’d assume the bottom end at around 2%.  I’ve had about 2,000 users so far create accounts, so 40 of them paying would yield a monthly revenue of around $200.  That would yield a net profit (if you assume I work for free) of around $130 or so.  Not really a venture worth pursuing.

Another idea might be advertising.  Let’s assume I can get $1 per click, and 1 in 1,000 visitors will click on an ad.  KitchenPC averages about 622 visitors per month, or 0.622 ad clicks per month.  At 62 cents in ad revenue per month, making KitchenPC an ad driving business seems even more futile.

Looking at these numbers, I think we can agree it seems silly to worry much about a revenue model before you have a successful product to sell.  Right now, the only thing that matters is building a great product, and my focus is 100% on that.

The second part of your question; would I consider putting more work in to develop KitchenPC into a successful business.  I’m not of the opinion that my lack of success is tied to the amount of work I put in.  I spent a year on the site full time, working on the site 15-20 hours a day for months at a time.  I did as much research as I could, iterated, spent thousands on usability testing, running ideas off real customers, sending out surveys and polls, and everything else I could think of.  I worked a lot harder on making KitchenPC a successful site than I did at any project at Microsoft, but was still met with lukewarm reception.  A lot of people do love the site, but still most of the major site features go mostly unused.  The work I put in to the site was definitely not worth it for the level of success I achieved with the product, however, it was definitely worth it for the experience and growth as an entrepreneur.  In other words, I don’t think I would quit my job again, use up all my life savings, and work harder on a better version of the same site.

I think at the moment, it’s moved more into the realm of being a side project.  I have a few ideas on iterations I can explore, so it’s somewhat possible that I might stumble across a formula that demonstrates enough traction that would cause me to consider quitting my job and working on it full time again.  I’d rather lessen my risk by working on the site during my spare time to test the waters with a few ideas, rather than diving in and going all out again.  Luckily, I have a fantastic code base and a lot of cool technology that can be used in various ways.

Thanks for reaching out to me, William, and I hope my answers have helped!  The experience you get from building a company, iterating on ideas and working with customers is incredibly valuable and worth the time spent.  Best of luck with RecipeKey, and let me know if you need any beta testers.

 

Anyone wanna do Launch?

6 Comments

Thought I’d write up a quick post letting people know I’ll be at this year’s Launch festival, in San Francisco March 4th – 6th.  There will be a whole slew of new companies showcasing great new products (no, I won’t be presenting… this year) and a great time to be had by all.

I’m mostly looking forward to the chance to mingle with a room full of other entrepreneurs, which is actually the main reason I’m going (plus, they were nice enough to give me a free ticket!)

If you’re going, or would just like to grab drinks one evening, then feel free to send me a note as I’d love to meet up!

That’s it.

Windows Phone Eight Got No Chance

2 Comments

According to the Windows Phone Developer Blog, Windows Phone has certified and published over 75,000 new apps and games over the last year.  The platform, in my mind, is superior as a development platform; leveraging a proven run-time, well-documented and easy to use libraries, and is portable between various devices of various form factors.  Last I messed around with the Windows Phone SDK, I was able to write a basic app that let a user search for recipe keywords and displayed the results in about 20 minutes; this was without reading any documentation, tutorials or code samples.  Try that with iOS or Android development.  Regardless of what you think about Microsoft as a company, their development tools and platforms are arguably worlds beyond anything else out there.

Guess what.  None of this matters.

Microsoft’s attempt to muscle their way into the mobile OS market has been met with failure after failure because they’re constantly trying to play catch-up with the moving target of innovation.  I live and breathe in the start-up world.  I attend start-up meetings, groups and conventions.  I’m on countless mailing lists and online bulletin boards focused on entrepreneurs.  Almost no one I talk to is thinking about, or even interested in, building mobile applications on the Microsoft platform.  A start-up’s resources are extremely limited, and most have little or no outside funding.  No matter how fantastic the development platform is, there’s simply no reason to waste cycles building a completely separate code base for a platform that has about 3% of the market share.  Even huge companies that actually do have the resources to build Windows Phone versions of their products are either choosing not to, or just do so as an experiment to test the waters.  The result?  Innovation itself moves at a faster pace than Windows Phone can adapt.  In other words, all the cool new things coming out and making the headlines in the tech world are not coming out on the Windows Phone platform.  If your platform is not adopted by the geeks, the innovators and the early-adopters, it has no chance of jumping that chasm into the main stream.

Microsoft is well aware of this problem and is working on genetically engineering chickens to lay those non-existent eggs.  A lot of this comes in the form of either developing apps themselves (for example, Facebook and Twitter sharing is simply built into the OS) or paying smaller companies with the top apps to create Windows Phone ports.  There are two problems with this approach, neither of which I have solutions for.

First, you’re still straggling behind the line of innovation.  Only after an app has proven itself, has 50 million users, and makes the front page of TechCrunch and Wired would Microsoft begin to back such a port.  Just now are we seeing things like Evernote or Rhapsody for Windows Phone, even though these apps are mainstream on other platforms.  If you’re a geek with a Windows Phone, you’ll be waiting on the side lines while all your iPhone and Android friends enjoy all the cutting edge innovation coming out every week.

Second, the apps that do make it out for Windows Phone are the red-headed step children of the real thing.  Sure, there’s a few Twitter apps for Windows Phone.  None of which were actually written by Twitter.  With Twitter’s reputation for screwing over devs, who knows if these apps will even continue to work in the future.  Who knows if they might suddenly break when Twitter rolls out some great new feature that changes the way all their APIs work.  Know what won’t break?  The iOS and Android Twitter apps, written by Twitter.

I’m somewhat of a Yelp addict myself.  Some how, this company has managed to install some sort of Pavlovian response in my psyche forcing me to check-in wherever I go.  I actually really dig this.  Sometimes, I’m trying to remember the name of a place I was at a few weeks ago, and can dig it up on my Yelp history.  I also sometimes notice other people I know have checked in as well, or get Facebook comments on my check-in.  Every now and then, there’s some sort of discount or coupon offered when checking in.

Is there a Yelp app for Windows Phone?  Well, if you want to call it that.  The Yelp app on Windows Phone is pretty much an insult to all things Yelp.  You can’t check in, you can’t rate or write reviews; it’s basically a read-only interface to Yelp, and provides absolutely nothing you couldn’t get by visiting the website itself.  There’s absolutely nothing mobile about it – just read the reviews!

It seems a lot of these so-called ports are simply an excuse to check off a column in a list.  “Yup, we have a Yelp app – check!”

Now if I’m shopping for phones, I not only have to make sure there’s a Yelp app, but I also have to research the feature parity of this app by reading reviews or trying it out on a friend’s phone first.  This leads to a total distrust of the porting efforts.  If an app is ported simply to slap a brand name in the app store, but provides absolutely nothing that made that app successful, the port is a lie.

Imagine if Yelp came out with a new feature that let you take a picture of the menu at a restaurant and added star ratings to each menu item using augmented reality.  We’d see this ported over to Windows Phone in about 3-7 years.  Once again, Microsoft cannot play catchup as innovation marches forward.

It seems Microsoft’s attempting to build the world’s greatest mobile platform (which they might have succeeded at) and expects innovation to simply happen magically.  In reality, there’s absolutely nothing urging the innovators to develop the new “it” app of tomorrow on this platform.

Microsoft needs to find a way to fuel innovation itself on this platform, not bribe the current top innovators to write these less-than-stellar ports of their hit iPhone apps.  In fact, I’d say this is pretty much all they should be doing.

If I were Microsoft, here’s what I’d do:

  • Drop all development fees completely.  No more $100/yr fee to develop on Windows Phone.  Update: The Microsoft BizSpark program will actually waive this fee for the first year.  It’s a fantastic program which I encourage all start-ups to look into.
  • Invest in start-ups that will develop cutting edge technologies on their platform.  Start a $100MM VC fund for mobile innovators.
  • Invest in technologies that make cross-platform development easier.  Imagine if Microsoft invested in or acquired Xamarin, and turned Mono into a cross-platform phone development tool.  Using Visual Studio, developers could write native apps in C# that targeted Windows Phone, Android and iOS using technologies such as Silverlight and XAML.  Phone specific features could be abstracted with minimal platform specific code.  It’s possible to make developing an app for both Windows Phone and iPhone easier than developing the same app for iPhone only.
  • Push employees to build cool apps internally.  Start a program where Microsoft employees can build cool apps while at work, publish the apps to the store, and get them promoted by Microsoft.  Employees should be able to keep 100% of any revenue the app makes as a bonus.

The way things are going right now, I can’t see Microsoft even making a dent in the mobile and tablet market.  They seem to be lagging far behind and focusing way too much on catch-up and way too little on innovation.  I’d love to see that change, as the platform is awesome and the development tools are top notch.  I guess only time will tell.

Mobile Intentions

Leave a comment

It is with great pleasure that I officially announce that I am now planning to begin the process of thinking about the initial development of KitchenPC mobile and tablet apps.  In other words, the phrase “I need a mobile story… but now what?” has popped into my head recently.

The very first launch of KitchenPC included an extremely basic, and poorly thought out mobile solution (which was reachable at m.kitchenpc.com).  Thinking I needed some sort of mobile solution prompted me to craft this web-based turd in the matter of a single weekend, and it ended up being used by absolutely no one.  Seriously, I think it got about 0.000001 visitors per day.  Though this mobile site was optimized for smaller screens, allowed basic scenarios like recipe search, shopping list management, and basic calendar functions, it was a flop.  It suffered from a very common problem.  Mobile sites are often just watered down versions of a real website, since most developers fail to look past any differences between the desktop and mobile beyond mere screen size.

Surely, a better solution needs to be devised that takes into account what sorts of culinary tasks people are actually doing on their phones.  Surely, creating a mobile app that’s a straight port of the KitchenPC website would be an exercise in futility.  Surely, I should stop calling you Shirley.

Brainstorming

Last night, I grabbed my dry erase markers and tapped them against my knuckles as I stared pensively at the massive 8×4′ whiteboard I have on my office wall.  I started thinking about the types of features this awesome new mobile app would need.  As I started writing down some ideas, it became clear after about ten minutes that I was repeating the exact same dumb mistake that I made before.  I was enumerating all the KitchenPC features in my head and writing down the ones that I thought could potentially be useful on a phone; a scaled back version of the website.  These included things like recipe search, adding recipes to menus, managing saved menus, adding recipes to the queue, creating a shopping list based on a menu, and more.  I was also trying to add extra bells and whistles, such as voice search by ingredient, and sharing recipes between devices using NFC.

It became increasingly clear that I was looking at months of development time, and all to develop a product that would be a mobile port of what I already have today on the web.  I really needed to take a step back and figure out what people are doing on phones.  What’s the minimum viable product to create on a phone that will target these key scenarios?  I was writing a version 1.0 product, not “KitchenPC 2.0 Now With Smart Phone Support”.

Take a Step Back

So, really now, what is the most basic mobile recipe app I can create?  One that will insult users over the features it’s blatantly missing?  When you hear users complaining that your app is missing features, only then do you know you’re on the right track; it means people are using it, they want to be using it, and reacting to these requests becomes consumer driven, not engineer driven.

Well, I need the ability to log on to KitchenPC, which means using an existing account, creating a new account, or logging on with Facebook credentials.  Yes, log on is good.  What else?

Shopping Lists?

One of the scenarios that miserably failed during the beta was a persistent shopping list.  Turns out, no one wanted to manage their weekly shopping list on a desktop computer.  Most people just write this on paper, or throw it together right before they leave for the store.  Plus, the people who were using this feature complained that adding specific ingredients and amounts was somewhat of a hassle, as the database schema was normalized just as recipe ingredient data is.  So, the current incarnation of KitchenPC has a “What You’ll Need To Buy” list whenever you’re looking at multiple recipes, however no real shopping list management feature.

Perhaps a mobile device is different though.  People take their smart phones to the grocery store with them, and there are plenty of successful shopping list apps for every mobile platform.  Using the KitchenPC back-end, I could easily build a very powerful shopping list app.  This would be flexible, allowing NLP ingredient entry, storing arbitrary non-food items (such as “paper towels”,) and let the user cross off items after they were purchased.  It could also use push-updates to sync shopping list changes instantly between devices that were logged on to the same account.  This is a great example of a feature that’s designed specifically for mobile scenarios, rather than a straight port of a website feature.

My Menus?

One of the most powerful features of KitchenPC is the ability to organize recipes you find into various menus.  This allows for basic meal planning (since you can create a menu each week, or a menu for a certain gathering or event) and also just lets you save your favorite recipes, grouped any way you wish.  However, does this correspond to any mobile scenarios?

For meal planning scenarios, most definitely.  Users who plan out recipes to make during the week need to be able to scroll through them while at the store and easily see what they’ll need to buy.  I’ve also more than once found myself somewhat peckish while wandering the food aisles and wanted to look up the ingredients for a specific recipe.  Allowing users to access their saved menus on their smart phone is definitely a primary goal.

Recipe Search?

All of my initial specs for KitchenPC Mobile have included a basic recipe search.  KitchenPC is a recipe search engine, of course you’d need to be able to… like.. search for recipes on the mobile version, right?

Right?

However, recipe search seems to infect any spec I write, like a virus, slowly spreading into more and more features.  Once you have recipe search, you need a mobile interface to define various search criteria.  Keywords, meal types, ingredients to include and exclude.  Then, users would start wanting some of the more advanced search options like time limits, ratings, pictures, dietary restrictions, etc.  Then you’d need a results list, the ability to add results to menus, which turns into full menu management features (creating menus, managing the recipes within those menus, and removing recipes from menus.)  Suddenly, you’re back to creating a mobile port of the entire website.

So, do people really need recipe search in the mobile app?  I found myself leaning towards no.  However, then one thing struck me.  Cutting this feature creates a dependency between the KitchenPC website and the mobile app.  The app is all of a sudden useless for first time users, as well as users who rarely use desktop computers.  Without the ability to find recipes in the database, users can’t create menus.  It would be useful as a shopping list app, if they wanted to type in everything manually, but there’s already myriad apps for this.  Do I want KitchenPC Mobile to basically be an extension of the website?  Probably not.

Obviously, I need an extremely simplified search feature, even if it just allows keyword search and nothing else.

Priorities

In the end, I decided to create a list of “must-haves” for the mobile site, which would enable the key scenarios I wanted to deliver.  Then, create a list of “bonus features” or “nice-to-haves” that would extend those scenarios, or perhaps be on the road map for future versions.

Must-Haves:

  • Ability to log on, create an account, and log off (Duh)
  • Powerful and flexible shopping list feature
  • At least a read-only view of saved menus, with perhaps a sample menu for new users
  • Ingredient aggregation within menus, allowing users to see what they’ll need to buy at the store to make the recipes within a menu
  • Basic recipe search (keywords only) and a results list that lets you save a recipe to a menu, or create a new menu

Nice-To-Haves:

  • More powerful recipe searches, more on parity with the website
  • More control over saved menus; moving recipes between menus, removing recipes from menus, creating new menus and renaming menus
  • Queue feature (adding any recipe to the queue, viewing the queue and de-queueing recipes)
  • Selecting individual recipes from search results or menus and seeing a real time tally of ingredients you’d need to buy

Next Step, Wireframes

The next step in the process will be defining the overall flow of this app.  This includes mocking up wire frames, defining each screen, and figuring out how the features relate to each other.  Since I know the basic scenarios, I know to make those tasks easy to accomplish using the fewest number of button clicks.

Hopefully, I can resist the urge to overly complicate the design.  I’d really like to be able to get something together within a month or so, and get it out there for users to try out.  Getting a tablet version out (which of course targets different scenarios, like in-kitchen use) is also important, and can hopefully be available for all the new tablets sold during the holiday season.

Comments?  Wishlist features?  Just want to talk about how you use your smart phone or tablet?  Let me know in the comments below, or shoot me an email!

 

To Mispell Is Only Human

Leave a comment

Since launch, I’ve been logging natural language ingredient queries within the KitchenPC UI.  There are two places where the NLP engine is exposed; the search by ingredient mechanism, which allows users to include or exclude specific ingredients in their searches, and the What Can I Make? feature, which allows users to enter an ingredient with an optional amount.

During development, my initial design was to simply ignore anything I didn’t understand.  I would silently log it so I could improve the NLP vocabulary later, but I didn’t want to bother the user with silly errors messages.  Unfortunately, this totally bombed during usability testing.  Users typed in all sorts of randomness, and then couldn’t complete the tasks as they weren’t sure if the feature was working or not.  Ultimately, I decided to popup a message when I encountered something I didn’t understand, with a link to a video showing the user how to properly use the feature (those videos are quite popular, by the way!)

After a few weeks of use, I’d like to share the list of failed NLP queries with you, which will hopefully shed some light on the way users interact with the site.  This shows how incredibly difficult it is to teach computers to understand user intentions based on human language.  If nothing else, you’ll probably chuckle over a few of the queries.

beans
garbonzo beans
chick peas
1 pound of chicken
1 pd of chicken
capsicum
capsicum
cucmber
brussel sprouts
brussel sprout
brussel sprout
palak
obergine
Pasta
noodles
roast beef
beef
cooked pork
cooked pork
left over pork
left over cooked pork
left over cooked pork
cooked pork
boiled green beans
small beans
moong
pulled pork
pasta
a pound of pasta
lake trout
lake trout
wheatberries
annisette
grilled pork tenderloin
pork tenderloin cooked
water chestnuts
Tuna fish
Canned tuna
2 heads of celery
dairy
brussel sprouts
broccoli, pasta, olive oil
pasta
pasta
noodles
Mozarella
Bred
Beef
Grou d
beef
beef
meat
beef
red meat
pile of lettuce
16 ounce can of kidney beans
14.5 ounces reduced sodium chicken stock
asparagas
asparagas
linseed oil
Linseed oil
meat loaf
noodles
chicken, lentils
pureed jalapenos
"jethro tull" and "new haven" AND collection:etree
mac nuts butter eggs flour hamburger
eggs flour
eggs flour butter hamburger
meyer lemon
meyer lemon
meyer lemon
greek salad
beans
garbenzo beans
garbenzo beans
chick peas
melbourne cricket ground
brioche
brioche
brioche
noodles
noodles
noodles
noodles
sun dries tomatoes
pasta
sun dried tomatos
makarel
tomatos
tomatos
Canned tomatoe
wheal
chocolote
chocolate
chocolate
chocolate
chocolate
pasta
pasta
full milk
fruit
fruit
flouer
bakeing soda
bakeing soda
peppers
peppers
chiles
cooked rice
cooked rice
cooked rice
cooked rice
cooked rice
CARAMEL
CARMEL
CHOCOLATE
8 OZ COOKED CHICKEN
COOKED CHICKEN
COOKED HAM
Bambi rice chile pepper cheese
Bamba rice
cannelini beans
Risotto
French radish
meatloaf
chicken fingers
meatloaf
meatloaf
meatloaf
meat loaf
meatloaf
squash
meatloaf
cherry
cherri3es
jello, marshmallows, fruit cocktail  c
fruit cocktail, marshmallows
soja
beef
beef
Tao sauce
General tao
mayonaise
pound of ground beef
Red curly kale
tomatos
brats
brats
brats
bratwarts
portabello
malt
malt
crackers
monosodium
agave
molassas
Potatoe
potaoes
wasabi
wasabi
gluten free
peacon
maladextren
chocolate
aged cheese
chedder
honey chicken
honey grilled chicken
pasta
noodles
a bag of noodles
a bag of rice
ground turken
meat
avacodo
avacodo
top round steak
top round steak
top round
round rump roast
sirloin tip roast
potatos
calliflour
califlour
culiflour
pasta
Mozarella
Mozarela
grilled chicken
cornstart
corn surup
fresh spinanch
aparagus
fetta cheese
fetta
glurten
corn starcfh
fetta
chicken corn potatoes black beans
cooked chicken
cooked chicken
cooked chicken
1 cooked chicken
thai basel
blachan
Noodles
Pasta
Pasta
pasta
chicken, pasta, scallions
meatloaf
brussel sprout greens
greens
chili
lamb chop
fried tofu
lamb chop
Zuchini
1 LB. GROUND BEEF
sweet peppers
sweet peppers
sweet peppers
peppers
braising greens, parsnips
braising greens
tomatoe
leftover pork
beans
lentils,beans, bacon, peas
pound of split peas
ice cream
hot dog
pasta
parsley root
squash
squash
squash
squash
kiwitcha
farro
garbanzo
pumplkin
lunch meat, apples, lettuce, tomato, chinese noodles
pasta
pasta
parmesaen
squash
squash
sguash
meatloaf
1 instant noodle
meat ball
meat
butter/oil
margerine
margerin
canola
canola
chocolate
chocolate
chicked
ganulated sugar
brocoli
candy corn
meat
bell papper
mushroom soup
can of cream of mushroom soup
chicken potatoes
squash
tom
meat
pasta
noodles
noodles
noodles
black eyed peas
black eyed pea
blackeyed peas
caper
chili peeppers
chili pepper
cornstartch
corn startch
crackers
cracker
soy beans
soy bean
splendda
tartar sauce
veggie burgeer
Ricotta,spaghetti,gark
Ricotta,spaghetti,ragu
Chicken, pasta, garlic, tomato paste
canned salmon
canned salmon
canned salmon
tin of salmon
can of salmon
salmon tin
mexican corn
canned corn
salsa verde
black eyed peas
refried black  beans
sliced chiles
canned jalapenos
chipotle peppers canned
beef
frozen scallops
frozen scallops
Bowie pasta,ricotta, frox
Rotisserie chicken
rotisserie chicken
Leftover chicken
chicken piccata
fish filets
whole tomatoes
tomatoes whole
tomatoes canned
refried black beans
chicken corden blu
coocke chicken
cooked chicken
dry pasta
milk cheese
tortalini
pasta
frozen vegetables
can of chili
a can of chili
chili
noodles
pasta
minced beef
pasta
pasta
left over turkey
pasta
roast
pasta
crab
seafood
shellfish
fish
refrigerated biscuits
wheate
beans
red peper
bell peper
brocolli
cooked pork chops
pumpkin 2 cups
beans
beans
beans
potatos

This list can be divided into the following categories:

Misspellings:

Entries such as “garbenzo beans” instead of “garbanzo beans” and “tomatos” instead of “tomatoes” are difficult to fix.  I would either have to list common misspellings of these ingredients in the database as ingredient synonyms, or I would have to implement some sort of on-the-fly spelling checking algorithm to actually correct potentially misspelled words.  The former might be a good solution in the short term, especially for very common misspellings, or correct spellings in other dialects of English, however this won’t be of much use to people who are simply really bad spellers.  You know who you are.

Integrating NLP with standard spell checking algorithms is an approach, but both complicates and slows down already extremely complex code.  Plus, it would be no easy task and difficult to prioritize very high with all the things I have on my plate.

Generic Ingredients

Queries such as “chocolate”, “pasta”, “ice cream” and “squash” are very generic.  There’s many types of species of squash in the database, and from a culinary point of view, they can’t be treated as the same ingredient.  However, it’s obvious that users are hoping to include or exclude all varieties of squash from their queries.  I could easily see someone wanting to figure out what to do with a bunch of left over ice cream by searching for recipes that use any type of ice cream.  Unfortunately, the current KitchenPC database design doesn’t support this concept.

This is a limitation that has been on my mind for quite some time, especially for grouping ingredients that could pose issues with certain allergies (such as nuts.)  It could also be used for substitutions on the fly, such as “2% milk” and “1%” milk are quite often interchangeable between recipes.

I think the solution is to introduce a concept of an abstract ingredient into KitchenPC.  This ingredient would help relate similar ingredients together, and could be tied into NLP, searching, etc.  However, this is most likely a huge undertaking and would affect almost every aspect of the code and database.  In fact, when I think about it for more than ten seconds, I start to shudder at all the stuff I’d have to re-write.

People Still Don’t Read The Instructions

There are still queries such as “lentils,beans, bacon, peas” and “mac nuts butter eggs flour hamburger” even though the instructions explicitly say to type in one ingredient at at time.  The help video even shows this very clearly.  Apparently, no matter what you do, there will always be some users who just ignore this and want it to work in a certain way.

There is the possibility of either supporting multiple ingredients at once, or at least detecting when this is done and providing a clearer error message – not that these people are likely to read error messages.

Hopefully this is something that doesn’t happen a lot, and can be ignored as user error.

What The???

Lastly, there are a few queries that just make you scratch your head.  For example, “left over pork”.  Who cares if it’s left over or not?  Just type in pork!

Then of course there’s:

"jethro tull" and "new haven" AND collection:etree

I won’t even ask.

Fixing Valid Queries

It’s also obvious there’s a bunch of queries that should work but don’t.  I’m spending some time this week going through these and fixing as many as possible, or at least the most common ones.  Hopefully, over time, the interface will get harder and harder to fool.  However, that’s going to take a while.

Pretty Please, Check Out My Site!

1 Comment

It’s been over two weeks since I launched the new version of KitchenPC, and already over 2,000 people have checked it out.  Yes, this is going to be another one of those numbers posts.  You’ve been warned.

I thought I’d share some of the techniques I’ve been experimenting with to generate some traffic, as it seems to be a complete guessing game as far as what works and what has little effect.  As a control, I’d like to mention the average person (since the 10/1 launch) spends 4 minutes and 1 second on the site, and I have an average bounce rate of 39% (this means 39% of visitors leave the site after only visiting a single page.)  So, if you’re launching a new website, what should you do to attract visitors?  Is it worth spending money?  Where can you get the most bang for your buck?

Facebook Ads?

One easy approach, or so I thought, would be to just spend a few hundred bucks on Facebook ads.  What can be simpler than just paying people to visit your site, right?  Well, turns out it really isn’t as easy as it sounds.  I decided to create a single ad targeted at people with the interest “Cooking” on their profile.  If you like to cook, you’ll probably like my site.

On launch day, I wanted to get about 500 people to the site so I figured I’d bid about a buck and set the daily spending limit at $500/day for one day.  Turns out, such a strategy does absolutely nothing.  First, it took over a day to even get the ad approved from Facebook.  Second, when the ad was approved, traffic slowly just trickled in at under 10 clicks per day.  Most likely, the limiting factor in this result was the bid price.  I’m actually entirely unsure how Facebook’s magic algorithm works (I’m assuming it’s a very well-kept secret,) but I would guess the higher the bid price, the more people will see your ad.  I will go out on a limb and assume you’d have to make some insane bid price to get any real amount of traffic on a single ad.  I suppose the other technique would be to create dozens and dozens of ads under a single campaign, targeting various demographics, interests, age ranges, etc.  However, even doing all that, it seems trying to get 500 users onto a site in a day with Facebook ads would be a tall order.

So, does this technique even work?  Let’s look at the numbers.  I ended up lowering my budget to just $200 (total), and running the campaign for 2 weeks, ending yesterday.  Out of the 260,000 people the ad reached, just 128 people clicked on the link.  Oddly enough, I can only account for 116 of them using my own logs.  This means I paid $1.56 per visitor using Facebook.

This Facebook ad linked to a special URL that I could track using Clicky, which lets me compare this traffic against normal site traffic.  Clicky tells me that there were 109 unique visitors who used this entry point into the site (which means many people were clicking my ad more than once?) and spent an average time of 3 minutes and 24 seconds on the site; 15% less than the average visitor!  What’s even more depressing is their bounce rate was 51.4%, or 31% higher than average.  Only 11 of these visitors created a user account, two watched the intro video, and only a couple used any sort of real site feature.  Overall, it seems $1.56 for each of these users is a bit steep.

I’m well aware that there are whole companies who can optimize these sorts of ad campaigns, but in all honesty I can’t really say I’d recommend using Facebook ads to drive traffic into your site unless you have huge truckloads of money to burn, and a team of people working on these campaigns and monitoring and optimizing traffic.  Plus, you should probably know your site is actually something people want before spending any real amount.

Just Ask Some Press People

About a week before launch, I decided to send a link out to the test version of the site to various technology blogs.  These included sites such as AllThingsD, GeekWire, Sprouter, TechCrunch, ReadWriteWeb, GigaOm, LifeHacker, and PandoDaily.  I also emailed a few food bloggers, though most have very strict guidelines about promoting a product (i.e., most won’t do it.)

Out of this list, I only heard back from GeekWire, who agreed to run a Startup Spotlight segment on the site on launch date, which was fantastic!  The Startup Spotlight article drove 150 people to the site, who spent an average of 5 minutes and 47 seconds on the site with a bounce rate of just 11.9%.  This is already a huge improvement over Facebook ad traffic, not to mention it was completely free.  Though many of these people used various site features, only 3 new user accounts were created; perhaps GeekWire readers are interested in checking out new technology, but aren’t really my target demographic.  I think it’s safe to say emailing a few blogs is a better way to generate site traffic than paying a couple hundred bucks to Facebook.

One quick side note on Facebook.  I also played around with their “Promoted Posts” feature, which allow you to pay either $5 or $10 to promote a post.  This appears to be a complete scam.  You’ll get a bunch of new Likes, however, most of these Likes were from obviously fake Facebook accounts.  Some of them had pornographic materials, or were obvious marketing scams (mostly overseas.)  I don’t think I got any new real Facebook followers by promoting a post.

Press Release?

The first time I launched KitchenPC back in 2010, I did a press release which was pretty fun and also generated some great leads.  The story got picked up on a major food blog (generating 4,000 visitors in a single day!) and also created a lot of buzz on Twitter.  It’s really difficult to quantify the success of a press release, but I’m of the opinion it’s a good use of your time and money.

I decided to issue another press release for this launch, which went out the same day the new site went online.

With press releases, you’ll get dozens of sites that simply re-publish anything that comes over the wire.  If you’re a wanna-be news site, it’s cheaper than writing your own articles.  However, I got very little traffic from most of these.  The one exception seems to be a newspaper, The Sacramento Bee.  They published the press release word for word (which now appears to be gone), and drove 167 people to the site.  These users spent an average of 5 minutes and 33 seconds on the site with a bounce rate of 12.6%.  8 of them signed up, and a pretty good chunk used many of the major site features.

This article, plus the various other republications definitely make a press release a pretty cost effective way of generating site traffic, and judging from last time, the effects of this press release could pay dividends for many months.

Spam, I mean Email

I also once again used MailChimp to send out an update to the thousands of existing user accounts.  Once again, this got my account locked due to an excessive number of people reporting the mail as spam (I think their cut off is above 0.5%).  I’ve really found no way to prevent this from happening, as no matter what, some people don’t appreciate being emailed.

I’m somewhat kicking myself for not tracking email clicks with a track-able URL like I did with Facebook, as I’d love to have metrics on this.  However, I can see 65 visitors from Yahoo! Mail and 8 visitors from Live mail.  I also got a few email replies directly.  These traffic sources had similar stats than the press release traffic, which was of course far better than Facebook Ads.

My Advice?

So, my advice?  Try to muster up some press.  Write a good press release, get it out there.  Write bloggers related to your market.  If you’ve built up an email list through a beta release or a landing page, email them.  Don’t waste your time with online ads; they don’t work and are not cost effective.

I think it goes without saying the primary goal for launch is not to generate massive amounts of traffic.  The goal is to get a small amount of traffic (perhaps a few thousand people) and see if that traffic sticks.  See if they’re signing up, see if the features you worked so hard on are being used, and see if they keep coming back for more.  From what I’ve seen so far, it’s obvious this version of KitchenPC is a huge improvement over the last one.  My daily traffic is now over double what it was at the end of the beta, so things are definitely heading in the right direction.  At some point, you’ll generate something that really clicks and people will start sharing it with their friends, bloggers will start writing about it on their own, and you’ll build up a loyal user base organically.  At least, that’s what I’m hoping!

 

A Brand New Day

1 Comment

It’s been nearly two years since I launched the initial beta version of KitchenPC.com, a site that attempted to bring online meal planning to the masses.  It’s been over a year since I decided to pivot, and re-invent the site as a powerful recipe search engine.  During that year, I’ve developed natural language parsing technology to understand the inaccurate human expressions of recipes…  web crawling technology to import hundreds of thousands of recipes from major recipe sites, and categorization code to make sense of it all.  Not to mention rewriting the entire site UI from scratch with a cleaner, simpler to use interface.  It’s been a busy year.

So, as you can imagine, it’s an enormous relief to announce the new site is now live!

I invite all of you to check out this brand new iteration of KitchenPC, and explore the powerful new search features, simple to use menu tools and delightful pre-built meal plans.  Better yet, tell your friends!  Everyone knows someone who loves to cook, is looking to eat better, or is just starting out.  Share some of the recipes or meal plans on Facebook, Twitter or Pinterest.  Bloggers, feel free to share your opinions as well.  Let’s get the word out!

Lastly, I appreciate everyone who has shown support and interest in this project over the last year.  I’ve made many new connections, from foodies, other entrepreneurs, and even developers looking to incorporate KitchenPC technology into their own products.  I also expect the next year to be even more packed with KitchenPC innovations; from mobile to tablet apps, new features and innovation, and lots of new content for the site.  Anything you’d like to see?  Just send me a note, or leave a comment below!

That’s it for now!

A Common Problem

Leave a comment

Let’s face it.  We’re all a little bit lazy sometimes, especially when it comes to cooking.  How many times have you opened the fridge door, poked around inside, and tried to cobble together a recipe on the fly with the ingredients before your eyes.  Usually, in disgust you’ll close the door only to re-open it again five minutes later hoping that the mythical fridge gremlins have restocked your refrigerator with better items.

The new KitchenPC will attempt to help people facing this problem with a feature that allows users to search for recipes that use only “common ingredients.”  What can we make out of the ingredients an average household is likely to have on hand?  Now, the only question is what is a common ingredient?

I asked a few potential users how they would define common ingredients and, of course, got differing potential answers.

My vote is for eggs and stuff you have on hand.  I don’t want to go to the store in order to make dinner tonight! – User A

Common to me is anything you can buy at a local grocery store. – User B

So, there are two trains of thought on the subject.  The first is that common means “I’m likely to already have it.”  These are the people who might see the feature as allowing them to search for recipes they can make right now, without having to put on pants.  The second meaning is more analogous with a common name.  A common ingredient is one that the average person is familiar with.  You could find it in a grocery store within a minute or two, and you don’t have to look it up on Wikipedia first.

One can assume the first definition is a subset of the second.  An ingredient the average person has in their cupboards is most likely one that they’ve actually heard of, otherwise what on earth is it doing in their cupboard?  However, though even the chef with the most basic culinary vocabulary is familiar with a watermelon, how likely are you to have one sitting on your kitchen counter right now?

Possible Solutions

By now, it should be obvious that there is no black and white definition of ingredient commonality.  It means different things to different people of different cultures, backgrounds and dietary preferences.  Which leads me to believe that it’s more useful to use a sliding scale rather than a Boolean value.  Salt is the most popular ingredient on KitchenPC, and almost every single reader has some in their kitchen right now.  This ingredient should have a very high commonality rating.  Milk and eggs would probably be right up there as well, but not everyone consumes dairy and not everyone keeps eggs on hand at all times.  Goose liver would of course be towards the bottom of the scale.

Using the average score of the combined ingredients, it would be possible to score an entire recipe as well.  From this average, I could most likely determine how likely it is that you could make a given recipe without having to go to the store, or even how likely it is for such a trip to be an easy excursion, without you having to make a side trip to an exotic meat shop.  Results could even be shown in order of commonality, with those containing the most common ingredients at the top of the list.

Does Common Mean Popular?

While it would be possible to go through the entire KitchenPC ingredient database and come up with a score for each one, perhaps there’s a better way.  One hypothesis would be that there exists a correlation between how common an ingredient is with how many recipes it’s used in.  Having well over 50,000 recipes in the database now, I’m in a pretty good position to test this.  So let’s look at the top 20 most used ingredients in the KitchenPC database:

  1. Salt (28,016 Recipes)
  2. Granulated Sugar (25,389)
  3. Eggs (24,707)
  4. All-Purpose Flour (21,386)
  5. Salted Butter (17,782)
  6. Vanilla Extract (14,091)
  7. Water (11,345)
  8. Black Pepper (9,920)
  9. Baking Powder (9,766)
  10. 2% Milk (9,174)
  1. Light Brown Sugar (9,031)
  2. Baking Soda (8,711)
  3. Ground Cinnamon (7,316)
  4. Garlic (6,526)
  5. Onions (6,255)
  6. Vegetable Oil (5,860)
  7. Olive Oil (5,807)
  8. Powdered Sugar (4,726)
  9. Unsalted Butter (4,436)
  10. Lemon Juice (4,399)
See Top 1,000 Here

Looking at this list, do you have most or all of these ingredients in your kitchen right now?  At any one time, are you more likely to have one of the higher scoring ingredients in your kitchen?  I’d say in general, this holds true for me.  I always have salt and sugar on hand, I usually have eggs, I often have onions, and only occasionally have any lemons to juice.

With this said, I think it would be reasonable to use this trend data within KitchenPC to figure out a score for each ingredient.  It would certainly be faster than going through each one by hand.

Then What Is a Common Recipe?

Obviously, a recipe’s average ranking on the list above would indicate how common that recipe was.  The recipe, “Big Bowl of Salt” would of course be the most common recipe ever.  However, we still need to define what is and is not a common recipe, as the search interface is simply a check box.  This most likely means we need to choose a maximum ranking for ingredients used in that recipe.  For example, if a recipe contains any ingredient with a score over x, that recipe can’t be common.  Even if this recipe calls for “Salt, Sugar, Eggs and alligator tail”, it simply cannot be considered a common recipe.

The good news is that this cut-off point can be tailored as the database grows and changes.  Users don’t want to be flooded with thousands of results, but if this number is set too low, that might be just as bad.  How many recipes can you make with the top ten list above?  Not many, though this is perhaps a great time to share one of my favorite breakfast recipes.

Thoughts?

I’d love to get some feedback on how the “Show Common Recipes Only” feature should work, and what you’d expect to get out of it.  Am I on the right track, or is this feature completely useless?

Mechanical Turkey

7 Comments

These days, much of the time that I would like to devote to working on my web crawler has been usurped by randomizations with pre-made meal plans.  I fret that I’m woefully behind on my goal of having ten pre-made meal plans (one for each category) by launch; though I have been moderately successful in getting some friends, as well as  some in the professional realm, to assist with this project.  One thing I have not been able to get much assistance with is recipe photography.

It’s very important to me to have ten really good, well tested and well thought-out meal plans for launch.  I want to show off what the site can do with these plans.  I want to individually advertise each of these plans on Facebook and Google.  I want whatever press I can muster up for launch to eat these plans up, and keep users coming back for more.

Obviously, one of the keys to good recipe content is good recipe pictures.  Unfortunately, most of the content I’m getting from nutritionists and dieticians is in the form of a Word document or PDF, and usually sans pictures.  I’ve had a little luck getting some friends to try some of the recipes out and snap some shots, however this approach would result in me losing friends faster than achieving my goals.

Yesterday, I decided to try a new approach.  Yes, once again, Amazon’s Mechanical Turk service.

Those who frequently peruse my ramblings might be asking, “But Mike?  Didn’t you try out Mechanical Turk before and declare it a scam-ridden wasteland of automated succubots, ensuring any user dumb enough to use it would surely spend more time cleaning up the mess it created than any time savings yielded?”

Well, yes I probably did say something similar to that.  But this is different!  Let me tell you why!

Protip: Ignore Amazon when they tell you Turk is designed for short, quick repetitive tasks.

 

When I tried Mechanical Turk before, I was using it for ingredient matching.  For example, I’d upload a list of ingredient usages found across thousands of recipes.  The goal would be to match something like “4 cups of shredded cheddar cheese” to the number 4, the unit “cups” and the “shredded” form of “cheddar cheese”.  This was somewhat of a crowd sourced version of the natural language parsing technology I have since developed.

This approach failed because the results would be tainted by scammers that are hoping to make a quick buck.  I’m quite certain some of them are running automated scripts to just fill out random answers to any Turk HIT they can find.  This caused issues such as over 1,000 HITs getting matched with Captain Crunch cereal.  This created a mess that was nearly as difficult to clean up as the BP oil spill.

Turk experts would chime in here saying building a reliable team of workers is something that doesn’t just happen overnight.  I should have tests to pass first, approve each worker individually, assign each HIT to multiple workers to ensure a consensus, blah blah blah.  Unfortunately, I had time for none of that so I’ve instead declared Mechanical Turk to be a bad fit for that particular task.  It turned out writing a natural language parser was a lot more geeky anyway.

So, I gave this another shot with recipe pictures.  Who wouldn’t want to cook a recipe and take a picture of it for money, right?  I decided to start out with a meal plan being developed by Say I Do Nutrition Services in Seattle.  This plan has seven recipes, and I already had pictures for two of them.  I created five Mechanical Turk HITs that basically said, “Cook this recipe, take a picture of it, make sure it’s not a crappy picture or I’ll reject it, and don’t just steal a picture of something similar online because I’ll know.”

I gave each worker 12 hours to complete the job after they accepted the HIT, allowing people to make it for their families for dinner last night.  Oh, and I also restricted the work force to only those in the U.S.  I’m not racist or xenophobic or anything, I just think most of the scams and bot-thingies are going on over seas, perhaps funded by fake Nigerian princes.  For this job, I require nice southern housewives trying to feed their two-and-a-half kids.

I also paid $20 a HIT, which I think should more than cover all the ingredients involved.

The Results

NOT Beef Stew

NOT Beef Stew

Within about 20 minutes, I got one HIT completed for a beef stew recipe.  Considering that recipe takes four hours to cook, I knew it was a fake.  Sure enough, attached to the HIT was a link to a random picture on the Internet of a sandwich.  Mmm, sandwich.  But no, this was not what I was hoping for.  Within a few clicks, I was able to reject the HIT, sending it back to the available HIT pool for someone else, as well as block the user so they could bother me no more with their sandwich-based trickery.  Only worrying about five HITs was far easier to manage, so this slight detour was hardly annoying and perhaps slightly entertaining.

One thing that Mechanical Turk lacks is the ability to see how many workers have accepted a HIT.  In fact, you get no feedback at all until they actually submit the results.  For this reason, nothing happened for about five hours.

Broiled Salmon

Broiled Salmon

Then, all evening, I started getting various pictures submitted of each of the five recipes.  A lot of the submissions contained a dozen or more pictures, from various angles and lighting.  Several were very artistic, such as the recipe for wine stew included a glass of red wine next to it. A few included comments saying how much they enjoyed the recipe, and that this was the best job they’ve ever found on Mechanical Turk.  I had absolutely no problems with any of the photos submitted, and I added all five workers to a custom group so I can use them again later.

Bonus!

Another highlight of this approach was free advertising.  Not only did I see a huge spike in website traffic right after I posted the HITs, I also got a few unsolicited emails, such as this one:

I wouldn’t be able to make the meal though I would love to. I just wanted to let you know that I am impressed with the recipe site and will be using it in the future! Thank you!

Several of the workers also said they loved the site and would be coming back as well.  This makes sense, of course, as the posted job seeks the exact same target demographic as my website itself does; people who can and love to cook.  Not only did I get photos for all five recipes, I also got a few new users for the site!

Though this approach is a bit expensive, at $100 bucks for 5 recipe photos, it might be the best way to get ten meal plans up and ready for launch.  I don’t think going much lower than $20 per recipe would yield the quality I expect, plus I think it’s fair to at least cover the cost of the ingredients.

With that said, I think I’ll try to cook as many recipes as I can myself, and continue to pester friends and family to help out as well, but knowing I can quickly get photos of any leftover recipes I have within a day definitely lifts away a lot of the stress associated with building this content.

Flank Steak

Flank Steak

Wine Stew

Wine Stew

Salmon Stir Fry

Salmon Stir Fry

Tofu Stir Fry

Tofu Stir Fry

Now I see why people hire UX professionals

Leave a comment

Yesterday, I spent the afternoon running a second round of usability testing to verify the changes I’ve made over the past few weeks result in an improved perception of the site.  Overall, I just have to say wow!  The results were an improvement by leaps and bounds, and pretty much all the major issues were addressed.  I think I’m finally to the point where I can put this site out into the world and be confident that the average Internet user won’t run away screaming.

This is not to say there were no problems with the second round of testing, because there were.  However, the problems I encountered were minor and very easy to remedy.

People Need Buttons

This simple UI fact still just blows my mind.  If you provide a text box and nothing to click on after the user enters something, you’ve basically screwed yourself usability wise.  People simply don’t press Enter when they’re done typing.  It’s good practice to allow them to press enter if they wish, but you absolutely positively need a button next to any text box, no exceptions.  Ever.

The simple act of putting a “Go” button next to the keyword search improved the experience by leaps and bounds.  Absolutely no one had any problems understanding the design.  Absolutely no one confused the Meal icons for submit buttons.

There was one screw-up that still bit me though.  Which leads me to my next piece of advice.

Buttons Next to Text Boxes Can and Will Be Confused With Dropdowns

As mentioned in my previous post, I ditched the ingredient auto-complete mechanism for a simple text box that will parse whatever you type in.  In case you don’t remember, here’s what the new UI looks like now:

Notice "+" icons next to both ingredient text boxes

The intended design was for users to click on the text box, type something in, then either press Enter or click on the “+” icon to the right of the text box.  Wow, did this backfire big time.

9 out of 10 users clicked on the “+” icon first, expecting to see some sort of dropdown or popup to allow them to select an ingredient from a list.  The problem with this was clicking on the “+” icon with a blank input did absolutely nothing.  That’s right; zilch, no-op, no error message… nothing.  Even more disheartening was the fact that 4 out of 10 users never figured it out, and thus were unable to ever use the feature.

The solution?

Very simple, I hope.  Now, when you click on the “+” icon and there’s no text input, I set the focus to the text box itself, which of course automatically shows a helpful tooltip on what to enter.  This one line of code - input.focus(); - will hopefully remedy this problem.

Seriously, Quit Trying to be Fancy with Non-Standard UI

I also mentioned in my previous post that I ditched the fancy checkmark graphics and went with standard HTML input controls.  I was also blown away by the dramatic change of perception that change resulted in as well.  9 out of 10 users immediately used the check boxes to mark off several recipes, rather than going into the recipe viewer to add a recipe to a menu.  Most didn’t even pause to think twice about this feature, they simply saw the check boxes they’re used to on the web and knew they could select multiple recipes to add to a menu.  This is fantastic!

The one user who failed to use the check boxes I had some other problems with.  I felt she rushed through the script, and flat out skipped several of the tasks.  I don’t believe she provided feedback that exemplified the average Internet user.

Confusion on De-Queue

The simple re-wording of the “remove from Queue” popup also made a huge difference.  10 out of 10 users understood immediately that the rating was indeed optional.  Most simply ignored it and clicked Ok, and a few made comments that indicated they understood they could optionally rate the recipe.  However, there was one user who was confused that the recipe rating was pre-filled in with 5 stars rather than blank.  I’ve only seen this happen occasionally though (perhaps on certain browsers), so I’m pretty sure it’s a bug rather than a usability issue.

More Options

Like the last test, most people were still lost on how to narrow down recipes to those under 30 minutes, failing to find the “More Options” button.  Again, their first instinct was to use the sorting options to manually find these recipes.  Since I simplified sorting, I believe the experience was much better, however I’m still giving this area some thought.

With a usability test, users are instructed on tasks to perform.  If I tell them to “narrow down recipes to those that can be made in 30 minutes or less,” they immediately know such a task is possible and just have to figure out how to do it.  A normal user would simply not know if such a feature existed, and would thus not be confused with what they don’t know how to do.  I’ve said before I prefer simplicity over powerful features, and have purposely only exposed the filtering abilities that the majority of surveyed users said they would use.  Other features are out of the way as not to clutter the interface with features only 5% of users might ever bother with.  Thus, drawing more attention to the “More Options” button is not something I’m convinced is a necessity.  If people find it, great!  It will be like a treasure chest of new features, buried to await discovery by my most loyal users.  On the other hand, maybe making the button brighter and more noticeable might be the way to go still.  We’ll see.

People Still Don’t Get “What Can I Make?”

Though people understand that they can enter a few ingredients in, they really don’t seem to understand what the results mean.  When I told users to enter “12 eggs, a dozen bananas, and asparagus” to see what they could make, several made comments like “How in the world could you make anything with that?” – obviously assuming I would find a single recipe that utilized such randomness.  Others thought that KitchenPC would somehow generate an original recipe on the fly (Icon Chef Watson??) that perhaps infused asparagus purée into banana bread or some such.  Wouldn’t that be interesting.

A good chunk of users, once seeing the results, understood the relationship between the input and said results, most providing praise of the feature’s usefulness.  Others flat out still didn’t get it, wondering why only five recipes in my database used any of those ingredients.  Attempting to explain that this set of five most efficiently uses the ingredients and amounts specified is a challenge, since it’s most likely the most original feature of KitchenPC and users have a hard time identifying with something they’ve never seen before.

I think the only real way to articulate the purpose of the meal planner is to create a popup video that demos the feature and really shows off what the results mean.  This will for sure be a weekend project before the site is launched.  I’m hoping once I can educate users on the purpose of this feature, it’ll really click with them and keep them coming back for more.  Maybe it will start a new Internet trend and other sites will try to copy it!

Next Steps

I also found a few minor bugs while watching the usability tests, but nothing too concerning.  Hopefully, these issues will be addressed this weekend.

The next task will be starting to assemble pre-made meal plans.  Since this is a huge task, I’m hoping to call upon the powers of the Internet to recruit some help.  I’ll be reaching out to bloggers, friends, nutritionists, personal trainers, and other experts to see if I can find some people to put together these plans.  In return, they’ll be able to link to their site or product which will hopefully provide some incentive for their work.

If you know of anyone who might be willing to help out, please let me know as well!  I’m hoping to get at least 10 pre-made meal plans (at least one in each category) for launch, and hopefully more as time goes on.

While that work is being done, my next technical task is to finish up the web crawler and parser.  I need to be able to import tens of thousands of recipes from other recipe websites automatically, hopefully this time providing near perfect accuracy.  The recipes on the site right now are simply not good enough and contain too many errors.  These recipes need to go!  I also need to work on the categorization code that will classify each recipe and tag it correctly, which is probably a topic for another post.

So much work!

Older Entries

Follow

Get every new post delivered to your Inbox.