Get to Food[]
This App helps people out organising a diner.
Your sitting together with some friends and are talking about a diner you are going to have in two weeks. Everybody is complaining about what they dont wanna eat and none wanna cook.
There you can use this App, everyone can fill in a list what they dont like, with flavour or allergy. Then you can make a preference what you like to eat. Because you are sitting together you can use NFC to give your list to everyone else. A recipe will roll out, taken into account, that not everyone likes certain things. To cover the last question; Who is going to cook? A chef will be appointed by the App.
The Creators[]
Hugo Visser (Developer)
Ilja Smoltsak (Developer
Gregor Doornbosch (Designer)
The final status of Food! at the end of the Amsterdam hackathon on Sep 14th 2012.
Technical Stuff[]
App APK: https://www.dropbox.com/s/fmu22p1pqllnysk/wasabi.apk
We pass the ingredient preferences through NFC to each device. So the receiving device knows of the preferences of all persons / devices that the sending device has seen. We also sync this up to a server to synchronize all clients using push notifications.
Backend
We have a python backend running on app engine. When users start the app, they can input their name and preferences. This gets sent to the server, along with a Google Cloud Messaging id. When users use their phone to beam (or 'kiss'), they send the information for this kiss to the server. The server aggregates all this information to compile a group. Imagine 6 people at a table, A, B, C at one end, and D, E and F at the other.
Possible beam actions could be:
A+B, B+C (ABC are in 1 group)
D+E, E+F (DEF are in 1 group)
Now A and D beam, their groups get combined into one.
Whenever two people beam, the group could get bigger, and the server sends a Cloud Message to all people involved, asking them to query the server for the updated group. This allows the app to show in realtime how the group grows. Someone at the table could beam once, and see updates rolling in while the others are busy beaming.
When someone sees that everyone is in the group (time to "Pick a chef"), he can push the button. The server will then randomly pick one of the participants, decide on a recipe (depending on people's food preferences) and send a new message to all devices, informing them who is the chef, and what he or she will cook.