digitalfabrik / integreat-app

React JS and React Native App for Integreat
https://integreat.app
MIT License
48 stars 14 forks source link

[Meta] 🎙 Text to speech (TTS) #2821

Open steffenkleinle opened 5 months ago

steffenkleinle commented 5 months ago

EDIT by@ztefanie

This is the meta issue for the TTS feature:

Original issue below:


:warning: This is not fully written yet. More information is still needed.

As a analphabetic user/less fluent reader I want to have the possibility to get texts read out loud such that I can still use the app and understand the content.

Acceptance Criteria:

Technical Tasks:

TBD

ztefanie commented 5 months ago

See more details in this issue: https://openproject.tuerantuer.org/projects/community-feedback/work_packages/3171/activity

f1sh1918 commented 2 months ago

We may use these libraries React: https://github.com/morganney/tts-react React-Native: https://www.npmjs.com/package/react-native-tts

ztefanie commented 2 months ago

We just had a call with UI/UX and decided to do:

to be discussed:

hauf-toni commented 2 months ago

🗣️ you can find my design proposal for this functionality here.

my research on limiting the function to content above a certain number of characters will be posted in this thread as soon as it is completed 🕵🏼

hauf-toni commented 2 months ago

🕵️‍♀️ pros and cons of making tts functionality available only for texts over a certain number of characters

Pros Cons
Relevance Filtering, ensures tts is used for longer, more meaningful content. Avoids unnecessary activation for trivial or very short texts. Inconsistency in user experience may confuse or frustrate users if tts is not consistently available for all content. They most likely expect tts to work uniformly, regardless of text length.
Reduces potential annoyance from tts reading out short, easily readable texts. Important short texts may be excluded from tts support, impacting accessibility (e.g. texts on emergency numbers, which are very short and very important). This limits the utility of tts for users who can make much better use of the app with the tts function.
Saves processing power and battery life by limiting frequent tts activations and could possibly optimize performance.

Best Practice:

💡 Tts functionality is generally applied universally, without character limits. 🎛️ Customization allows users to adjust how tts interacts with content, ensuring that the feature meets diverse needs without imposing rigid constraints. 🤖 Some systems incorporate intelligent design (smart features) to optimize the tts experience based on context, but they do not exclude shorter texts by default.

🎯 Recommendation:

Leading platforms prioritize accessibility and user control over imposing character-based restrictions. I would recommend making the tts functionality available for all third level pages, providing a consistent experience for our users.

ztefanie commented 2 months ago

@hauf-toni I am a bit confused we wanted to do this issue for native, but the design proposal is for desktop browsers. Can you please also share a design for mobile /native?