Repository
https://github.com/busyorg/busy
Project Name: Busy
Issue: https://github.com/busyorg/busy/issues/2220
While this can be applicable to any UIs, I show Busy as an example, since Steemit is currently now even showing any beneficiaries information.
I've already implemented the idea and all screenshots are from the actual implementation. The PO also acknowledged the idea and I will submit PR after a few more testing.
Components
Payout information
Proposal Description
Currently, there is no beneficiary payout amount information for paid out posts.
That is, total payout amount = reduced author payout + curator payout.
However when the percentage of beneficiaries is high, this has several problems:
- Discontinuous payout amount just before payout and after payout.
- Bad UX due to discontinuity. With 100% beneficiaries this difference can be highly significant.
- Inconsistency (when pending, total is really total, why without beneficiaries after payout?)
- Bad UX due to inconsistency.
Mockups / Examples
Before
- no beneficiaries payout amount is shown and it isn't included in the total, which is inconsistent with the pending total payout that includes everything.
After
- This is an actual implementation screenshot on my dev server.
- now beneficiaries payout amount is shown and included in the total payout.
Before
- In particular, this difference can be quite significant when beneficiary percentage is high, e.g., 100%
After
All screenshots are from my actual implementation and will submit PR.
Technical Details
While I've already done the implementation, here is some technical details.
Unfortunately, the Steem chain doesn't provide an efficient way to get the exact beneficiary payout amount. Even the field 'total_payout_value' is author payout only not actual total, whereas curator_payout_value is curator payout. What an inconsistency!
Anyway, the beneficiaries payout can be estimated from the curator payout even when author payout is zero.
That is, under HF20 (75:25 system)
beneficiaries payout = 3 * curator_payout * total_beneficiaries_pct / 100
Under HF21 (which will likely to be 50:50)
beneficiaries payout = curator_payout * total_beneficiaries_pct / 100
Benefits
There are so many use cases of beneficiaries.
- Someone may want to donate payout to other accounts, or dapps can charge/use beneficiaries for various purposes.
- But users may not want to see too much reduced total payout.
- Improved UX for both consistency and continuity.
Personally I strongly believe that this should be implemented on all UIs. Previously the importance of beneficiaries was too much overlooked. I'll probably work on condenser too.