• If you are experiencing issues logging in, we moved to a new and more secure software and older account passwords were not able to be migrated. We recommend trying to reset your password, then contacting us if there are issues.
  • Nearly done! Migration cleanup is mostly done. There are a small number of issues left that we continue to work on, but all the heavy lifting is done. We still would love to hear feedback over at this thread and also check out the new XDA app! Thanks and we hope you enjoy the new forums, and thanks for your support of XDA <3

[COMPETITION] Food Baby - a nutrition and virtual pet watchapp

cheniel

Member
Jul 25, 2014
13
2
0
San Francisco



Food Baby is Pebble's first nutrition app. Part-nutritionist, part-digital pet, Food Baby's goal is to motivate healthy choices through the raising of a virtual pet. As such, your healthy habits translate to both your well-being and your pet's happiness. Logging your food intake into major food categories "feeds" the pet. The pet provides recommendations for what to eat next to maintain a balanced diet.

Check the project out on the Pebble App Store!
Check the project out on Github!

About me:
I'm a 3rd year CS student at Dartmouth College. I have exams for the first part of the project, but expect to see a lot of updates during the latter half of the competition. Here is my personal website.

Special thanks to my sister, Amy, for helping with sprites and icons.

XDA:DevDB Information
food baby, ROM for the Pebble

Contributors
cheniel

Version Information
Status: Stable

Created 2014-08-18
Last Updated 2014-09-05
 

Attachments

  • Like
Reactions: Erovia

cheniel

Member
Jul 25, 2014
13
2
0
San Francisco
First update:



Time operations working, window stack set-up. Need more work on sprites. No actual recommendations yet, just figuring out dimensions and whatnot. Won't be able to do much more this week. Got exams and final projects, but stay tuned for more!
 
Last edited:

cheniel

Member
Jul 25, 2014
13
2
0
San Francisco
Finals have finally ended, and I'm going to start developing a lot more these next couple days. Here's an updated home screen with menu icons and one of many preliminary sprites.



Going to start working on data storage and recommendations soon.
 

cheniel

Member
Jul 25, 2014
13
2
0
San Francisco
Started working on the log screen where users will log the servings of food that they are eating in terms of food groups. Here's a screenshot:



The examples for each food group are randomly generated from a list of eight, just to mix things up and give some ideas for food. The food groups are ordered in terms of greatest to highest number of servings expected.

When the user logs food in this interface, the app will go back to the home screen and some animation will play where the food baby eats the food and gives feedback.
 

cheniel

Member
Jul 25, 2014
13
2
0
San Francisco
Finished the log view screen, added logging of water and activity, however data does not yet persist.



Next up is to set up logging for the rest of the variables, having it persist, and then having it reset on a daily basis.
 

cheniel

Member
Jul 25, 2014
13
2
0
San Francisco
added resetting of data and automatic sidebar hiding, among other things, significantly cleaning up the interface.

Here is the new home screen:


pressing a button now displays the sidebar for two seconds, then it goes away.

The home screen looks a lot better now, definitely looking to get a larger / better looking sprite now.
 

cheniel

Member
Jul 25, 2014
13
2
0
San Francisco
Haven't been able to do much dev, on vacation for the weekend but I've been testing the app out. All of the food logging is enabled and recommendations are being given. Found a couple minor bugs and oversights but nothing serious. Definitely found it useful in deciding what to eat and was surprised by what my daily food intake looks like.

The app is nearly done, I just need to animate the sprite depending on the user's intake. I've decided I will have four different states:
- sluggish and sad. Occurs before the user has done much eating and hasn't satisfied any food groups. The sprite will drag itself back and forth across the ground.
- content. The sprite starts to bounce and smile. occurs when some food groups have been satisfied.
- ecstatic. All food groups have been satisfied, the sprite bounces around a lot and has a bigger smile.
- sleeping. The user simply hasn't moved in a while (based on the trigger of the tap_handler)

Definitely check it out on Github (cheniel/food-baby) if you are interested in the app. The core functionality is done, it's just a matter of putting in the sprite and sprite animations.
 

Erovia

Senior Member
Sep 16, 2012
820
262
0
@cheniel: You know, I really like this idea.

I have one huge request: make it work without always running it

I know it's pretty hard, because apps can't run in the background, but maybe with a companion mobile app, you can log the watchapp open/close events and calculate hunger/etc from the elapsed time.

I'd really love to use this watchapp, but I wouldn't leave a dedicated watchface for anything.
 
Last edited:
  • Like
Reactions: cheniel

cheniel

Member
Jul 25, 2014
13
2
0
San Francisco
@Erovia: Hey! Thanks for the feedback. Glad to hear you like it.

The app is actually designed to work without having it running all the time. The recommendations are given based on the user's food intake so far for the day, and serves up recommendations for what to eat next based on what is lacking. "Hunger" isn't calculated based on elapsed time since last eating (I want to app to work with as flexible eating schedules as possible, and people can judge hunger for themselves). The baby's happiness is based on how balanced the user's diet is. Basically it's an application to get a recommendation for what to eat when you do want to eat, not an application that tells you when and what to eat.

I use the persistent data API to store info about the user's food intake, and reset it on date change.

In terms of a companion app, I'm definitely considering it. It'd be awesome to look at data over time.
 
  • Like
Reactions: Erovia

Erovia

Senior Member
Sep 16, 2012
820
262
0
@cheniel: Awesome. Now I'm sure I'd use is. I think you should mention this information in the OP because it's a major selling-point for many people.

Are you planning to release a public beta or something?
 

cheniel

Member
Jul 25, 2014
13
2
0
San Francisco
@Erovia Thanks! Good catch. Didn't realize my original post was out of date with the current state of the project. Nothing official in terms of a beta -- I figure since the source is on Github and most people currently looking at the project are reasonably technical people, they can just build and install themselves. It'll be released in the Pebble app store before the end of the week.
 
Last edited:

cheniel

Member
Jul 25, 2014
13
2
0
San Francisco
I've begun working on animations for the sprite. Here is an example of sleep (actual sleeping sprite pending)



The ZZZs display one at a time then all go away.

Also, I have another update regarding the sprite. As you can see from the screens and the mockup, the sprite has gone through quite a number of iterations. For the final app, I’ve opted for a more simple, minimalist approach of just a simple pyramid that bounces and slides around.

The sprite is partially inspired by research by Thalia Wheatley on motion, where manipulation of a single ball had to ability to convey emotion. For those who are curious, she talks about the work starting around 5 min in this video: http://thesituationist.wordpress.com/2013/08/21/wegstock-11-thalia-wheatley/
 

Erovia

Senior Member
Sep 16, 2012
820
262
0
I compiled it and I like it so far. :)

I also uploaded the pbw file, in case someone wants to try it but can't (or don't want to) compile it, I hope you don't mind.
If someone wants to use it with AutoPebble, the app's uuid is: a68ca36b-c578-4c3b-85f7-f4d02e9e283c
 

Attachments

  • Like
Reactions: cheniel

cheniel

Member
Jul 25, 2014
13
2
0
San Francisco
The app is pretty much finished! Changed up a bunch of the sprites and bitmaps, fixed a crashing bug, and I will be releasing the app to the app store tomorrow.

Here's some final screens:


sleeping baby. occurs when the user hasn't shaken the pebble or pressed a button in 7 minutes. The Zs are animated to display one at a time, and then they all go away and restart.


sad animation. the baby paces back and forth.


sad animation showing the sidebar


view of app before opening, including icon


content baby. It jumps around the screen (see next)


content baby mid-jump


happy baby, also jumps around screen (see next)


happy baby mid-jump


portion of food selection menu -- you can see the reset option poking in at the bottom


the log view screen, where you can see the raw data of today's current servings
 
Last edited: