open-standards/aac/aac-rs/tools/pagesets/DESIGN-intent.md
Transaction Science 7c29c52054 feat(aac pagesets): four phrase page sets, built from readable sources, in English and ten languages
Our own page sets for the reference app and any Open Board Format app:

- Adult conversation (41 boards): an always-row (Back, Yes, No, I don't
  know, Wait), a 0-10 scale, pain, comfort and feelings scales, repairs,
  word finding, six scripts as one-press-per-line sequences, cards that
  explain aphasia, ALS/MND, PPA, brain injury and Parkinson's in the
  person's own voice, care, positioning and breathing requests that
  claim nothing is sent, life-story and people templates for the
  person's photos, a page for banked messages, and a staged plan for PPA
  written for partners.
- Intent first in 12, 20 and 40 cells: start pages by purpose, predictable
  branches, operational commands in one place on every page, popups that
  close after a choice, and page numbers for a printed partner book.
- Themed phrases: nine 6x3 pages of starters, words and messages.
- First switches and messages: one-message pages, sequences, press for
  fun, two and four choices, and learn-to-scan pages.

tools/pagesets/phrases/build.py validates the YAML sources (layout,
links, symbol concepts, proprietary names, medical-claim wording) and
writes the packages, a catalogue and the licence into --out DIR,
reproducibly; --check fails on a non-reproducible build or stale reports.
Packages are generated by the site build, not committed.

Every text was drafted, back-translated by a reader who never saw the
English, and judged, in up to three rounds: 10,748 of 10,750 agreed
(es fr de pt it zh ja ar hi ru), recorded per text as "agreed by two model
readers; native review pending"; the two others stay in English, marked.

A new aac-core test runs the generator, then imports every package with
the app's importer and an independent OBF validator, and checks structure,
links, symbol references, that no language moves a cell, that each cell is
in one language and says so, and that translated cells import as the
person's own words with their chosen symbols.

The design notes propose (not implemented) a sequence extension, popups,
speak-only pages, links that say words and one-target scanning, with SPEC
text, and how the chooser should offer each set.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-05 12:18:45 -04:00

9.3 KiB
Raw Permalink Blame History

Intent first: pages that start from what the person wants to do

intent-12.obz, intent-20.obz, intent-40.obz, built from phrases/sources/intent.yaml. Shared conventions: DESIGN-phrases-common.md.

Where the idea comes from, and what is ours

Pragmatically organised communication books — the best known is PODD, by Gayle Porter (PODD® and its templates © Gayle Porter) — start each message from its purpose (to tell, to ask, to complain, to request) rather than from a category of words, branch predictably from there, carry operational commands on every page, and are built to be used on paper with a partner as well as on a device. Those principles are published practice (report §2.2). The PODD name, templates, page layouts, wording and page names are not used here, and nothing on any board is named after it. Every page, page name, word list, position and colour in this set was written for this project. (The app's old "PODD-inspired" label in defaults.rs should go, as the report says; it is not this set.)

Start from the purpose

The Start page holds the intents. Each intent says its opening words and opens the page with the rest:

Intent Says Opens
I want to tell you something "I want to tell you something." Tell: what kind of news, about whom, where, when; "Guess!", "Ask me questions to find out."
Something's wrong "Something's wrong." Wrong: it hurts → body; I feel sick → symptoms; something's broken → what and how; how bad; help, stop, too hot / cold, hungry, thirsty, tired, bathroom, someone is bothering me, …
I have a question "I have a question." Question words and common questions; "Can I …?" → things to do
I want something "I want" Want: to eat → food; to drink → drinks; to go → places; to do something → things to do; someone → people; a thing → things; more, help, a break, a hug, to rest, to stop, …
Let's chat — Chat: greetings, comments, turn-taking, "Tell me more."
I want to go somewhere "I want to go" Places
Let's do something "Let's" Things to do
How I feel "I feel" Feelings
Yes, no, maybe · When · Describe it · People — the matching pages
More words — an index of every word page

So "I want" + "to eat" + "an apple" builds I want to eat an apple; "Something's wrong." + "It hurts." + "my head" + "A lot." builds the complaint a partner needs. A link that also says words uses the proposed ext_aurasense_link_says (the words go into the message, then the page opens). Until the app has it, the link opens the page and the page's words carry the message.

Predictable branches. "Something's wrong" always leads the same way: It hurts → the body page; I feel sick → feeling-sick messages; Something's broken → the broken things and "It's not working.", "It's stuck.", "It needs charging.", "Please fix it."; How bad → a little / a lot / very bad / getting worse or better / comes and goes. Branches never loop back to a different place: after a body part, the popup closes and the person is back on "Something's wrong", where How bad is.

Operational commands, in the same place on every page

Each size has a frame: the commands, in the same cells of every page, coloured grey. The test checks that each is in one place throughout a book.

Size Grid Left column, top to bottom Bottom right
12 3 × 4 Back to the start · Oops, that's a mistake · I'm finished Turn the page (when a section continues)
20 4 × 5 Back to the start · Go back · Oops, that's a mistake · I'm finished Turn the page
40 5 × 8 Back to the start · Go back · Something's wrong · Oops, that's a mistake · I'm finished Turn the page
  • Back to the start: to the Start page (on Start itself, the place stays empty).
  • Go back: to the page this section is reached from (20 and 40).
  • Something's wrong (40): so a complaint is one press from anywhere.
  • Oops, that's a mistake: removes the last word (:backspace). On paper, it tells the partner to drop the last thing they said back.
  • I'm finished: says the whole message (:speak). On paper, it tells the partner the message is complete.
  • Turn the page: to the next page of the same section; on the last page, back to its first. On paper, it is the page-turn signal.

Popups close after a choice

Pages that complete a message — body, how bad, feeling sick, broken things, places, food, drinks, things to do, people, feelings, yes/no/maybe, when, describe it, things — are popups (ext_aurasense_behaviour.after_choice: "return"): after a word is chosen, the app returns to the page that opened the popup (its continuation pages count as the popup). The person can turn popups off in their settings (proposed SPEC §2.3), and a person who has chosen "After a word on another board, go back to Home" (Track A) goes Home instead. Until the app has it, the popup stays open and the frame's commands lead on.

Three sizes from one set of sections

The sections are written once. The generator flows each section's items, in order, into the cells the frame leaves, row by row, and continues onto another page when a section is longer than a page. Items marked min_size: 20 are left out of the 12-cell book, so the smallest book has fewer words (and fewer page turns) rather than the same words spread thinly. Order is priority: the most needed words come first, on the first page.

12 cells 20 cells 40 cells
Content cells per page 9 (8 when continued) 16 (15) 35 (34)
Pages 33 32 21
Cells 366 495 468

The 40-cell Start page adds 21 single core words (I, you, it, that, here, want, like, go, get, make, look, put, open, turn, help, stop, more, all, not, different, good) from the Universal Core vocabulary (CC BY / BY-SA, words only), so a person can say what no page foresaw.

A printed book a partner reads from

Each board carries its page number (ext_aurasense_book.page: breadth-first from Start, continuation pages straight after their first page), and each link the page it leads to (ext_aurasense_book_goto), for the printing track to print as "→ 12". The layout is designed for partner-assisted scanning:

  • Visual scanning: the partner points along the rows; the person signals yes at the row, then at the cell. The frame is always the left column, so the partner can skip it or start with it.
  • Auditory scanning: the partner reads each row aloud, then each choice in the row the person picks. Items are ordered so that a row holds related words (the body page reads head, eyes, ears, nose, mouth, teeth, throat, neck, chest, …).
  • Eye pointing: large cells and few per page (12 or 20) suit an E-tran style frame or a book held up.
  • The Start page's description says this to the partner in plain words.

The printing track (aac/printing) needs only: the boards' grid.order, labels, colours, ext_aurasense_book.page, ext_aurasense_book_goto, and the pictures from the English package.

What a translation cannot fix

The starters build messages in English word order, and each language's drafter shaped its fragments to survive that (their notes are in phrases/translations/<lang>.json):

  • Spanish, Portuguese, Italian, French: activities are infinitives after "I want" / "Let's"; places carry their preposition ("al parque", "para o parque"); "to" is empty. Remaining seams: contractions (a el, à le), and a default gender where the next word differs (the themed Health page's French "My" became "Moi," with body words that carry their own possessive, after "Ma" + "ventre" was disputed).
  • German: verbs are infinitives ("Ich möchte" + "fernsehen"), destinations carry their preposition ("in den Park"); a few starters force a case or verb-final order the next word cannot follow, noted per item.
  • Russian: feelings follow «Мне» as -о words (грустно, страшно); things are accusative after «Я хочу»; some joins break case agreement and are noted.
  • Chinese: question starters use the A-not-A form (我能不能 + 去厕所) so they stay questions without a final 吗; place words carry their own verb (回家, 去公园).
  • Japanese: starters are said first as inverted predicates (ほしいです, 行きたいです) or topics (私は), so a combined message is spoken-inverted Japanese, understandable but not textbook order.
  • Hindi: verb-final, so combinations are telegraphic; a starter that forces a masculine form (मेरा, कैसा रहा आपका) was accepted where Hindi has no neutral form.
  • Arabic: feelings are verbal nouns after أشعر بـ; activities are verbal nouns, so "I want to" is أريد and "to" is empty.

Phrase cells (whole messages) do not have the problem. A language's own intent-first book would order its pages for its own grammar (the object first, then the want); that is design work for native speakers, best started from the 12-cell book.

Not yet

  • A keyboard page for spelling (the keyboard track).
  • Colour-coded partner-scanning groups beyond the row (e.g. coloured row numbers for "red row, third one"): a printing choice.
  • Photo pages for the person's own people and places: two fill-in cells in People now; more once Track B's photos are in.