Skip to content

Latest commit

 

History

History
511 lines (385 loc) · 12.4 KB

File metadata and controls

511 lines (385 loc) · 12.4 KB

Tense Scaling Analysis

Question: What about other tenses besides present? How will that scale/impact our current effort?


TL;DR Answer

Good News: Templates are tense-agnostic by design! 🎉

Impact:

  • Conjugations: Must add more data (manageable)
  • Templates: Can reuse the same templates across tenses
  • Effort: Minimal additional work for templates, moderate for conjugations

How Templates Work Across Tenses

Key Insight: Templates Are Reusable

One template works for ALL tenses:

// Single template
{
  "spanish": "{subject} {verb} español todos los días.",
  "english": "{subject_en} speak{s} Spanish every day."
}

Generates cards for multiple tenses:

Present Tense

  • Spanish: Yo hablo español todos los días.
  • English: I speak Spanish every day.

Preterite Tense

  • Spanish: Yo hablé español todos los días.
  • English: I spoke Spanish every day.

Future Tense

  • Spanish: Yo hablaré español todos los días.
  • English: I will speak Spanish every day.

Same template, different conjugations!


What Changes Per Tense

1. Conjugations (conjugations.json)

Must add: New conjugation data

Current Plan (Phase 1):

  • Present: 42 verbs × 7 subjects = 294 forms
  • Preterite: 42 verbs × 7 subjects = 294 forms
  • Future: 42 verbs × 7 subjects = 294 forms
  • Total: 882 conjugations

If we add more tenses (Phase 2+):

  • Imperfect: +294 forms
  • Conditional: +294 forms
  • Present Subjunctive: +294 forms
  • Imperfect Subjunctive: +294 forms
  • Total with all tenses: ~2,350 forms

Impact:

  • ✅ One-time data entry effort
  • ✅ Can be generated programmatically (regular verbs)
  • ✅ Manual verification needed (irregular verbs)
  • ✅ File size still small (~200-300KB for all tenses)

2. Time Markers (Optional Enhancement)

May need to adjust: Time expressions in templates

Some time markers are tense-specific:

Present Tense

  • todos los días (every day)
  • ahora (now)
  • siempre (always)

Preterite Tense

  • ayer (yesterday)
  • la semana pasada (last week)
  • anoche (last night)

Future Tense

  • mañana (tomorrow)
  • la próxima semana (next week)
  • pronto (soon)

Solution: Make time markers tense-aware

{
  "spanish": "{subject} {verb} español {time_marker}.",
  "english": "{subject_en} {verb_en} Spanish {time_marker_en}.",
  "time_markers": {
    "present": "todos los días",
    "preterite": "ayer",
    "future": "mañana"
  }
}

Impact:

  • ⚠️ Requires template enhancement
  • ⚠️ Not all templates need time markers
  • ✅ Can be added gradually
  • ✅ Templates without time markers work fine as-is

3. English Translations (Minor Adjustment)

May need to adjust: English verb forms

Current:

"{subject_en} speak{s} Spanish every day."

Enhanced for all tenses:

{
  "english_templates": {
    "present": "{subject_en} speak{s} Spanish every day.",
    "preterite": "{subject_en} spoke Spanish every day.",
    "future": "{subject_en} will speak Spanish every day."
  }
}

Alternative (Simpler): Use placeholder for tense:

"{subject_en} {verb_en} Spanish every day."

Then map verb forms:

{
  "present": "speak/speaks",
  "preterite": "spoke",
  "future": "will speak"
}

Impact:

  • ⚠️ Requires English conjugation mapping
  • ✅ Can be done programmatically
  • ✅ Much simpler than Spanish conjugations

Scaling Scenarios

Scenario 1: Keep Phase 1 as Planned (3 Tenses)

Tenses: Present, Preterite, Future

Template Work:

  • ✅ 94 templates work for all 3 tenses as-is
  • ⚠️ May want to add time markers (optional)
  • ⚠️ May want tense-specific English (optional)

Conjugation Work:

  • ✅ 882 conjugations (already planned)
  • ✅ Can be generated + verified

Card Output:

  • 42 verbs × 7 subjects × 3 tenses × 2 templates = 1,764 cards (if all selected)
  • Typical usage: 10 verbs × 5 subjects × 1 tense × 2 templates = 100 cards

Effort: Already accounted for in Phase 1 plan


Scenario 2: Add Imperfect (Phase 1.5)

New Tense: Imperfect (past habitual/descriptive)

Template Work:

  • ✅ Existing templates work perfectly
  • ✅ Imperfect describes habits/states (same contexts as present)
  • ✅ No new templates needed

Conjugation Work:

  • ⚠️ +294 conjugations
  • ✅ Imperfect is very regular (only 3 irregular verbs: ser, ir, ver)
  • ✅ Easy to generate

Time Markers:

{
  "imperfect": "cuando era niño" (when I was a child),
  "imperfect": "todos los días" (every day - same as present)
}

Effort: 2-3 hours (mostly data entry)


Scenario 3: Add All Common Tenses (Phase 2)

New Tenses: Imperfect, Conditional, Present Subjunctive

Template Work:

  • ⚠️ Subjunctive may need special templates (triggers)
  • ✅ Conditional works with existing templates
  • ✅ Imperfect works with existing templates

Conjugation Work:

  • ⚠️ +882 conjugations (3 new tenses)
  • ⚠️ Subjunctive has many irregulars
  • ✅ Can still be generated + verified

Subjunctive Template Example:

{
  "spanish": "Espero que {subject} {verb} español.",
  "english": "I hope that {subject_en} speak{s} Spanish.",
  "note": "Subjunctive trigger: espero que"
}

Effort: 10-15 hours (mostly conjugation verification)


Recommended Approach

Phase 1: Present, Preterite, Future ✅

Why these three?

  1. Present: Most essential, daily communication
  2. Preterite: Completed past actions (storytelling)
  3. Future: Plans and predictions

Coverage: ~80% of everyday conversation

Template Strategy:

  • Create 94 templates (as planned)
  • Design them to work across all tenses
  • Add time markers as optional enhancement

Effort: Already planned (3-4 weeks for templates)


Phase 1.5: Add Imperfect (Optional)

When: After Phase 1 is working

Why:

  • Very regular conjugations
  • Works with existing templates
  • Completes basic past tense coverage (preterite + imperfect)

Effort: 2-3 hours (just conjugation data)


Phase 2: Add Conditional & Subjunctive

When: After Phase 1 is proven successful

Why:

  • Conditional is easy (very regular)
  • Subjunctive needs special templates (triggers)
  • Completes intermediate-level coverage

Effort: 10-15 hours (new templates + conjugations)


Template Design for Tense-Agnostic Use

Best Practices

✅ Good: Tense-Agnostic Templates

// Works for any tense
{
  "spanish": "{subject} {verb} español.",
  "english": "{subject_en} {verb_en} Spanish."
}

// Works for any tense
{
  "spanish": "{subject} {verb} con mi familia.",
  "english": "{subject_en} {verb_en} with my family."
}

⚠️ Needs Adjustment: Tense-Specific Time Markers

// Present-focused
{
  "spanish": "{subject} {verb} español ahora.",
  "english": "{subject_en} {verb_en} Spanish now."
}

// Better: Make time marker dynamic
{
  "spanish": "{subject} {verb} español {time_marker}.",
  "english": "{subject_en} {verb_en} Spanish {time_marker_en}.",
  "time_markers": {
    "present": "ahora",
    "preterite": "ayer",
    "future": "mañana"
  }
}

❌ Avoid: Tense-Locked Templates

// Only works for present
{
  "spanish": "{subject} {verb} español en este momento.",
  "english": "{subject_en} {verb_en} Spanish right now."
}

Implementation Strategy

Minimal Approach (Phase 1)

Templates: Design to work across tenses (no time markers)

{
  "spanish": "{subject} {verb} español.",
  "english": "{subject_en} {verb_en} Spanish."
}

Pros:

  • ✅ Works immediately for all 3 tenses
  • ✅ No additional template work
  • ✅ Simple to implement

Cons:

  • ⚠️ Less contextual variety
  • ⚠️ No time expressions

Enhanced Approach (Phase 1+)

Templates: Add optional time markers

{
  "spanish": "{subject} {verb} español {time_marker}.",
  "english": "{subject_en} {verb_en} Spanish {time_marker_en}.",
  "time_markers": {
    "present": "todos los días",
    "preterite": "ayer",
    "future": "mañana",
    "default": "" // No time marker
  }
}

Pros:

  • ✅ More natural sentences
  • ✅ Contextual variety
  • ✅ Pedagogically better

Cons:

  • ⚠️ More complex template structure
  • ⚠️ Requires time marker mapping

Advanced Approach (Phase 2)

Templates: Tense-specific variations

{
  "templates_by_tense": {
    "present": {
      "spanish": "{subject} {verb} español todos los días.",
      "english": "{subject_en} speak{s} Spanish every day."
    },
    "preterite": {
      "spanish": "{subject} {verb} español ayer.",
      "english": "{subject_en} spoke Spanish yesterday."
    },
    "future": {
      "spanish": "{subject} {verb} español mañana.",
      "english": "{subject_en} will speak Spanish tomorrow."
    }
  }
}

Pros:

  • ✅ Maximum flexibility
  • ✅ Tense-appropriate contexts
  • ✅ Natural time expressions

Cons:

  • ⚠️ 3x template work
  • ⚠️ More complex to maintain

Recommendation: Hybrid Approach

For Phase 1: Minimal + Some Enhanced

Strategy:

  1. Most templates: Tense-agnostic (no time markers)

    • "{subject} {verb} español."
    • Works immediately for all tenses
  2. Some templates: Add time markers where natural

    • "{subject} {verb} español todos los días." (present)
    • "{subject} {verb} español ayer." (preterite)
    • "{subject} {verb} español mañana." (future)
  3. Implementation:

    • 70% tense-agnostic templates (65 templates)
    • 30% with time markers (29 templates)

Benefits:

  • ✅ Balances simplicity and variety
  • ✅ Most templates work immediately
  • ✅ Some templates provide contextual richness
  • ✅ Easy to expand later

Impact Summary

Template Creation Effort

Approach Effort Tenses Supported Quality
Minimal (tense-agnostic) 0 extra hours All Good
Enhanced (time markers) +5-8 hours All Better
Advanced (tense-specific) +20-30 hours All Best

Recommendation: Enhanced approach (+5-8 hours)


Conjugation Data Effort

Tenses Conjugations Generation Verification Total Effort
3 (Phase 1) 882 2-3 hours 4-6 hours 6-9 hours
+1 (Imperfect) +294 1 hour 1-2 hours 2-3 hours
+2 (Cond + Subj) +588 2 hours 4-6 hours 6-8 hours
All 6 tenses 1,764 5 hours 10-14 hours 15-19 hours

Recommendation: Start with 3 tenses (Phase 1), add Imperfect in Phase 1.5


Card Output Scaling

Tenses Verbs Subjects Templates Total Cards
1 42 7 2 588
3 42 7 2 1,764
4 42 7 2 2,352
6 42 7 2 3,528

Note: Users select subset (typically 10 verbs × 5 subjects × 1-2 tenses = 100-200 cards)


Final Answer to Your Question

"What about other tenses besides present? How will that scale/impact our current effort?"

Answer:

  1. Templates: ✅ Minimal impact - Same templates work across tenses

    • 94 templates support all tenses
    • Optional: Add time markers (+5-8 hours)
    • No need to recreate templates per tense
  2. Conjugations: ⚠️ Moderate impact - Need more data

    • Phase 1 (3 tenses): 882 forms (6-9 hours)
    • Phase 1.5 (+Imperfect): +294 forms (+2-3 hours)
    • Phase 2 (+2 more): +588 forms (+6-8 hours)
  3. System Design: ✅ Already scales - Architecture supports it

    • Tense selection in UI (checkboxes)
    • Conjugation lookup by tense
    • Card generation loops through selected tenses
  4. User Experience: ✅ Better with more tenses

    • More practice variety
    • Complete verb coverage
    • Progressive learning path

Bottom Line: Adding tenses is easy and worthwhile. The system is designed to scale. Main effort is conjugation data entry, which can be largely automated.

Recommendation:

  • ✅ Proceed with Phase 1 (3 tenses) as planned
  • ✅ Design templates to be tense-agnostic
  • ✅ Add Imperfect in Phase 1.5 (easy win)
  • ✅ Add remaining tenses in Phase 2

Total Additional Effort: 5-8 hours for enhanced templates, already accounted for in conjugation work.


Ready to proceed with template creation! 🚀