Skip to content
This repository has been archived by the owner on Jun 17, 2020. It is now read-only.

O> Usable Web app prototype for RAM distributed budgeting and reward system #260

Closed
5 of 7 tasks
lapin7 opened this issue Jan 30, 2018 · 72 comments
Closed
5 of 7 tasks
Assignees
Labels
Development splitting into core-dev, developer-education, ...? (guides: @dckc, ...) zz-Operations NEEDS SPONSOR guides: @TrenchFloat, @jimscarver @Tonyprisca13

Comments

@lapin7
Copy link
Contributor

lapin7 commented Jan 30, 2018

goal: Prototype budget and reward system as a usable web app

working prototype: http://rchain-dbr.nfshost.com/rchain-dbr-beta/
to log in, go to the issue thingy; use your github username for your password as well as your username.

Production aspects are deferred to other issues:

budget: $3000

time: 2 to 4 weeks

based on Initial Google-sheets based system:
Pub Member Budget Allocation-Spending

@lapin7 lapin7 added the zz-Operations NEEDS SPONSOR guides: @TrenchFloat, @jimscarver @Tonyprisca13 label Jan 30, 2018
@dckc
Copy link
Contributor

dckc commented Jan 31, 2018

I mocked something up real quick with xataface, a php+mysql toolkit: https://github.com/dckc/rchain-bees-ants 5d0db16
Darn... I can't use ngrok from here... I'll deploy it somewhere else for testing shortly.

@dckc
Copy link
Contributor

dckc commented Jan 31, 2018

demo: http://rchain-dbr.nfshost.com/rchain-bees-ants/
be gentle :)

@dckc dckc added the Development splitting into core-dev, developer-education, ...? (guides: @dckc, ...) label Jan 31, 2018
@Ojimadu
Copy link
Contributor

Ojimadu commented Feb 1, 2018

@dckc I really like the you work you did. IMO, interface and UI are part of the cause of problems we have on the Budget sheet with too many edits, the budget sheet does not look nice.
On the demo,

  • the average amount is it for RHOCs or USD?
  • What is the "amount effective"?
  • I attempted removing an issue from the list of issues you worked on though it failed but wondering if the remove button is necessary if it is, how would the permission set?
  • On the "issue" tab, it looks like both closed and open issue appear on the list. Currently, the way I think @lapin7 does it is that he manually refreshes all issues at the beginning of the month and closed issues from previous month are not loaded on to issues of the new month while issues closed during the month stays open till the end of the month. Can this process be automated?

I also read your 'todo' and I really like it especially the history logging, having users edit only columns with their names and everything else not including the ones that I don't understand :)

I really support development on this as it can really improve the way the budgeting and rewards work.

@dckc
Copy link
Contributor

dckc commented Feb 1, 2018

Amount effective is zero until there are three votes; then it is the same as amount average. Perhaps we can figure out a better name.

p.s. I changed them to budget and budget provisional (and likewise reward and reward provisional)

@Ojimadu
Copy link
Contributor

Ojimadu commented Feb 1, 2018

I think the 'three vote' is limited to budgeting and not setting of rewards. Is that right @lapin7

@9rb
Copy link

9rb commented Feb 1, 2018

When the system automatically reads data from github, can we make sure that it rewards github comments at .000001% or such negligible amount, so that there is less rework to be done in the budget spreadsheet? Currently it seems to assign 1% reward per comment or such, requiring one to go back zero those amounts out. By using a negligible amount, teams can focus on correctly rewarding the members that actually worked on an item? It's OK to have commenters in the reward list because presumably they're interested at some level, but the system should not auto-award 1% of the budget for that..

@dckc
Copy link
Contributor

dckc commented Feb 1, 2018

Where did anybody get the impression that the system rewards comments automatically? My understanding is the only thing the system does with comments is make the comment author eligible to give and receive rewards. To make a >$0 reward, three persons have to put in numbers.

@dckc
Copy link
Contributor

dckc commented Feb 1, 2018

@lapin7 I got a suggestion from @Ojimadu to make a new issue for my coding work in this area. As a developer, when I read "Assistance with X" I just assume that includes "write code to automate X". I'm well known for saying: The bane of my existence is doing things I know the computer could do for me.

Do you see automation as part of this issue or would you prefer that I make a separate issue?

@dckc
Copy link
Contributor

dckc commented Feb 1, 2018

An idea: the budget web service can do:

Bob, I see you gave Alice a thumbs-up in issue #25839 on Jan 23, but you have not voted to reward her

  • reward amount: $_____
  • disregard

likewise with assignments.

p.s. prototype in dbr_norm.py 33c9e57

@lapin7
Copy link
Contributor Author

lapin7 commented Feb 2, 2018

What's the UID and PW on this app?
http://rchain-dbr.nfshost.com/rchain-bees-ants/

@dckc
Copy link
Contributor

dckc commented Feb 2, 2018

username is your github name

for now, your password is also your github name

@lapin7
Copy link
Contributor Author

lapin7 commented Feb 2, 2018 via email

@dckc dckc changed the title O> Assistance with payment process O> Usable Web app for RAM distributed budgeting and reward system Feb 2, 2018
@dckc
Copy link
Contributor

dckc commented Feb 2, 2018

Use case: permissionless access

  • read-only access is available to the whole web
    • for example, to import into Google Sheets using IMPORTHTML

Alternatives considered and discarded:

  • only collaborators can even look at the system
  • read access is available only to those with github accounts

TODO: Links to context

  • CONTRIBUTING.md
  • rchain.coop
  • social media links?

Use case: Syncs users, issues tables with github repo

  • collaborator asks developer (@dckc) to do it; he uses python, ssh, and duct-tape
  • ops manager or any other user can sync on demand by pushing a button (see Sync bounty repo users, issues with Web app #416)
  • noone can edit users; sync from github is the only way to update
  • noone can edit issues

Use case: Active Member Al logs in using his github credentials

See also #279 for thoughts on using the blockchain to certify coop membership.

Use case: Al browses current rewards for himself or anyone else

  • Al finds himself in the list of users
  • Al follows a link to a table of how much he is to be rewarded for each issue
    • link is clear and easy to find
  • Al can sort, filter, export, etc. (in all table listing pages)
  • system shows total

Use case: Al browses current budget for one or more issues

  • Al chooses the Issue Budgets page
  • system shows issues for current pay period
    • see below for how pay periods are administered

Use case: Active Member Al proposes a budget of $200 for issue 101

  • We assume Al is a collaborator in the github repo; how that happens is out of scope
  • Making it easy for Al to find the web app is for another use case.
  • Al can log in
  • Al can find the issue within the web app
  • Al can go from an issue to the list of budget votes for that issue
  • Al can add a new vote with an amount
    • the vote is timestamped
    • the voter field is automatically set to the logged in user
    • Al can only enter one vote per issue per pay-period
  • Al can revise or delete his vote
    • only Al can revise or delete his vote
    • an audit log of revisions is kept in the underlying database
      • an audit log is browseable by administrators (separate use case, actually)
      • an audit log is browseable by collaborators (separate use case, actually)

Use case: Al, Bill, and Charlene agree on a budget

  • Each of them can vote as above
  • dbr system displays average of the amounts in their votes at all times
  • dbr system displays "effective amount" only when there are votes from >= three users

Design issue: fraudulent votes

See #261 for discussion of what to do about users whose vote is not a good faith estimate of budget or reward.

Use case: Bill votes to reward Charlene

  • Bill finds the list of rewards associated with an issue, chooses to add another
  • Bill chooses Charlene from a pick-list and enters a percentage

Use case: browsing for suspicious activity

  • sort issue budgets by highest to lowest

See more suggestions in #261.

Use case: Ops manager prepares invoice for Charlene

  • Ops manager finds the page for Charlene's rewards as above
  • Ops manager exports reward data and imports into another system such as google spreadsheets

Use case: Ops manager prepares a draft of Charlene's invoice

out of scope; see #548

Use case: Ops Manager initiates the next pay period

  • Admin access is inherited from github
  • Ops manager visits the pay period table and adds a record for Feb 1, 2018 to Feb 28, 2018
    • only admins may add pay periods
    • No two pay periods may have the same start date
      • Stretch goal: No two pay periods may overlap
  • Ops manager enters Feb 1, 2018 as the current pay period
    • only admins may set the current pay period
    • pay periods are represented in the UI as a pick-list rather than a guess at the calendar

@dckc
Copy link
Contributor

dckc commented Feb 2, 2018

@lapin7 writes:

can the location be changed to a rough GPS-location? For example I don't where HanZhou is on the planet.

How would you use that info if the system provided it? What is the use case?

If you're thinking of letting people edit location info in this system, I strongly prefer to leave that out of scope.

Design options:

  • A link to wikipedia
    • very easy to do, but only works if people use the exact spelling from wikipedia in their github profiles
  • a link to search results from wikipedia or open street map
  • import from wikidata or open street map
    • straightforward, but at least an hour or two of work

It's not in e pluribus unum 2.0 after all. odd, that.

@dckc
Copy link
Contributor

dckc commented Feb 2, 2018

What time is the Governance meeting 2018-02-17? If it's during business hours Chicago time, I may need @TrenchFloat to cover it for me.

@dckc
Copy link
Contributor

dckc commented Feb 2, 2018

Oh... duh... Governance meeting 2018-02-17 is the one in Seattle. I'll be there. Never mind, @TrenchFloat

@dckc
Copy link
Contributor

dckc commented Feb 2, 2018

But I would like you to cover for me in Greg's Debrief 2018-02-07, @TrenchFloat

please excuse the email noise.

@barneycinnamon
Copy link
Contributor

Commenting to see what will happen

@TrenchFloat
Copy link
Contributor

I am not available to present (until next week, that is).

@dckc
Copy link
Contributor

dckc commented Mar 1, 2018

No problem, @TrenchFloat ; I mentioned you in case you could demo in my stead, but @lapin7 and I are going to do this during my Saturday "office hours" (#403)

@lapin7
Copy link
Contributor Author

lapin7 commented Mar 6, 2018

@dckc I've added $1000 to Budget 201803

@dckc
Copy link
Contributor

dckc commented Mar 8, 2018

It's time to declare victory on the prototype. See the milestone for the rest.

@dckc dckc closed this as completed Mar 8, 2018
@dckc
Copy link
Contributor

dckc commented Mar 12, 2018

@makys I see you added "Update on the bounty app @dckc" to this week's agenda (#469). I'm interested to know why. Just FYI? What's the goal of the agenda item?

Note that I'm not generally available for RChain meetings at the RAM meeting time. I do keep RChain "office hours" Saturdays at 9am (#403) for anyone who wants to meet with me.

p.s. "the bounty app" probably corresponds more to the bounty app milestone than this prototype issue, but we can't add labels to milestones.

@makys
Copy link

makys commented Mar 12, 2018

@dckc I'd have to go through this thread. I know you were working on the bounty app which I guess its going to used at the end of this month. I put an update on the agenda because I am not sure where we are on this, maybe a read through on this thread will be helpful. Well on the RAM meeting, maybe someone else who is up to date on this task can give an update since you will not be available. If I am completely out of sync on this, then maybe I book a time on your calendar to get up to speed on this.

@dckc
Copy link
Contributor

dckc commented Mar 12, 2018

OK, @makys , so perhaps a goal of the agenda item is to (get closer to an) answer: are we using the web app for the 201803 pay period?

I did recently catch up with @lapin7 , so I suppose he can give an update in the meeting.

@makys
Copy link

makys commented Mar 12, 2018

@dckc sounds good. i'd look to @lapin7 to give an update if he can. Btw, Idk if we are using the app for this pay period, I only seek to get a status as to where we are.

@lapin7
Copy link
Contributor Author

lapin7 commented Mar 13, 2018

In the meeting I want to announce that we're moving to the new system. And that the spreadsheet solution will be stopped for 201803.
I just need to go over the new system again, to see if it needs any further explanation/instruction.

@lapin7
Copy link
Contributor Author

lapin7 commented Apr 6, 2018

Continued from #477

Could we say that budgets & rewards can be set from the 1st to the 7th of the next month?
Yes. Just don't change the current pay period until the 8th.
(you don't mean that voting should not be allowed until the 1st of the month, I assume.)

  • Ops initiates new payment period at 1st of the month
  • RAM's are able to edit budgets and rewards like this:
    201803 from 03-01 to 04-07
    201804 from 04-01 to 05-07
    201805 from 05-01 to 06-07
    etc.
  • Freeze the month like this:
    201803 at 04-08
    201804 at 05-08
    201805 at 06-08
  • RAM's transmit invoices like this:
    201803 from 04-09 to 06-09
    201804 from 05-09 to 06-09
    201805 from 06-09 to 06-09
  • CFO creates payment register every Tuesday.
  • Ops enters payments in MultiSig Gnosis Wallet every Wednesday.
  • COO adds second Signature: before/at Sunday
  • CFO enters payments in accounting app QuickBookOnline every Monday.

@lapin7 lapin7 reopened this Apr 6, 2018
@dckc
Copy link
Contributor

dckc commented Apr 6, 2018 via email

@lapin7
Copy link
Contributor Author

lapin7 commented Apr 6, 2018

Indeed, it would complicate things. So we leave it as one active period. No overlapping pay periods.
But how and when can Ops manager set the next pay period?

@dckc
Copy link
Contributor

dckc commented Apr 7, 2018

OK, good, so we're not changing the basic design.

But how and when can Ops manager set the next pay period?

More on that in #563, where we discuss operational issues for wrapping up March.

@dckc dckc closed this as completed Apr 7, 2018
@PatrickM727
Copy link

@pmoorman asked me to vote on this but it looks like it may have already went through.

is that the case?

@dckc
Copy link
Contributor

dckc commented May 6, 2018 via email

@pmoorman
Copy link

pmoorman commented May 7, 2018

Oh, yeah looks like I've got my numbers mixed up somewhere. Sorry Patrick, for the confusion!

Should have been #460 instead of #260

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Development splitting into core-dev, developer-education, ...? (guides: @dckc, ...) zz-Operations NEEDS SPONSOR guides: @TrenchFloat, @jimscarver @Tonyprisca13
Projects
None yet
Development

No branches or pull requests