Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Calculate Time and Payment Based on User Time, not Batch Settings #537

Open
xehu opened this issue Jul 16, 2020 · 0 comments
Open

Calculate Time and Payment Based on User Time, not Batch Settings #537

xehu opened this issue Jul 16, 2020 · 0 comments

Comments

@xehu
Copy link

xehu commented Jul 16, 2020

Currently, the way that time (and payment) is calculated under the hood is based on the "batchTime," which is a constant value calculated from the parameters that define the round (defined in utils.ts): https://github.com/StanfordHCI/bang/blob/8fef82a7ba08a8a66b3fd736123b32755fbde15b/server/controllers/utils.ts

That amount is then converted to a fixed wage for users who complete the task in batches.ts: https://github.com/StanfordHCI/bang/blob/8fef82a7ba08a8a66b3fd736123b32755fbde15b/server/controllers/batches.ts

Crucially, this design means that workers who do not complete the whole task are not paid. In batches.ts, the payBonus() call happens in receiveSurvey(), which means that we only pay users after we receive their final survey.

A better design might require some more substantial rearchitecting of how this would work.

  • Rather than calculating a fixed time, each user should have a person timer of how much time they're spending in the client. Then, that time should get passed back to us, and we pay them upon them closing the client or the task ending (whichever comes first).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant