Skip to content

What do Microsoft Project and KitchenPC have in common?

June 28, 2010

For about three quarters of my Microsoft career, I worked on Microsoft Project.  To some, it may seem like leaving to pursue meal planning is about the most radical switch I could make.  For one, rather than business customers I’m now focusing on poor college students, aspiring cooks, and soccer moms.  Second, it’s a web site rather than a boxed product or server software you install.  However, there’s a key similarity; a parallel I’ve drawn which leads me to believe there’s some lessons I can take away from my work on Project.  That would be in our respective ability to tolerate and adapt to the maturity of our costumer base.  I’m not talking about maturity as in fart jokes, but rather the discipline in which one regulates their lives through our respective products.

Project really didn’t understand this for ages.  They didn’t even really “get it” until Project 2010, which was just signed off on the day I left.  For Project to be incredibly useful to people, it has to know about the entire universe of your project.  Every tiny little detail, every work item, every resource involved, how these resources work, how they bill, their schedules, you name it.  This is fine if you have a professional project manager who wants to plug in all this data, and you have resources that are more than willing to enter accurate data regarding how long they’ve worked on a task, how much work is left, when it will be finished, or even the percent complete the task is.  For most industries, people just won’t want to do this.  In fact, the cost overhead of managing this level of detail and keeping it up to date is such where one wouldn’t realize any cost savings until they were dealing with huge projects with hundreds or thousands of tasks and dozens of resources.  For this reason, Project was relegated to industries that managed large, multi-million dollar projects.  For smaller customers, our biggest competitor was Excel.  Using a simple Excel spreadsheet, one could create a short list of items, type in some assignees, and manage attributes on these tasks in a free-form manner.  One of the big features of Project 2010 was the ability to enter arbitrary dates on a task, such as “someday” or “First Quarter” or just leave it blank.  The Project scheduler could run in such a way where it would “do its best” with the information it had available, without pestering users to provide data that might not be known at the time.  In short, it targeted less mature organizations that didn’t have disciplined project management techniques.

KitchenPC, due to its orginal desires to be an actual PC in the kitchen, is designed from the ground up to be not only a handy website for cooks, but also a platform for developers and hardware manufacturers.  The long term business goal is to get companies such as LG, Samsung, KitchenAid, etc to want to tie their hardware into the KitchenPC backend.  These products might have their own “skinned” user interfaces, but ultimate call into KitchenPC’s network and access those data.  Imagine a fridge that keeps track of its own inventory, or an oven that will pre-heat because it knows what recipe you’re cooking.  All these things might not be too far off.

However, this vision at the moment can only be seen on a few science fiction movies that take place in the future, some less realistic than others.  For this platform to achieve usefulness with today’s cooks, it has to realize that very few users will actually plan meals in advance,actually stick to that exact meal plan, or have any desire to maintain their exact set of available ingredients, and amounts, online.  Imagine having to type in exactly what you used every time you ate.  Sure, the website would be incredibly powerful if it actually did have this information, but for now, it needs to be able to deal with ambiguities.  The same way Project had to learn to deal with not having all the data, all the time.

This is a challenge that has not gone unnoticed, and a parallel that has manifested itself on several occasions over the past few months of development efforts.  While designing features, I need to provide a lot of reward for those who actually wish to accurately track all meals and all inventories (these target customers might be retirement homes, very large families, jails, hospitals, etc) while not annoying the crap out of everyone else or making assumptions about data.  Features such as subtracting amounts from the pantry when you cook a meal have to be optional and controllable by the user.  No feature can assume the pantry to be an end-all-be-all tally to the user’s inventory.  And it should be expected that a user’s tally will not be maintained, kept up to date, or maybe even used at all.  If ever, it might be used to store the major ingredients that have a shorter shelf life, or favorite ingredients that the user wants to find recipes for.  How people use the pantry is something I’m very exciting about seeing during the beta release.

I hope some day in the not too distant future, we’ll have smart homes that use RFID tags to manage ingredients on hand.  When users purchase ingredients at the grocery store, their purchases should automatically be tied into their account and show up online.  These are the kinds of things I want to build with this platform down the road, but for now I have to build a product that’s fun, useable and useful to the regular people of today.


From → Business

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: