Damus
Warren Togami · 166w
Is it able to detect the language without querying a server? I see that downloads language models on demand but how does it determine which it needs? Where are those models stored? Is it repeatedly downloading the same models over and over again? It isn't among those listed in the Google Translate...
Braydon Fuller · 166w
Identification (and translation) is apparently on-device as described by the docs at: https://developers.google.com/ml-kit
Warren Togami · 166w
Thanks. Hmm judging from the description of its capabilities and LanguageTranslatorService.kt it does appear to use entirely on-device language detection and translation. The features description says the quality of the downloaded language models is only for simple text. The higher fidelity cloud tr...
Warren Togami · 166w
How large are the on demand language models and how often are they redownloaded? They are counted as part of the Cache? https://i.imgur.com/tFsbeVe.png
Braydon Fuller · 166w
You might be able to toggle by clicking each word (e.g. English) in that auto-translate line that is inserted?
Braydon Fuller · 166w
Cache seems large considering event data isn't persisted in the app.
Warren Togami · 166w
I had wondered why I'm frequently redownloading everything every time I open the app. That can't be good for the relays. It's also redownloading everyone's PFP from the image hosts and the entire list of my followers starts at 0 every time I look at it.
Warren Togami · 166w
Is there a reason why this data isn't persisted? Maybe because it would write to flash too often?
Vitor Pamplona · 166w
Just dev time. I wasn't able to code it yet. I don't think it will reduce data downloaded by that much, though. The app has to ask if things have changed and the only available API answer is a list of the most recent events. The app would already have them, but they would have to be downloaded regar...
Warren Togami · 166w
Thanks for explaining! Might the set reconciliation protocol like in strfry eventually be helpful in this regard to reduce redownload data consumption?
Vitor Pamplona · 166w
Yep, something like a bloom filter where the app could send a compressed list of events it already has would be great. Upload payload must be small, though.
Warren Togami · 166w
The trouble with bloom filters is it can easily become a DoS vector to the server. I suppose in the case of Nostr that risk could be mitigated with the payload being signed (where you aren't allowed to use bloom for read-only mode).
Warren Togami · 166w
Another thought is some of the data is less important to redownload. Relay badges and people's profile pictures don't change often and it isn't a big deal if you display an old one for a while. Those downloads are more sizeable than relay text so it might make a big difference to implement persist...
Red · 166w
The app went from like 20mb to alot more in the update that introduced to auto translating