LinuxMCE Forums

General => Feature requests & roadmap => Topic started by: jetrich on October 23, 2007, 11:03:50 pm

Title: Integrated Recipes Module
Post by: jetrich on October 23, 2007, 11:03:50 pm
I'll start by saying that I have rarely been as excited about something as I was when I first saw the demo video for LMCE. I anxiously await it's further development and maturity.

Some time ago there was development on a plugin for MythTV called MythRecipe. The progress of that plugin has all but died, but I believe the idea is grand and would be well suited for LMCE. It's the next step in having an LMCE system in the kitchen: recipes at your fingertips.

Recipe searches (by name, type, ingredients, etc.)
Digital cookbooks
Shopping list generation (and printing?)
Any other spectacular feature I can't think of right now...

Perhaps somebody will agree with me and the development can begin. I can't help much as I am hardly a programmer let alone a brilliant programmer like those that have brought Pluto and LMCE this far.

Once again, thanks for such a wonderful system with such great potential.

Jason
Title: Re: Integrated Recipes Module
Post by: fearingsept on November 01, 2007, 03:01:55 pm
That has to be one of the coolest ideas ever. I thought about building a system for my kitchen just for that. If LMCE could integrate that feature I would be thrilled. I too would help except I don't know the first thing about programming.

-Dustin
Title: Re: Integrated Recipes Module
Post by: Hagen on November 01, 2007, 03:38:02 pm
Sounds like that could be achieved trough linking to a website trough the built in link section.
If you know a website? same with weather and news.
You could make your own recipe website.
Not really a LMCE programming job if one opts for such a sollution? more a webprogrammer job.
Title: Re: Integrated Recipes Module
Post by: teedge77 on November 01, 2007, 04:18:16 pm
i think a lot of the features in thsi article would be great in linuxmce.


http://www.extremetech.com/article2/0,1697,1823227,00.asp (http://www.extremetech.com/article2/0,1697,1823227,00.asp)

maybe they could be worked in with the mythtv recipe plugin.
Title: Re: Integrated Recipes Module
Post by: jetrich on November 01, 2007, 04:21:49 pm
Okay, at least I know I'm not the only one that likes the idea...

I just ran across Gourmet http://sourceforge.net/projects/grecipe-manager/ (http://sourceforge.net/projects/grecipe-manager/) and here http://grecipe-manager.sourceforge.net/ (http://grecipe-manager.sourceforge.net/) and it seems to be pretty close to what I have in mind.

From the site:
"Gourmet Recipe Manager is a recipe-organizer for GNOME that generates shopping lists and allows rapid searching of recipes. It imports mealmaster & mastercook files and exports webpages & other formats. Gourmet uses python, gtk and metakit."

Now, how to integrate this into LMCE...
Title: Re: Integrated Recipes Module
Post by: teedge77 on November 01, 2007, 04:23:31 pm
i like the idea of using a database and barcode scanner to identify what you have in the house still and what needs to be bought for your recipe. maybe that could be worked into mysql in lmce?
Title: Re: Integrated Recipes Module
Post by: jetrich on November 01, 2007, 04:26:50 pm
i like the idea of using a database and barcode scanner to identify what you have in the house still and what needs to be bought for your recipe. maybe that could be worked into mysql in lmce?

I'll second that...

Of course if Gourmet would work then that wouldn't be quite as necessary, unless you are doing a mass inventory of your kitchen. I know that I don't have enough food in my house for that to be a problem though.
Title: Re: Integrated Recipes Module
Post by: teedge77 on November 01, 2007, 04:29:34 pm
oh...even better ;)
Title: Re: Integrated Recipes Module
Post by: tschak909 on November 01, 2007, 06:12:39 pm
you could make a new plugin for linuxmce as well...

-Thom
Title: Re: Integrated Recipes Module
Post by: jetrich on November 01, 2007, 06:15:00 pm
you could make a new plugin for linuxmce as well...

-Thom


My thought exactly, well, except for the "you" part. I'm doubt seriously that I could make any plugin for LMCE as my education sits right now. Not even close to ready for that one. I don't think.
Title: Re: Integrated Recipes Module
Post by: Stingly on November 02, 2007, 11:57:25 am
I really like this idea! Started off reading the thread just out of curiosity, but am now sold on the idea! I plan to put a MD in my kitchen, and think that this would be a really neat idea!
Title: Re: Integrated Recipes Module
Post by: marv2097 on November 05, 2007, 12:35:16 pm
I started reading this thread and I was thinking "what the hell? recipes on LMCE???" but no i am converted! i really like the idea of LMCE doing recipes and kitchen inventory!

I guess this is pushing things down the "smart home" road, ie. I can check what food i have in while at work and see what I need to buy on my way home to make a particular dish. As well as using a barcode reader if you ordered you food online then you could import your shopping list from that. maybe even LMCE could be used to order your food online??

I really hope this gains some momentum on LMCE.
Title: Re: Integrated Recipes Module
Post by: teedge77 on November 05, 2007, 04:05:25 pm
thats a great one...i didnt even think of the idea of checking what you currently have in the cupboards at home, from work. then going to the store to get what you need. man....then my wife could get a job since i wouldnt need her there to do it.... ;) anyone have any ideas on linuxmce taking care of kids??
Title: Re: Integrated Recipes Module
Post by: teedge77 on January 11, 2008, 09:42:04 pm
anyone still have interest in this and an ability to do any work towards it?
Title: Re: Integrated Recipes Module
Post by: Matthew on January 12, 2008, 12:38:40 am
anyone still have interest in this and an ability to do any work towards it?

I'm too busy to work on it, but I am interested in using it. I'm also curious whether there's any RFID products for tracking the contents of fridge and cupboards. Hell, are there any automated devices that will actually process the food into meals with a minimum of human intervention? Like a breadmaker, but more complicated, and controllable by a PC?
Title: Re: Integrated Recipes Module
Post by: jetrich on January 12, 2008, 03:35:51 am
Very much still interested. I was talking with my wife about it just the other day, but I'm still not a programmer. I suppose one could just list gourmet as an external application under computing??? I guess it might be worth a shot. Think I'll try that.

...Hell, are there any automated devices that will actually process the food into meals with a minimum of human intervention? Like a breadmaker, but more complicated, and controllable by a PC?

Hey, if you can install Linux on a toaster I suppose you _could_ install linux on a bread machine and make it some sort of freak hybrid appliance...  ;D

Jason
Title: Re: Integrated Recipes Module
Post by: jetrich on January 12, 2008, 11:25:38 pm
I tried to install gourmet on my kubuntu 7.04 pc (not LMCE) and it really didn't run very well, and I'm not sure I like the interface. It is still in beta, but doesn't seem to be developing very quickly.

I then installed krecipes http://krecipes.sourceforge.net/ (http://krecipes.sourceforge.net/)on the same machine and am much more pleased with it. Not to mention the fact that it is in the repositories unlike gourmet. Krecipes also has more database options (mysql and postgres) so we wouldn't be as limited.

i think that this software may be a better bet. I suppose the trick would be getting somebody ('cause I don't know how to program yet) to modify the interface or program a new one. Perhaps a UI that works well with a touch screen???  ;)

Jason
Title: Re: Integrated Recipes Module
Post by: jimmejames on October 23, 2008, 06:25:15 pm
Does anyone have any news on this?  I'm not a programmer, either, but we all have to start somewhere, right?

There are a number of programs out there- e.g. the ones listed before and AnyMeal. 

If anyone with programming experience could list a few things that are mandatory for integrating anything with LinuxMCE- e.g. a certain database over another and if waiting for 810 is necessary- are major components changing a lot?  Also, it seems that finding a program that has a very basic UI would be better than finding one with an advanced UI.  That way I wouldn't have to worry about how their UI interfaces with LMCE and rather could export the information to the screen as I wanted.

Clearly I don't know what I'm doing with this, but a non-essential but highly desired addition like this may prompt more experienced programmers to lend a hand. 
Title: Re: Integrated Recipes Module
Post by: tschak909 on October 23, 2008, 06:41:49 pm
Any program that we are going to put in with LinuxMCE, needs to be able to display on Orbiter. I will not support any extensions if they do not.

-Thom
Title: Re: Integrated Recipes Module
Post by: jimmejames on October 23, 2008, 08:27:34 pm
I'm with you there, one of those webdt things that you listed a couple days ago is going into my kitchen.  I want to be able to pull up recipes on it to make dinner.  It's ability to play songs/dvds/whatever like a media director is the last of my concerns.

Certainly getting the cart ahead of the horse here, but I have a n810, a windows orbiter and now that webdt thing that I would be able to test on.  Probably a good start considering I dont' even know where to start.

But again, are there recommendations for things to look for?  Thom or Hari- info straight to the point would be most helpful.
Title: Re: Integrated Recipes Module
Post by: tschak909 on October 23, 2008, 08:46:05 pm
it will probably need to be hand made.

The plugin would provide an interface to a web service. There would be a series of screens designed in Designer (see my Designer screencasts), and these screens would attach to the data grid generators provided by the plugin, and set the appropriate text bits on screen.

So, for those of you who want to do the designer work, listen up:

I would see something like the following screens:

* Favourite Recipes (default screen)
* Newest Recipes
* Search for Recipes
* Recipe Detail view

The actual structure of those pages, would depend on what would be used to get the data.

So.

* Find a web service that can be queried for recipes.
* write code in C++ to deal with that service, make it self contained. If needed, convert XML to plain text, etc.
* write a DCE plugin, that provides:
  - Data grid generators for the different data grid tables in each screen
  - Command(s) to retrieve recipe details

LinuxMCE has commands in orbiter to update designobjs with new image data (i.e. a jpeg or a png). Place designobjs for the recipe images etc, and in the commands to retrieve recipe details, have it set those designobjs.

you should provide pagination buttons to flip pages, if needed. preferrably, the cooking ingredients should be separated from the preparation instructions, so that the ingredients/proportions can stay on screen.

The more you can parse the information, the more that commands can be added for future expansion, i.e. for ordering groceries for a recipe etc.

This is a whole house solution, tied in via a large scale messaging buss. Keep this in mind. LinuxMCE is about integration.

-Thom
Title: Re: Integrated Recipes Module
Post by: jimmejames on December 10, 2008, 03:51:01 pm
Regarding UI1 limitations and scroll bars, does every possible screen need to rendered ahead of time?  If you have a recipe that extends longer than 1 page where you would usually have a scroll bar on the side of the screen that you could move up/down, would UI1 need to have the scenario generated where you only scrolled 1 line, then if you scroll 2, etc?

If the above question isn't clear, consider a recipe that has 50 lines of instructions and the screen is only able to display 30 lines at a given time.  Would screens need to be generated that showed lines 1-30 first, then showed 2-31, 3-32, etc?  Or, can UI1 handle scrolling static images?
Title: Re: Integrated Recipes Module
Post by: tschak909 on December 10, 2008, 03:59:23 pm
Basically, pagination would need to be implemented, using a fuzzy model of approximate characters, with page up and page down buttons. At Least for now.

Part of this would be solved with intelligent UI design. The Recipe items would for example work best in a data grid. This way, items could be selected and called back to for example a "mark this to get later" function.. or perhaps order it online.

-Thom
Title: Re: Integrated Recipes Module
Post by: krys on December 10, 2008, 06:39:43 pm
on the same topic, I saw that one of the accesories you can buy for the webdt's was a barcode scanner.... so you could scan your groceries in when you get home from the store, they go into an inventory database, when you use the product you scan the barcode with your orbiter (marked as used of course) as you throw it away and the item comes out of your inventory DB.
This sounds fun, but i doubt it is on any programmers list of important things to do in the near future.
Title: Re: Integrated Recipes Module
Post by: tschak909 on December 10, 2008, 06:47:51 pm
any enterprising programmers willing to take on the task, I can answer questions.

-Thom
Title: Re: Integrated Recipes Module
Post by: bulek on December 10, 2008, 08:18:28 pm
any enterprising programmers willing to take on the task, I can answer questions.

-Thom
Hi,

what I would propose is to have some generic text container screens for Orbiter and then just select what data provider will provide content. This would come handy for all other potential data providing plugins (weather, news, etc...). Then we try to make data providing plugins ( I volunteer for Perl).

I guess we're heading this way from my understanding...

Regards,

Bulek.
Title: Re: Integrated Recipes Module
Post by: tschak909 on December 10, 2008, 08:21:15 pm
Nah, it's easy enough to make new screens, there is no reason to just make generic containers.

-Thom
Title: Re: Integrated Recipes Module
Post by: jimmejames on December 11, 2008, 04:15:56 am
OK, well I'm still looking for an interpreter to write/edit code, but for now I've just been trying to read the code that someone else has already written.

How much code has to integrated into LMCE vs just being a standalone program that runs inside LMCE- is there a difference?  What I don't want is another program that is stapled onto LMCE like mythtv that has a different UI from the rest of the software.  Even though it works- and works well, I would rather integrate something into LMCE that carries the same UI look and feel.

That said, has anyone looked into Gourmet Recipe Manager?  http://grecipe-manager.sourceforge.net/  It seems to have all of the previously requested features already including a shopping cart, recipe's that you can download from a number of websites as well as add your own/rate the ones you have.  Plus, it has a fairly easy to use search feature.   And, it's written in Python.

More recipes:
http://mc6help.tripod.com/RecipeLibrary/RecipeLibrary.htm

The whole tar'd files are 1.8 mB while the untar'd are 8.4 mB  (no recipe's are initially included).

Is there a reason that I couldn't spend my time trying to develop an interface for LMCE that calls functions from Gourmet and not worry about editing the code? 
I'm not sure how to check what dependencies are required for the program vs which ones are included by default- something I will look at later.

Anyone have any questions/concerns/problems/whatever?
Title: Re: Integrated Recipes Module
Post by: tschak909 on December 11, 2008, 04:32:46 am
LinuxMCE doesn't think in terms of applications, but devices.

Orbiter is just a device, the same way that a lighting interface is a device, the climate plugin is a device, etc.

The difference is, plugins run in the router's memory space, and thus have access to members, structures, functions, etc. of the other plugins merely by casting a pointer to them.

The recipe stuff would become part of the General Info plugin, for now. Providing essentially a set of commands to retrieve recipes, and a set of event interceptors and datagrid generators to fill in text/etc as needed. The Screen Handler for the recipe screens would call this.

For examples of what i'm talking about, look at the Telecom Plugin, and the MythTV Plugin. You'll see references in the Register() method, to callbacks to fill in data grids and other things, which are used to fill in the needed bits on orbiter.

UpdateEntArea will be used to automatically create a Recipes button (if and only if in the kitchen) to goto screen XX which is our recipes screen.,

-Thom
Title: Re: Integrated Recipes Module
Post by: bulek on December 12, 2008, 03:57:47 pm
Hi,


Didn't take a closer look, but will share with community :

https://sourceforge.net/projects/fam-connections/ (https://sourceforge.net/projects/fam-connections/)

Opinions ? It also has a recipe...

Regards,
Bulek.

Title: Re: Integrated Recipes Module
Post by: Pablo on January 24, 2009, 03:48:22 am
Hopefully I am not barging in here, I have been lurking for quite a while.

It seems like several things would be of benefit here:
1. Recipe database. (recipe's ingredients cross referenced to UPC codes whenever possible).
2. foodstuff inventory of all food in house with UPC codes whenever possible.
3. Lookup of foodstuff's to find closet location, lowest price.
4. Generation of shopping list and map to mobile orbiter. Shopping list based on low inventory, expired perishables, and selected recipe's queued.
5. Orbiter support for built in camera eye or for laser bar code reader to manage inventory (Simply scan bar code on usage or purchase and update or decrement inventory).


If anyone is to implement this it would of great value to hook it up to a web service such as Google base or http://en.barcodepedia.com. These are used by Compare Everywhere and Shop Savvy. These apps (on the G-Phone) take a bar code from the camera input and then return the price of the item at local stores and internet stores.

On the home automation system, something like this would keep your foodstuff inventory, then when you generate your shopping list, you can be told where you can buy the items in your current list, with preferences given to the closest location to you, or the cheapest price in town, quality of fresh foods, etc. When your list is generated, you get a handy map showing where to buy each item and the shopping list and map are uploaded to the smart phone your orbiter is installed on. Mark off the products as you buy them by scanning them with your camera eye and then your local database is updated with the new inventory. Scan something using your phone's camera and if it is not in your local database, or known about by Google bases, you can choose to add the info manually.
Title: Re: Integrated Recipes Module
Post by: posde on January 26, 2009, 09:29:07 am
We anxiously await your patches for a new module...

*SCNR*
Title: Re: Integrated Recipes Module
Post by: bulek on January 26, 2009, 10:41:39 am
Hi,

I will express my opinion regarding recipes module. IMHO it would be more generic if we could integrate content from Wordpress or some other blogging engine - recipes can then be just a special category, among other categories that will be usefull to display on Orbiters (Diary, Todos,....)

Just my opinion....

Regards,


Bulek.
Title: Re: Integrated Recipes Module
Post by: posde on January 26, 2009, 05:06:15 pm
Well, you already have the ability to go into computing and browse the web.
Title: Re: Integrated Recipes Module
Post by: tschak909 on January 26, 2009, 05:22:19 pm
You can do that now, bulek, however. I think doing this as a working orbiter screen is a much better idea.

Title: Re: Integrated Recipes Module
Post by: bulek on January 26, 2009, 07:22:23 pm
You can do that now, bulek, however. I think doing this as a working orbiter screen is a much better idea.


I agree... What would be fine is some set of Orbiter screens (browsing on higher level is similar to media, then go down into text...) that would display text container that some sort of data provider plugin will provide... But I guess I'm just repeating what is probably already on todo lists...

Regards,

Bulek.
Title: Re: Integrated Recipes Module >> Assisted Cooking
Post by: rvetruba on March 16, 2009, 07:54:57 am
I think LMCE is uniquely positioned to be central to "assisted cooking".

My brother was an engineer for Pillsbury, and per their research, they categorize all meals into 1 of 3 dominant categories:
 - heat and eat i.e. microwave dinners  (about 25% of the market)
 - semi customized (about 70% of the market)
 - from scratch (about 5%; polarized between gourmet chef types and ethic immigrants who do this to save money)

I'm guessing there are not yet available (but why not?) faucets that can dispense water by measurement i.e. 1 cup; Z-wave or Insteon ovens, etc. ...these devices, coupled a step-by-step instructions could really make an expert chef out of anyone capable of following directions.

re: inventory control, it would be SO much more efficient if there a way to get the information from the store i.e. receipt (scan the reciept? Take a picture with an iPhone? Bluetooth receipt like in Japan?) - thus avoiding having to re-scan everything with probably would not end up saving much time.

Last, I think the way a human relates to an orbiter is highly contextual...? I.e. the orbiter in the home theater or living room is probably used most often for entertainment, so while it should be able to control the whole house, it would make sense for the on-screen real estate to be primarily dedicated to home entertainment... orbiter by the door is probably for entry/exit/security... an orbiter in the kitchen is probably all about food, and morning routines i.e. kids off to school.

Anyway, I'd LOVE to have some help cooking - and I'm a great chef (per my girlfriend, ha ha) and believe LMCE has the guts to control my kitchen as well as it does the rest of the house.

Roger
some noob user who loves good food
Title: Re: Integrated Recipes Module
Post by: tschak909 on March 16, 2009, 09:05:34 am
Indeed, some interesting devices could be made for in-kitchen use pairing them up as sensor combos and simple relay control.

As for separate screens, I think that we could look to see how to best implement a room override for the Screen_Designobj table, (Screen_DesignObj can be used to place overrides for a given screen on a per-skin basis.)

At the very least, you can set PK_Screen values in the web admin by going to Advanced > Configuration > Devices, and change the PK_Screen number to another screen in the Screen table, a new screen would have to be created using ScreenGen, Since this would be a control screen, I don't see a need to implement any custom screen handlers.

Just some thoughts,
-Thom
Title: Re: Integrated Recipes Module
Post by: bulek on March 16, 2009, 10:57:44 am
Indeed, some interesting devices could be made for in-kitchen use pairing them up as sensor combos and simple relay control.

As for separate screens, I think that we could look to see how to best implement a room override for the Screen_Designobj table, (Screen_DesignObj can be used to place overrides for a given screen on a per-skin basis.)

At the very least, you can set PK_Screen values in the web admin by going to Advanced > Configuration > Devices, and change the PK_Screen number to another screen in the Screen table, a new screen would have to be created using ScreenGen, Since this would be a control screen, I don't see a need to implement any custom screen handlers.

Just some thoughts,
-Thom

Hi,

I agree. This would be great enhancement, not only for recipes, but also for other things that provide content to user...

Regards,

Bulek.