December 24, 2005 10:33 AM
I have a dream... a dream of owning a house that is completely networked with computers throughout. I want to have a digital recording media hub in whatever the main TV family room, wireless access for any laptop systems, the fastest ethernet I can get built into every room, a command center desk with multiple LCD displays in an office, and a ketchen computer terminal built into a wall or cabnet or something. Most importantly this digital dream house will be built without using ANY Microsoft technology. Idealy it will be a completely Macintosh powered house but I have no problem with using some Linux systems to get the job done, especially in roles that are transparent to the user like some kind of central server or database.
So the other day I was taking a shower thinking about my wired (and wireless) house. I just bought a cookbook the other day and I was thinking about how poorly organized cookbooks are. So I started thinking about my kitchen terminal - how can I improve the common cookbook. My solution: Create some cookbook software that can be used to enter, manage, and view recipes. I'm thinking that my kitchen computer will be something like a Mac mini that is built into a wall or something. Idealy I'd like to have only something like an LCD touchscreen built into a wall, cabinet, or countertop but that might be too hard/expensive. At first it will probably just be a normal LCD + keyboard and mouse - but touchscreen would be really cool. So I was thinking of designing my cookbook program with this in mind - read: big buttoms easy to touch/click with fingers and the ability to search through categories instead of typing in search strings when looking through the reciepes.
There are several ways one could implement a system like this. My first idea was to make it just a standard desktop application - built with the Cocoa framework on Mac OS X. All the reciepes would be stored on the user's system. Then I started thinking about making it into some sort of client/server model with a database of reciepes stored on some other computer in the house and the kitchen terminal only querying the server. But this might be too much of a custom approach and it might makes it to difficult to turn into a product that other people could use. Then I started thinking about just making it an internet application with something like PHP. Then I could have a database of reciepes that everyone on the internet could add to - so you wouldn't be forced to manually add reciepes to the program. Right now I'm thinking about using some combination of the first method (Cocoa Application) and internet database. I'd like to make it a Cocoa App because that would give me a lot more flexibility with the interface and the user wouldn't be locked out of their cookbook if the internet was down. I would like to have some sort of online reciepe database that the user could download reciepe files from.
I think there is probably software out there already that does something like this and I'm sure there are already online reciepe databases. I think I can come up with something that is a lot easier to use though, possibily leveraging the same algorithms Russ is talking about using for our organizer program to store reciepes in a kind of dynamic way. I'd like to have a lot of metadata so that the user can search by all kinds of things (nationality: Chineses, italian... type: dessert, breakfast, dinner,... ingrediants: chicken dishes, shrimp dishes...). It could be an interesting project.