Giter Club home page Giter Club logo

Comments (8)

decentral1se avatar decentral1se commented on July 3, 2024 2

Hi there 👋

Could you please further define what "In order to improve the application" means?

I admit that from the general spirit of the project that I've seen so far, it is a bit strange to see an open issue about tracking users of the application. That doesn't speak much to values of user freedom to me personally.

from librelingo.

kantord avatar kantord commented on July 3, 2024 1

That's a fair point. I think the "volunteer basis" idea, where the user actively chooses to send that information can definitely be implemented, and it can even have UX benefits.

So even if other optional forms of tracking are implemented, it can remain an option to disable automatic tracking but send such information on a one-off, volunteer basis

from librelingo.

nfultz avatar nfultz commented on July 3, 2024 1

I think it's helpful to distinguish between web-tracking data collection (dropping a third party cookie on the client, comparing organic vs paid traffic,dwell times and click through rates, etc) and the necessary data collection for education (eg quiz results, task completion) - I strongly recommend using a synthetic ID (UUID would be fine) as a user ID for all the education data, and not their email address or other PII.

Course developers would benefit from having access to item-level data so they could tweak vocab items that are ambiguous, for example. It would also be critical to have such data for training models for adaptive quizzes or other personalized learning. It seems reasonable enough to hook these features up to a checkbox, though, to allow users to opt out if all they want to do is click through flash cards.

For web-tracking, I'd rather just not do it, I've done enough of that in my day job and would not be interested on working on it for an open source project in my free time.

from librelingo.

kantord avatar kantord commented on July 3, 2024

Could you please further define what "In order to improve the application" means?

There are many ways the application could benefit from or even needs feedback from its users.

The simplest and probably most important example is alternative solutions. Since the courses have translation exercises, each sentence might have many different correct translations. In many cases, it's impossible for course authors to think of all the possibilities, so there has to be some feedback on what the most common unaccepted solutions are, so that it can be brought to the course authors' attention.

Now there's no reason we can't make this tracking optional.

First of all, I would implement this separately from other data. For saving course progress, pouchdb is used. That DB can work offline or be optionally synced between multiple devices through a server. Such things are not required IMO for tracking, as it's ok to lose some data. Therefore it doesn't need to be implemented offline. This can be extended to not tracking any users who are not logged in (i. e. not syncing their db). Therefore by being offline, you'd already be completely safe from being tracked.

Second of all, tracking would be optional even for users who are logged in, albeit their course progress has to be saved on a server in that case, so there's no way around that. (Self hosted server remains an option, or maybe an architecture where the user can use their own devices to sync, but that would require some network work most users wouldn't want to do themselves: https://pouchdb.com/guides/replication.html#live%E2%80%93replication)

Third of all, there's way to create separate privacy-focused builds, that not only don't track but also don't make any network requests at all, which is I think as private as it can realistically get? 🤔

That being said, I don't have anything against my activity on the app being anonymously tracked in ways that are relevant for the improvement for the course content, so I would personally have no reason to use the privacy options, but someone else might.

from librelingo.

decentral1se avatar decentral1se commented on July 3, 2024

Thanks for sharing thoughts.

There are many ways the application could benefit from or even needs feedback from its users.

Well, you only mentioned one? I appreciate the technical details but I guess I am looking for the social justification on this ticket.

The simplest and probably most important example is alternative solutions. Since the courses have translation exercises, each sentence might have many different correct translations. In many cases, it's impossible for course authors to think of all the possibilities, so there has to be some feedback on what the most common unaccepted solutions are, so that it can be brought to the course authors' attention.

This can be done on a volunteer basis. If users want to share, they can click on some button to share it back.

I am not against tracking per-se, it has uses, but in the case of 1. "i choose to send this information back to the mothership" vs. 2. "i have enabled a feature flag that enables some tracking", I would choose 1. which keeps everyone honest and each use case specific. Otherwise it is so opaque to the user! Tracking in most forms is a slippery slope.

from librelingo.

kantord avatar kantord commented on July 3, 2024

For now I'm closing this issue: there are a lot more higher prio issues, and there would be no capacity to implement this or analyze the results anyway.

If you have some great ideas, feel free to re-open though

from librelingo.

Roshanjossey avatar Roshanjossey commented on July 3, 2024

I'm getting help from Gnome.org to get access to a hosted version of https://matomo.org for my personal project.

Matomo has a docker image that you can self host if that's a possibility.

from librelingo.

garrison avatar garrison commented on July 3, 2024

We at https://wikiotics.org have been using https://plausible.io for our analytics lately. If it would help, we might be able to add you to our account and thus have the Wikiotics Foundation cover the cost as part of our charitable mission. Would you be interested? Our public dashboard is at https://plausible.io/wikiotics.org, if an example is helpful.

from librelingo.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.