Project Smoothie

From Open Food Facts wiki
Revision as of 17:53, 30 January 2021 by Teolemon (talk | contribs) (Initial proposition for a 2021 roadmap)

Summary

Project Smoothie is a new mobile application developed using Flutter. It is not aimed at replacing the current native Open Food Facts native apps but rather to bring a smoother user experience and a sleeker user interface through a cross platform application. Our goal is to attract a broad range of users and simplify the contribution process.

Overview

This mindmap presents the different functionalities we want Smoothie to cover. (priorities are marked with stars)

Smoothie personas mindmap
Smoothie personas mindmap

Roadmap

You can take a look at the project roadmap
The technical documentation has detailed problematics and the technical solutions we make to solve them.

2021 Roadmap brainstorm

  • Ship a first version of Smoothie that's able to hold water
    • Onboarding
      • Put in place a mechanism to explain the concept on first use, and to propose customizing
      • Reduce as much as possible the implicit (like gestures), and put as many in context hints as necessary if there's any left
    • Add a minimal road to score system to ensure a great experience, every single time (accessible from the scan screen by clicking on the (first-use vibrating) grey score to open a completion modal)
      • Add a NOVA addition modal (ingredient photo / extraction modal)
      • Add a Nutri-Score addition modal (nutrition input + hierarchical category picker)
      • Add an Eco-Score addition modal (hierarchical category picker + labels photo + packaging photo)
      • Show Robotoff questions on the full product page
    • Have a great, trustworthy product page
      • Ensure users can see the full list of ingredients + photo we have for ingredient-related attributes
    • Scan experience: the fastest and most customized in the West
      • Ensure users can dismiss a product from scan comparison system
      • Fix layout of the scan card
      • Allow to clean the scan experience
      • Add "Products that suit you" in the Personalized results below the actual scans, especially if there's only 1 scan. Allow to choose the category to look into (we don't know the category relevant for the user, or the main category of the product).
      • Fix the contribute mode (currently opens the product page)
      • Consider adding an offline scan mode so that we're the fastest scanner in the West (Neural scan + offline). This can be as small or as complex as we want. I would advise the minimal version we have for iOS, with a warning for personalization if we can't reach the server for some reason. (Some transient message "Waiting for full product to customize")
    • Personal search / Customized scan comparison: ensure excellent and actionable results
      • Allow to refine category (when generated from product page or scan)
      • Ensure Personal search takes into account country and available stores (so that users are not pissed off by recommandations not available to them)
      • Ensure duplicated products (variable weight) and old products are not shown
      • Provide a way to bookmark those interesting products (so that they can look for them later)
      • (Extra) Provide a way to take action on those interesting products (find availability offline or online)
    • Add some kind of product history and/or list system that can be shared with others
    • Profile
      • Point out that Smoothie is privacy first, something the profile section could make the user doubt about
    • Branding
      • Design an icon for Smoothie
      • Find a name for Smoothie (and change it in the app launcher)
    • Automate releases (Android, iOS)
  • Tooling
    • Add Sentry and Matomo to the app, so that we can iterate quickly
  • Extra
    • Add login/signup mechanism for contributions
    • Add gamification (badges)
    • Investigate in-app donations (Charles wants to do it)

Features specific

Navigation

We came up with a new navigation system specifically for Smoothie. Smooth navigation | Documentation

Personnalized ranking & filtering

We are building a new product ranking and filtering system that helps users to find the products that fit their needs. The processing is done locally in order to ensure data privacy. Personnalized ranking & filtering | Documentation

Tags Properties

Smooth App will use the new Tags Properties system to display information about labels, packaging etc.

Useful links

Dart plugin : openfoodfacts | Flutter Package
Dart plugin documentation : openfoodfacts-dart documentation
API documentation : Postman

Flutter SDK : Flutter website
Flutter plugins repository : Official repository