Using the Crowdin Connector or the EVM Connector confirms us that we need variable rewards. Indeed, currently, only a fixed amount of points can be earned. Even if program owners can manage this by proposing different level, this looks unfair
The solution would be the following:
A variable amount of points so user earn depending on their "volume" of action / of their "effort" of work
Example:
100 pts for 100 words suggested -> the user who suggests a translation of 1 word will get 1 point, the other one 5 points for 5 words
500 pts for 1000 meeds bought -> 50 pts for 100 meeds, 125 pts for 250 meeds
In addition to that, we'd like to take this opportunity of reviewing the reward business rule by improving the UX when creating an action. Indeed:
end-users have reported it is sometimes confusing to see a new step appearing when choosing automatic action type
it is also difficult to make a choice between actions without knowing what we can do after (which connector, for what purpose)
1. Functional Requirements
Top User Stories
To solve these problems while enhancing the UX, here are the work that would be done:
Review the steps when creating an action
Each step will be specifically identified:
Name and type with use case
Description
Conditions
Rewards
Publication
No matter it is "manual" or "automatic", same steps need to be detailed
The only difference is the description step. Indeed, if automatic, and depending on the chosen use case, the user needs to create the flow
Regarding the rewards step, if manual, then only fixed is proposed for now
if this automatic and if variable rewarding is possible, then fixed and variable options will be proposed
Note: This review will help us in the future to:
Add more rewards items, like token, badges, etc.
Add more use case, like visit a website, answer to a quizz, etc.
Here are examples of actions creation (manual or automatic)
Manual action
Automatic action
Impacts
Gamification
Addition of variable rewarding
Access to use case depending on which connector is enabled
Notifications
NA
Analytics
NA
Unified Search
NA
2. Technical Requirements
Expected Volume & Performance
Security
NA
Extensibility
The create/update action drawer has to be improved.
Create/update drawer UIs should still be extensible (injected with registry extension).
Configurability
variableRewarding attribute will be added to eventConfigPlugin for event that allow to enable variable rewarding
Upgradability
NA
Existing Features
Existing actions has to remain working without any manual change to do by rewarding admins. The upgrade has to be transparent.
Feature Flags
No feature flag is needed.
4. Software Architecture
Security
NA
Access
NA
Services & processing
Variable rewarding will be calculated for each event (if variable rewarding enabled) inside eventConfigPlugin
Data and persistence
Variable reading info will be stored in GAMIFICATION_EVENT_SETTINGS.
The column SCORE in GAMIFICATION_RULE will be updated, because it could be empty.
Rationale
Using the Crowdin Connector or the EVM Connector confirms us that we need variable rewards. Indeed, currently, only a fixed amount of points can be earned. Even if program owners can manage this by proposing different level, this looks unfair
The solution would be the following: A variable amount of points so user earn depending on their "volume" of action / of their "effort" of work Example:
In addition to that, we'd like to take this opportunity of reviewing the reward business rule by improving the UX when creating an action. Indeed:
1. Functional Requirements
Top User Stories
To solve these problems while enhancing the UX, here are the work that would be done:
Review the steps when creating an action
Each step will be specifically identified:
No matter it is "manual" or "automatic", same steps need to be detailed
The only difference is the description step. Indeed, if automatic, and depending on the chosen use case, the user needs to create the flow
Regarding the rewards step, if manual, then only fixed is proposed for now
if this automatic and if variable rewarding is possible, then fixed and variable options will be proposed
Note: This review will help us in the future to:
Here are examples of actions creation (manual or automatic)
Manual action![Manual action](https://github.com/Meeds-io/MIPs/assets/58853195/68a3deb2-970d-4799-bfe0-a3dadda8b588)
Automatic action![Automatic action](https://github.com/Meeds-io/MIPs/assets/58853195/fe6d64d4-58a2-4d79-844a-880c321591b1)
Impacts
Gamification
Addition of variable rewarding Access to use case depending on which connector is enabled
Notifications
NA
Analytics
NA
Unified Search
NA
2. Technical Requirements
Expected Volume & Performance
Security
NA
Extensibility
The create/update action drawer has to be improved. Create/update drawer UIs should still be extensible (injected with registry extension).
Configurability
variableRewarding attribute will be added to
eventConfigPlugin
for event that allow to enable variable rewardingUpgradability
NA
Existing Features
Existing actions has to remain working without any manual change to do by rewarding admins. The upgrade has to be transparent.
Feature Flags
No feature flag is needed.
4. Software Architecture
Security
NA
Access
NA
Services & processing
Variable rewarding will be calculated for each event (if variable rewarding enabled) inside
eventConfigPlugin
Data and persistence
Variable reading info will be stored in
GAMIFICATION_EVENT_SETTINGS
. The columnSCORE
inGAMIFICATION_RULE
will be updated, because it could be empty.