1. Notes from day 1
Goals for the hackfest
- Backend roadmap for recipes (data format + infrastructure)
- Roadmap for EKL for wider gnome adaption
- content generation in consumption
- Card emeus reconciliation roadmap (GTK 4)
- Collecting Indonesian Recipes
- Add endless content to the recipes (articles, techniques, design updates)
- validate ui tools with an app like recipes
1.1. Demo time
We started the day off with Matthias and Philipp giving quick walkthroughs of gnome-recipes and the endless cooking app.
The demo morphed into a discussion of various technical bits of endless knowledge apps.
Key aspects:
- Apps are code-less, there is some metadata to populate a template, and the content gets created from a list urls, by downloading them, extracting some metadata, and turning it into a 'shard' (a single, binary blob format). The shard gets distributed as a flatpak app extension. There is also a way for the app to subscribe to content updates.
- shards contain xapian indexes and the endless libs have apis for querying the data
- The endless cooking app has content that is taken from the wikihow website. It has not just recipes, but instructions, techniques, tools, and general food-related topics. But the content is treated like web content. This will work for readonly things, but for recipes that we want to support creating and editing, we may need to add a different datatype, more like the one currently used in gnome-recipes.
We had some more concrete discussion on how to make gnome-recipes use shards. There's several separate things here:
- Use shards for the extra content that is not recipes (will need some design for how to make such content appear in gnome-recipes)
- Use shards for recipes itself. We need a way to not just use it for readonly
1.2. Afternoon discussion
Topic: Concrete steps for making gnome-recipes use shards
- Convert the existing recipe data into a shard (or multiple shards)
- Write code to make gnome-recipes use the data from shards instead of the current storage layer
- Write code to make gnome-recipes store local recipes in shard format
- Turn the current shared data into a flatpak app extension and put it on flathub
- Experiment with a portal for updates and data extensions
- Release process on flathub including shards and app extensions
- Work out how to process user-contributed recipes
Idea: aim to have a version of this done by Guadec, and present this as "Here is how you can use the endless content technology in GNOME apps"
Topic: Indonesian recipe pack
- Questions: how do we get local recipes ? Contests
- Do we target a region or a language ? Both
- How do we expose this to the user ? Preferences
Contest
- Native language first ?
local team -> English
- other languages as appropriate
- rules for criteria - Emel
Actions
- recipes collection hackfest in Indonesia - Rama
- recipes collection hackfest in Turkey - Emel
- style guide / content guidelines - Emel
- markup documentation (in the app)
- blog post about contributions - Matthias
- content language for GNOME ? needs design discussion - Matthias, Elvin
- mail to translators - Matthias
E-K-L for wider gnome adaption
Backend
- Front-end elements
- Templating/declaritive UI system:
- Needs design/use cases
- Not for gtk4
- Perhaps for gnome content apps
EKL components
- Cards
- Arrangements (layout for cards)
- Views (article, video, audio)
- Lightbox
- Content groups (arrangement, selection)
- selection (query, filter, order)
Gnome Recipes Components
- Lightbox
- Fixed size containers
- Tiles, taken from gnome software
- Fixed size containers -different orientation for tiles -different size for featured tiles
- Image gallery widget
- List editor (the ingredients part) -reorder elements -edit + read only modes -custom ingredients row
- Recipe cooking preview
- Timer
- Print formatting code