// SPDX-License-Identifier: CC-BY-SA-4.0
// SPDX-FileCopyrightText: 2024-2025 Ehsaneddin Asgari and Contributors
= Future Roadmap
:toc:
:toclevels: 2
:icons: font

This document outlines planned features and integrations for 1000Langs.

== GIS Integration: Languages Meet Geography

=== Overview

A significant planned enhancement is connecting the multilingual corpus with
geographic data to visualize language distribution and typological features
on interactive maps.

=== Proposed Architecture

[source]
----
                    ┌─────────────────────┐
                    │  OpenLiteSpeed      │
                    │  Web Server         │
                    └──────────┬──────────┘
                               │
          ┌────────────────────┼────────────────────┐
          │                    │                    │
          ▼                    ▼                    ▼
┌─────────────────┐  ┌─────────────────┐  ┌─────────────────┐
│  ReScript UI    │  │  ArcGIS/Leaflet │  │  1000Langs API  │
│  (CSS-first)    │  │  Map Services   │  │  (Corpus Data)  │
└────────┬────────┘  └────────┬────────┘  └────────┬────────┘
         │                    │                    │
         └────────────────────┼────────────────────┘
                              │
                    ┌─────────▼─────────┐
                    │  Language Data    │
                    │  + Coordinates    │
                    │  (Glottolog)      │
                    └───────────────────┘
----

=== Data Sources

* *Glottolog*: Language coordinates and genealogical classification
* *WALS*: Typological feature data
* *Ethnologue*: Speaker population estimates
* *1000Langs Corpus*: Actual text availability

=== Visualization Layers

1. **Language Distribution Map**
   * Point markers for each language
   * Color-coded by language family
   * Size by number of speakers

2. **Corpus Coverage Map**
   * Choropleth showing translation availability
   * Filter by source (Bible.cloud, Bible.com, etc.)
   * Interactive language selection

3. **Typological Feature Maps**
   * Word order distribution
   * Phonological inventories
   * Morphological types

4. **Historical Spread Animation**
   * Language family expansion over time
   * Migration patterns
   * Script adoption

=== Technology Stack

* **Server**: OpenLiteSpeed (as requested)
* **Mapping**: ArcGIS or Leaflet (open-source alternative)
* **Frontend**: ReScript with CSS-first approach
* **API**: RESTful endpoints for corpus data
* **Data Format**: GeoJSON for geographic features

=== Implementation Phases

==== Phase 1: Basic Map (2-3 weeks effort)
* Set up OpenLiteSpeed server
* Integrate Leaflet for maps
* Display language points from Glottolog
* Basic filtering by language family

==== Phase 2: Corpus Integration (2-3 weeks effort)
* Connect to 1000Langs corpus data
* Show translation availability per language
* Add source filtering
* Implement search functionality

==== Phase 3: Advanced Features (3-4 weeks effort)
* WALS typological feature overlay
* OpenCyc reasoning integration
* Custom visualization layers
* Export functionality

==== Phase 4: Analytics (2-3 weeks effort)
* Corpus statistics dashboard
* Coverage gap analysis
* Typological clustering visualizations
* API for external integrations

=== Scope Notes

**Complexity**: Medium-High

**Dependencies**:
* Glottolog data import
* WALS feature mapping
* OpenLiteSpeed configuration
* ArcGIS licensing (or Leaflet as OSS alternative)

**Considerations**:
* ArcGIS requires licensing; Leaflet + MapLibre is fully open-source
* OpenLiteSpeed provides excellent performance for static + dynamic content
* GeoJSON is the standard format for web mapping

== Enhanced OpenCyc Integration

=== Planned Features

* Automatic language classification
* Common-sense inference about language relationships
* Script compatibility reasoning
* Geographic plausibility checks

== Additional Corpus Sources

=== Planned Integrations

* *unfoldingWord*: Open-licensed translations
* *Door43*: Translation resources
* *Paratext*: Professional translation data
* *OPUS*: Parallel corpus collection

== Machine Learning Features

=== Planned Capabilities

* Language identification
* Script detection
* Translation quality estimation
* Corpus alignment refinement

== Research Tools

=== Planned Features

* Typological analysis toolkit
* Phylogenetic tree construction
* Lexical similarity computation
* Cross-linguistic pattern search

== Contributing to Future Development

Interested in helping implement these features? See:

* link:CONTRIBUTING.adoc[Contributing Guide]
* GitHub Issues with "enhancement" label
* Discussion forum for design proposals
