FoodNoms 2: Feature Overview
FoodNoms 2023.1, aka "FoodNoms 2", is now available and jam-packed full of new features. Whether you are a long-time user of the app or someone who just heard of it, I hope you enjoy the update.
This blog post serves as an overview of the major new features. You can jump around to different points using the table of contents below.
Table of Contents
FoodNoms runs on iPhone, iPad, Apple Watch, and Macs. All platforms have received a design refresh. The Home Screen widgets have also received a refresh – especially the Goals Summary widget.
Here were my goals for the design of FoodNoms 2:
- Uplevel the iPad and Mac experience: scale horizontally with grid layouts, use popovers when appropriate, and introduce more keyboard shortcuts
- Improve the usability of goals:
- Decrease the cognitive load required to evaluate which goals you have met and which you haven't
- Decrease the frequency of using the goal type icon alone to represent a goal
- Add more unique goal type icons
- Make it easier to parse range goals
- Improve the usability of the food log UI with a focus on meal types
- Improve accessibility: increased color contrast, dynamic type support
- Modernize the look and feel where appropriate
- Retain and improve information density
- Offer more customization options
- Perhaps most importantly, retain the spirit of simplicity that FoodNoms is known for
These goals presented some pretty challenging constraints. I'm quite pleased with where it all ended up. My hope is that you find the resulting changes subtle and familiar, but meaningful.
Bidirectional Apple Health Syncing
Previously, you could allow FoodNoms to write nutrition data to Apple Health. Now you can also allow FoodNoms to read nutrition data from Apple Health.
There are a variety of use cases for this feature. Here are some of the ones I've heard and/or used myself:
- Some people prefer to use a dedicated water tracking app or a smart water bottle (e.g. HidrateSpark) to record their water consumption. With bidirectional Apple Health syncing, water data logged in other apps will show up in FoodNoms and count towards your FoodNoms water goal.
- Several meal subscription services (e.g. HelloFresh) offer the ability to quickly log meals to Apple Health. Previously, FoodNoms users would need to create a custom food or quick entry to manually record the nutrition facts from these meals. Now that's no longer necessary, thanks to bidirectional Health syncing.
- It's now possible to use another app, e.g. Lose It! or MyFitnessPal, to look up and log certain food items which aren't available in the FoodNoms database. If you have configured these apps to write to Apple Health, these items you record in other apps will now show up in our FoodNoms food log and count towards your goals. Note, some apps do a better job than others when it comes to the quality of the data recorded to Apple Health, but FoodNoms tries to do its best with what's available!
To enable bidirectional Apple Health syncing, go to the Settings tab > Apple Health > Read Nutrition Data. This feature requires FoodNoms Plus.
Custom Meal Types
Previously, FoodNoms offered 6 built-in meal types. These couldn't be renamed or removed, and you couldn't add any additional ones. Now you can create an unlimited number of meal types and completely disable any of the built-in ones.
Meal types are a lot more useful in FoodNoms 2. For example, there's a quick-add button displayed for each meal type in your food log, which allows you to quickly copy over what you last ate for that respective meal type:
Meal types can optionally have a time range. If enabled, food logged within these times will assume the corresponding meal type.
You can decide if you want meal types to always show up in your food log, which shows a section with a quick-add button, or only appear if a food has been logged with that meal type on that day.
Meal types are re-orderable. Unlike FoodNoms 1, foods with the same meal type are always grouped together (which is a small detail I'm sure some will appreciate!).
Custom meal types require FoodNoms Plus.
Encrypted iCloud Syncing
FoodNoms 2 takes advantage of a CloudKit feature released last year: encrypted fields. FoodNoms now automatically encrypts your food log, library, meal types, and goals before uploading to iCloud. And with Apple’s newly announced Advanced Data Protection for iCloud enabled, this data is also end-to-end encrypted.
What is encrypted:
- Food and brand names
- Nutrition data, including amounts and portions sizes
- Goal configurations
- Energy burned data
- Custom meal types
Metadata like timestamps, days, and unique identifiers are not encrypted.
FoodNoms 1 had favorites, but it wasn't a very popular feature. Which is understandable, due to a few major issues:
- It required an extra tap to view the list of favorites
- Favorited recipes and library food were essentially snapshot copies; so if you ever went back to edit the original in the library, the favorite wouldn't update
- You could not favorite saved meals
- There wasn't much benefit to navigating to favorites instead of navigating to your library or searching
I blame the lack of adoption on the design and implementation. I never doubted that there was a strong use case. Everyone has a few things they frequently eat or drink multiple times a week, if not multiple times a day.
I'm happy to share that favorites in FoodNoms 2 has been completely rethought and redesigned. Each individual favorite is customizable with 250 different icons and 12 color options. Meals can now be favorited, and favorites referencing to anything in your library will be automatically updated whenever the underlying item is edited.
One of the nicest features is the ability to set preset portion sizes for favorites. When you tap on a favorite with a single preset, the favorite will be logged it immediately without any additional prompts or screens. If there are multiple presets, a dropdown menu appears instead.
There is a new menu option to quickly add any food to your Food Library, if you prefer an experience similar to how favorites worked in FoodNoms 1.
Favorites require FoodNoms Plus.
Smart Suggestions v2
Smart Suggestions has existed since the first version of the app. It's a "sleeper" feature – I often don't hear much about it, but it's actually quite popular. In fact, it's the second-most common way for users to log food today in FoodNoms 1.
The problem with Smart Suggestions was that the more you use it, the less smart it gets. This was due to a flaw in the underlying algorithm.
Smart Suggestions was one part of the app that I felt the least proud of – almost to the level of embarrassment. I didn't like marketing a feature that didn't live up to its name.
Smart Suggestions v2 has the same exact interface as v1, but everything under the hood is brand new. It's now based on a popular algorithm used for recommendation systems (think "for you" sections in websites and apps like Amazon and Netflix).
I've personally been using Smart Suggestions a lot more with v2, since it tends to nail the recommendations 9/10 times. I've been delighted to hear similar experiences from others in the beta, with one person telling me "the smart suggestions seem immensely better." I hope you will feel the same!
Database Search Improvements
If you've been following along the FoodNoms journey, you'll know the database has always been an area of focus. In the past I've primarily focused on one aspect – the quantity of branded food items with barcodes. One area I've neglected is the search experience for when you type into the search bar. Up until now.
The Search UI
With FoodNoms 2, the search experience looks quite different. Now you'll find four tabs at the top: "All", "Generic", "Branded", and "Library".
"All" is the default, containing multiple sections including the "Previously Logged" section.
Although the Library view has its own dedicated search, people often (reasonably) expected library items to show in global search as well. Now you'll find matching saved foods, recipes, and meals in the "All" and "Library" tabs.
Separate Generic and Branded Foods
When searching for food items from the database that you haven't logged before, you'll find that generic foods are now separated from branded foods. This was a popular feature request, and in practice I've found it makes quite a meaningful difference on the perceived quality of the search results.
Search results are now served from multiple nodes around the globe – one in California, one in Australia, and one in the UK. This should have a meaningful impact on users across the world, especially those outside the US.
Disregarding network latency, the new search infrastructure is able to search across hundreds of thousands of items in a few milliseconds, versus hundreds of ms before.
No matter how good the database is, if the first five results that appear from a particular query aren't any good, people will think that the entire database is bad (understandably!).
The new search backend is much better at ranking items in a few ways. It's resistant to typos and it takes into account the popularity of an item. It also has better ranking smarts, in general.
In addition, the new system allows me to manually override and curate the top results for super-popular queries. So if you see a search query that you think could be improved, please let me know and I'll take a look.
Improvements for Users Outside the US
There are two major improvements for non-US folks.
First is a new option to use salt instead of sodium throughout the app. This setting can be changed at anytime from Regional Settings.
Second is the ability to edit foods based on an 100g amount. Some parts of the world often label their foods with a 100g serving size. Sometimes there may an additional, alternative portion size provided or implied.
FoodNoms 1 supported creating foods based on 100g/mL values. However if you ever needed to edit that food, the values would be converted to the serving size amount. This would be a pain for anyone who needed to edit a food with a 100g-based label. Now with FoodNoms 2, you can set what the nutrient values are based on at anytime.
Automatic Calorie Goals
Historically, FoodNoms has offered three basic "modes" for nutrition goals: budget, target, and range. Budgets should be used if you want to limit consumption, targets for targeting a minimum amount, and range for a combination. You have to calculate and input what you want these goal targets should be – the app wouldn't do it for you.
These settings offer a great amount of flexibility and control, but they can be confusing to new users who simply want to focus on their calorie intake. These users just want to be told what to do – the app should do the math!
Over time, I've introduced new features to calculate what your calorie goal should be. First, I offered this calculation only in the initial onboarding flow. In later updates, I allowed you to re-run the onboarding flow to regenerate a new set of recommended goals. This solved the problem, but it wasn't a great user experience.
Calorie goal calculation is finally a first-class citizen in FoodNoms, which means you can configure the goal based on your body profile instead of inputting a specific amount of calories.
Resting Energy Data from Health
Instead of estimating your resting energy burned based on your weight, height, sex, and age, you can opt to use the resting energy burned data from Apple Health instead.
Have you ever noticed the "TOTAL" number displayed in the Apple Fitness app? This should (roughly) match Apple Health's resting energy + active energy burned totals.
It's now possible to use this number as the base for your calorie goal. Simply configure both your resting energy and active energy to be calculated using data from Apple Health.
Using resting energy data from Health requires FoodNoms Plus.
Percentage-Based Macro Goals
You can finally configure your macro goals relative to your calorie goal. This is great because a) it requires less math and b) your macros can adjust dynamically whenever your calorie goal adjusts based on active energy (if enabled).
The option to set your macro goals to specific gram amounts is still possible.
New Goal Recommendations
Have you ever wanted to track your macros or some other nutrient, but you weren't sure what to set for your goal? FoodNoms now offers suggestions when you create a new goal, based on published dietary guidelines from the USDA, HHS, FDA, and the CDC. Here's what they look like:
These recommendations are available for the following goal types: water, fiber, fat, protein ,carbs, sodium, saturated fat, caffeine, added sugars, and alcohol.
macOS Catalyst App
Previously, Apple Silicon Macs could run FoodNoms as an "iPad app on Mac" app. Now, FoodNoms is an actual true Catalyst app, which adds support for Intel machines and introduces several UI enhancements that make it feel more like a Mac app.
Note it's still an iOS-first app, so don't expect a true 100% Mac-like experience. That said, with some of the design changes and new keyboard shortcuts, I think it's a great option if you want to review your nutrition goals or log what you eat on your Mac.
Other Changes of Note
- Food log CSV export. Accessible from Settings > Data & Storage > Data Export.
- New intermittent fasting options. Set the fast breaking amount and maximum fast duration in Settings > Goals.
- Option to disable timestamps. Accessible from Settings > Food Log.
- Display goals as a scrollable section in the food log. Ever wanted a higher-density view of your goals in the food log tab? Instead of displaying your goals in a grid, you can have them shown in a horizontal scrolling section. You can find this setting in Settings > Food Log.
I hope you enjoy the update, and I hope this overview has been useful for you.
If you have any specific questions, please feel free to email me at email@example.com. If you have feedback about the app or the update, please share with me at firstname.lastname@example.org.
Stay safe, and best of luck with your nutrition goals!