Terms
Description
Add an interactive, in-app tutorial that guides new users through Scribe's core features using a hands-on, guided workflow (not video-based). The tutorial would be accessible from the About tab and help users discover and try out the Scribe keyboard's commands: Translate, Conjugate, Plural and understand features like noun annotation.
The approach would be interactive rather than a passive video users would actually try the features within the tutorial flow itself.
Figma designs for this feature already exist in the public Scribe designs file under the Tutorial frames (covering both light and dark themes).
Proposed Solution
Based on the Figma designs, the tutorial would consist of five main screens:
- Tutorial Home (Screen 0.0) — Accessible from the About tab. Shows an introductory message, a list of four tutorial chapters the user can tap individually, and a "Start full tutorial" button for users who want to go through everything sequentially.
- Noun Annotation Chapter (Screens 1.1–1.3) — Interactive practice where users are asked to type specific German nouns ("Vater", "Mutter") and observe the gender tags appearing on the keyboard's top bar. Validates input in real-time with green success messages or red error prompts.
- Word Translation Chapter (Screen 2.0) — Instructional screen showing how to use the Translate command via the Scribe key.
- Verb Conjugation Chapter (Screen 3.0) — Instructional screen showing how to use the Konjugieren command.
- Noun Plurals Chapter (Screen 4.0) — Instructional screen showing how to use the Plural command.
Additional screens:
A "Non-Scribe keyboard" error screen shown when the user has a non-Scribe keyboard active during the tutorial, prompting them to press the globe icon to switch.
Implementation Details
The tutorial would be built using Jetpack Compose to align with the project's existing UI architecture. Key components would include:
A TutorialHomeScreen composable for the landing page with chapter list
A reusable TutorialStepScreen composable for the interactive lesson screens with input validation logic
A TutorialNavigator composable to manage navigation between chapters and steps (supporting both individual chapter selection and full tutorial mode)
A WrongKeyboardScreen composable for the keyboard detection error state
Keyboard detection using Settings.Secure.DEFAULT_INPUT_METHOD to determine if the active input method is a Scribe keyboard
The tutorial would support both light and dark themes, matching the Figma designs.
Contribution
I have already started implementing this feature and have an initial working version. I would love to be assigned to this issue to see it through to completion. We can also migrate the tutorial text strings to the Scribe-i18n system in a follow-up PR for localization support.
The Verb Conjugation chapter currently functions as instructional-only, since the Scribe-Server verb conjugation data issue is being resolved separately. Once that's fixed, the chapter can be expanded into an interactive exercise similar to Noun Annotation.
Tutorial text is currently hardcoded in English and would benefit from being moved into Scribe-i18n as a follow-up task.
Terms
Description
Add an interactive, in-app tutorial that guides new users through Scribe's core features using a hands-on, guided workflow (not video-based). The tutorial would be accessible from the About tab and help users discover and try out the Scribe keyboard's commands: Translate, Conjugate, Plural and understand features like noun annotation.
The approach would be interactive rather than a passive video users would actually try the features within the tutorial flow itself.
Figma designs for this feature already exist in the public Scribe designs file under the Tutorial frames (covering both light and dark themes).
Proposed Solution
Based on the Figma designs, the tutorial would consist of five main screens:
Additional screens:
A "Non-Scribe keyboard" error screen shown when the user has a non-Scribe keyboard active during the tutorial, prompting them to press the globe icon to switch.
Implementation Details
The tutorial would be built using Jetpack Compose to align with the project's existing UI architecture. Key components would include:
A
TutorialHomeScreencomposable for the landing page with chapter listA reusable
TutorialStepScreencomposable for the interactive lesson screens with input validation logicA
TutorialNavigatorcomposable to manage navigation between chapters and steps (supporting both individual chapter selection and full tutorial mode)A
WrongKeyboardScreencomposable for the keyboard detection error stateKeyboard detection using
Settings.Secure.DEFAULT_INPUT_METHODto determine if the active input method is a Scribe keyboardThe tutorial would support both light and dark themes, matching the Figma designs.
Contribution
I have already started implementing this feature and have an initial working version. I would love to be assigned to this issue to see it through to completion. We can also migrate the tutorial text strings to the Scribe-i18n system in a follow-up PR for localization support.
The Verb Conjugation chapter currently functions as instructional-only, since the Scribe-Server verb conjugation data issue is being resolved separately. Once that's fixed, the chapter can be expanded into an interactive exercise similar to Noun Annotation.
Tutorial text is currently hardcoded in English and would benefit from being moved into Scribe-i18n as a follow-up task.