Skip to content
This repository has been archived by the owner on Aug 19, 2024. It is now read-only.

Add DPG: Jellow AAC Communicator #962

Merged
merged 21 commits into from
Sep 5, 2022

Conversation

dpgabot
Copy link
Collaborator

@dpgabot dpgabot commented Feb 8, 2022

Automatic addition of a new digital public good submitted through the online form available at https://digitalpublicgoods.net/submission

@nathanbaleeta nathanbaleeta changed the title Add DPG: jellow-aac-communicator Add DPG: Jellow AAC Communicator Feb 9, 2022
Copy link

@rahuljidgedev rahuljidgedev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Submitting the review

@nathanbaleeta
Copy link
Contributor

nathanbaleeta commented Mar 2, 2022

  • Clear Ownership
  • Platform Independence
  • Documentation
  • Mechanism For Extracting Data
  • Do No Harm By Design
  • Data Privacy & Security
  • Adherence to Standards & Best Practices
  • Adherence to Privacy and Applicable Laws
  • Inappropriate & Illegal Content
  • Protection From Harassment
  • Development & deployment countries

@nathanbaleeta
Copy link
Contributor

nathanbaleeta commented Mar 22, 2022

@jwflory you mentioned you have some concerns around platform independence in #961, kindly re-share your thoughts for discussion. Thanks.

@nathanbaleeta
Copy link
Contributor

nathanbaleeta commented Apr 20, 2022

@nathanbaleeta This project has hard dependency on Google Firebase (Auth, Database, Crashlytics)

@iperdomo according to the Jellow AAC app team the Google dependencies are mostly secondary services and not part of the core app features as stated below. The crucial point would be to establish whether or not replacing the Google dependencies with open source alternatives would require almost a complete rewrite of the code base in terms of effort.

  • The core app function is to provide speech therapy, and speech training to children with disabilities using intuitive icons. The hard dependencies above are either secondary services inside the application or used for internal developer analysis only.

  • The Firebase services used include Analytics, Authentication, Database, Notification, Storage.

  • Following are dependency wise their usages in-app

    Analytics: This dependency collects user non-PII app usages such as mostly used screen and most used category icons. These analytics data are not mandatory to the app's core function.
    Database: The Firebase real-time DB service stores the non-PII user's first language selection, registration date, app version code, user feedback, and screen usage time only. These data points are again not mandatory to the app's core function.
    Auth: To make the above-mentioned data write protect the auth service is incorporated. If the database part is not considered mandatory then this auth service is eliminated automatically.
    Notification: The notification service to date is only configured to notify users about new version availability. This too does not relate to the core function of the app.
    Storage: The storage service stores language content for the app. This language content can be moved to other storage spaces like Github or another storage hosting with little changes.

@iperdomo
Copy link
Collaborator

iperdomo commented Apr 20, 2022

@nathanbaleeta I did find a required closed dependency, Google Text-to-Speech (TTS) service. The Android device where I tested didn't have the package com.google.android.tts. You get prompted to install it and if you refuse then the app invites the user to exit.

Screenshot_20220420-160644_Jellow

@nathanbaleeta
Copy link
Contributor

nathanbaleeta commented Jun 14, 2022

  • The core app function is to provide speech therapy, and speech training to children with disabilities using intuitive icons.

@iperdomo The Jellow AAC Communicator team have recently tried Hear2read, an open source TTS engine available for the Indian language, however it offers degraded performance especially for indian voices hence less satisfactory. I have updated the submission to reflect the key points taken from the rich and helpful discussion on this thread as recorded in commit 6fcd3e2

@iperdomo
Copy link
Collaborator

@nathanbaleeta I'm a bit confused on the fact that the project is marked as Platform Independent but is not. I understand the arguments about better performance of Google TTS over open source like Hear2read, but the fact is that the project depends on closed source components is still true.

@nathanbaleeta
Copy link
Contributor

nathanbaleeta commented Jul 26, 2022

@nathanbaleeta I'm a bit confused on the fact that the project is marked as Platform Independent but is not. I understand the arguments about better performance of Google TTS over open source like Hear2read, but the fact is that the project depends on closed source components is still true.

@iperdomo I have reached out to Jellow AAC team and advised them on using generic software interfaces that provide domains and allow different classes to implement the above interfaces and encapsulate specific details therein hence make the code reusable and more platform agnostic/ independent. I will revert once we hear from the team. Thanks.

@nathanbaleeta nathanbaleeta merged commit 033e010 into main Sep 5, 2022
@nathanbaleeta nathanbaleeta deleted the jellowaaccommunicator-1ftneyoxjtz branch September 5, 2022 11:53
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

5 participants