Introduction to the Cboard Project
Cboard is an innovative web application designed to assist individuals with speech and language impairments to communicate effectively. This tool is widely beneficial for people with conditions such as autism and cerebral palsy. Cboard uses symbols and text-to-speech technology to provide a means of communication, making it a valuable resource for those who find verbal communication challenging.
How It Works
Cboard utilizes the browser's Speech Synthesis API to convert symbols into speech. When a symbol is clicked, the application generates the corresponding speech output. It features an extensive library of thousands of symbols from popular AAC (Augmentative and Alternative Communication) symbol libraries. Additionally, Cboard is accessible in 40 different languages, making it a globally inclusive tool. Its functionality varies based on the platform, supporting Android, iOS, and Windows.
Real-Life Impact
Thanks to UNICEF's initiative "For every child, a voice," many children, like Srna, have been able to communicate using the Cboard Communicator. This project highlights the impact of AAC technology in empowering children with communication needs.
Translation and Localization
One of Cboard's standout features is its support for 40 languages. These translations are machine-based and require human proofreading. The project invites collaboration from anyone interested in contributing to this essential aspect, emphasizing that programming skills are not necessary. Translators significantly enhance the accessibility of Cboard, particularly in underdeveloped regions.
Getting Started with Cboard
For individuals interested in exploring or developing with Cboard, there are several tools and options:
-
Development Mode: Using the command
yarn start
, developers can run the app and view it at http://localhost:3000. The app reloads with any code edits, displaying build errors and lint warnings in the console. -
Testing Mode: By running
yarn test
, developers can execute tests interactively, focusing on files altered since the last commit. -
Building for Production: The command
yarn build
compiles the app for production, optimizing it for performance. It also includes a service worker to enhance loading speeds from cache. -
Cordova Debug Builds: Using
yarn build-cordova-debug
, developers can produce debug builds for Cordova environments, leveraging tools likecraco
for customization.
Docker Integration
Cboard can also be built using Docker:
-
Creating a Docker Image: The
make image
command creates a production-ready Docker image tagged as cboard:latest. -
Running the Docker Image: Execute
make run
to run the Docker image on port 5000.
Managing Secrets
When accessing external services, Cboard utilizes encrypted API keys. These secrets are encrypted into GPG files and require an ENCRYPTION_KEY
to be decrypted for local use. However, possessing these keys is not essential for running or contributing to the development of Cboard.
Community and Collaboration
Cboard thrives on community support and collaboration. It is backed by various sponsors and contributors, and it continuously welcomes new supporters and contributors. Contributors can offer their expertise in different capacities, from development to translation.
Acknowledgments
Cboard's functionality is enhanced by various partners:
-
Symbol Sources: Partners like Mulberry, ARASAAC, and Global Symbols contribute to the rich library of symbols.
-
Translation Management: Crowdin provides the platform for managing translations.
-
Testing: Browserstack offers the automation infrastructure needed for testing.
Legal and Licensing
Cboard is maintained under the GNU General Public License (GPL) version 3, which permits redistribution and modifications. The symbol libraries have specific licenses: Mulberry Symbols under CC BY-SA 4.0 and ARASAAC Symbols under CC BY-NC-SA 4.0.
In summary, Cboard is a groundbreaking communication tool with a global reach, aiding those with communication barriers to express themselves. Its open-source nature and active community foster an environment of continuous development and improvement.