-
Notifications
You must be signed in to change notification settings - Fork 53
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
cEP-0020: Newcomer metrics and Gamification system #131
Conversation
cEP-0020.md
Outdated
- Creating and merging a PR for that issue | ||
- Reviewing at least one difficulty/low issue | ||
|
||
- **Points** will be the most applied element out of three game design elements. Acquiring points means that the actions performed by the users are in accordance with what was expected. Points can be earned by means of performing actions to the different tasks under levels. E.g.: If a user wants to go to next level he will have to collect a certain number of points from doing the tasks under levels. But in case of Level-II and Level-III if a user is not able to acquire the required number of points after performing all the tasks, he will have to review more PRs to collect the required points. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Line contains following spacing inconsistencies:
- Trailing whitespaces.
Origin: SpaceConsistencyBear, Section: spacing
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmp2e3alytw/cEP-0020.md
+++ b/tmp/tmp2e3alytw/cEP-0020.md
@@ -55,7 +55,7 @@
- Creating and merging a PR for that issue
- Reviewing at least one difficulty/low issue
-- **Points** will be the most applied element out of three game design elements. Acquiring points means that the actions performed by the users are in accordance with what was expected. Points can be earned by means of performing actions to the different tasks under levels. E.g.: If a user wants to go to next level he will have to collect a certain number of points from doing the tasks under levels. But in case of Level-II and Level-III if a user is not able to acquire the required number of points after performing all the tasks, he will have to review more PRs to collect the required points.
+- **Points** will be the most applied element out of three game design elements. Acquiring points means that the actions performed by the users are in accordance with what was expected. Points can be earned by means of performing actions to the different tasks under levels. E.g.: If a user wants to go to next level he will have to collect a certain number of points from doing the tasks under levels. But in case of Level-II and Level-III if a user is not able to acquire the required number of points after performing all the tasks, he will have to review more PRs to collect the required points.
- **Badges** enable newcomers to follow their performance and compare to other newcomers.**After completing the level three successfully the newcomer will be a developer**. And he will be awarded a badge based on their performance in each level and the total number of points.
cEP-0020.md
Outdated
@@ -0,0 +1,169 @@ | |||
Newcomer metrics and Gamification |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmp2e3alytw/cEP-0020.md
+++ b/tmp/tmp2e3alytw/cEP-0020.md
@@ -1,17 +1,15 @@
-Newcomer metrics and Gamification
-=================================
+# Newcomer metrics and Gamification
-|Metadata| |
-|--------|-----------------------------------------------|
-|cEP |20 |
-|Version |1.0 |
-|Title |Newcomer metrics and Gamification system |
-|Authors |Shrikrishna Singh <[email protected]>|
-|Status |Proposed |
-|Type |Process |
+| Metadata | |
+| -------- | ------------------------------------------------------ |
+| cEP | 20 |
+| Version | 1.0 |
+| Title | Newcomer metrics and Gamification system |
+| Authors | Shrikrishna Singh <mailto:[email protected]> |
+| Status | Proposed |
+| Type | Process |
-Abstract
---------
+## Abstract
This cEP describe how a newcomer at coala will become a developer on the
basis of their activities in the community.
cEP-0020.md
Outdated
|
||
## Background | ||
|
||
### Newcomer Experience |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmp2e3alytw/cEP-0020.md
+++ b/tmp/tmp2e3alytw/cEP-0020.md
@@ -21,7 +21,7 @@
## Background
-### Newcomer Experience
+### Newcomer Experience
- How to attract more newcomers
- How to cope with the increasing amounts of newcomers
cEP-0020.md
Outdated
### Newcomer Experience | ||
|
||
- How to attract more newcomers | ||
- How to cope with the increasing amounts of newcomers |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmp2e3alytw/cEP-0020.md
+++ b/tmp/tmp2e3alytw/cEP-0020.md
@@ -24,9 +24,9 @@
### Newcomer Experience
- How to attract more newcomers
- - How to cope with the increasing amounts of newcomers
+ - How to cope with the increasing amounts of newcomers
- How to teach and help newcomers scalable so we can keep working on coala.
- - Talk to Docs team
+ - Talk to Docs team
- How to improve newcomer -> dev/maintainer ratio
- How to increase amount of feedback we get
- How to use feedback to improve coala and processes
cEP-0020.md
Outdated
- Talk to Docs team | ||
- How to improve newcomer -> dev/maintainer ratio | ||
- How to increase amount of feedback we get | ||
- How to use feedback to improve coala and processes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmp2e3alytw/cEP-0020.md
+++ b/tmp/tmp2e3alytw/cEP-0020.md
@@ -29,7 +29,7 @@
- Talk to Docs team
- How to improve newcomer -> dev/maintainer ratio
- How to increase amount of feedback we get
- - How to use feedback to improve coala and processes
+ - How to use feedback to improve coala and processes
## Why Gamification?
cEP-0020.md
Outdated
|
||
After we have the data, we need to track some important activities of newcomers like: | ||
|
||
* Created Issues |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmp2e3alytw/cEP-0020.md
+++ b/tmp/tmp2e3alytw/cEP-0020.md
@@ -79,15 +79,15 @@
After we have the data, we need to track some important activities of newcomers like:
-* Created Issues
-* Created Pull Requests
-* Number of Gitmate errors on the PR
-* CI status
-* Review Comments
-* Issue Comments
-* Number of PRs Reviewed
-* Activities on Gitter channles
-* Introduce `.coafile` in other projects
+- Created Issues
+- Created Pull Requests
+- Number of Gitmate errors on the PR
+- CI status
+- Review Comments
+- Issue Comments
+- Number of PRs Reviewed
+- Activities on Gitter channles
+- Introduce `.coafile` in other projects
Which will help us in showing useful metrics for newcomers on a dashboard.
cEP-0020.md
Outdated
- Creating and merging a PR for that issue | ||
- Reviewing at least one difficulty/low issue | ||
|
||
- **Points** will be the most applied element out of three game design elements. Acquiring points means that the actions performed by the users are in accordance with what was expected. Points can be earned by means of performing actions to the different tasks under levels. E.g.: If a user wants to go to next level he will have to collect a certain number of points from doing the tasks under levels. But in case of Level-II and Level-III if a user is not able to acquire the required number of points after performing all the tasks, he will have to review more PRs to collect the required points. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Line contains following spacing inconsistencies:
- Trailing whitespaces.
Origin: SpaceConsistencyBear, Section: spacing
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmpqhe2wf1y/cEP-0020.md
+++ b/tmp/tmpqhe2wf1y/cEP-0020.md
@@ -54,7 +54,7 @@
- Creating and merging a PR for that issue
- Reviewing at least one difficulty/low issue
-- **Points** will be the most applied element out of three game design elements. Acquiring points means that the actions performed by the users are in accordance with what was expected. Points can be earned by means of performing actions to the different tasks under levels. E.g.: If a user wants to go to next level he will have to collect a certain number of points from doing the tasks under levels. But in case of Level-II and Level-III if a user is not able to acquire the required number of points after performing all the tasks, he will have to review more PRs to collect the required points.
+- **Points** will be the most applied element out of three game design elements. Acquiring points means that the actions performed by the users are in accordance with what was expected. Points can be earned by means of performing actions to the different tasks under levels. E.g.: If a user wants to go to next level he will have to collect a certain number of points from doing the tasks under levels. But in case of Level-II and Level-III if a user is not able to acquire the required number of points after performing all the tasks, he will have to review more PRs to collect the required points.
- **Badges** enable newcomers to follow their performance and compare to other newcomers.**After completing the level three successfully the newcomer will be a developer**. And he will be awarded a badge based on their performance in each level and the total number of points.
cEP-0020.md
Outdated
@@ -0,0 +1,168 @@ | |||
# Newcomer metrics and Gamification | |||
|
|||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmpqhe2wf1y/cEP-0020.md
+++ b/tmp/tmpqhe2wf1y/cEP-0020.md
@@ -1,14 +1,13 @@
# Newcomer metrics and Gamification
-
-| Metadata | |
-| -------- | ---------------------------------------------- |
-| cEP | 20 |
-| Version | 1.0 |
-| Title | Newcomer metrics and Gamification system |
-| Authors | Shrikrishna Singh <[email protected]>|
-| Status | Proposed |
-| Type | Process |
+| Metadata | |
+| -------- | ------------------------------------------------------ |
+| cEP | 20 |
+| Version | 1.0 |
+| Title | Newcomer metrics and Gamification system |
+| Authors | Shrikrishna Singh <mailto:[email protected]> |
+| Status | Proposed |
+| Type | Process |
## Abstract
cEP-0020.md
Outdated
@@ -0,0 +1,168 @@ | |||
# Newcomer metrics and Gamification | |||
|
|||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmpcx1vqkf5/cEP-0020.md
+++ b/tmp/tmpcx1vqkf5/cEP-0020.md
@@ -1,14 +1,13 @@
# Newcomer metrics and Gamification
-
-| Metadata | |
-| -------- | ---------------------------------------------- |
-| cEP | 20 |
-| Version | 1.0 |
-| Title | Newcomer metrics and Gamification system |
-| Authors | Shrikrishna Singh <[email protected]>|
-| Status | Proposed |
-| Type | Process |
+| Metadata | |
+| -------- | ------------------------------------------------------ |
+| cEP | 20 |
+| Version | 1.0 |
+| Title | Newcomer metrics and Gamification system |
+| Authors | Shrikrishna Singh <mailto:[email protected]> |
+| Status | Proposed |
+| Type | Process |
## Abstract
cEP-0020.md
Outdated
- Creating and merging a PR for that issue | ||
- Reviewing at least one difficulty/low issue | ||
|
||
- **Points** will be the most applied element out of three game design elements. Acquiring points means that the actions performed by the users are in accordance with what was expected. Points can be earned by means of performing actions to the different tasks under levels. E.g.: If a user wants to go to next level he will have to collect a certain number of points from doing the tasks under levels. But in case of Level-II and Level-III if a user is not able to acquire the required number of points after performing all the tasks, he will have to review more PRs to collect the required points. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Line contains following spacing inconsistencies:
- Trailing whitespaces.
Origin: SpaceConsistencyBear, Section: spacing
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmpqhe2wf1y/cEP-0020.md
+++ b/tmp/tmpqhe2wf1y/cEP-0020.md
@@ -54,7 +54,7 @@
- Creating and merging a PR for that issue
- Reviewing at least one difficulty/low issue
-- **Points** will be the most applied element out of three game design elements. Acquiring points means that the actions performed by the users are in accordance with what was expected. Points can be earned by means of performing actions to the different tasks under levels. E.g.: If a user wants to go to next level he will have to collect a certain number of points from doing the tasks under levels. But in case of Level-II and Level-III if a user is not able to acquire the required number of points after performing all the tasks, he will have to review more PRs to collect the required points.
+- **Points** will be the most applied element out of three game design elements. Acquiring points means that the actions performed by the users are in accordance with what was expected. Points can be earned by means of performing actions to the different tasks under levels. E.g.: If a user wants to go to next level he will have to collect a certain number of points from doing the tasks under levels. But in case of Level-II and Level-III if a user is not able to acquire the required number of points after performing all the tasks, he will have to review more PRs to collect the required points.
- **Badges** enable newcomers to follow their performance and compare to other newcomers.**After completing the level three successfully the newcomer will be a developer**. And he will be awarded a badge based on their performance in each level and the total number of points.
cEP-0020.md
Outdated
@@ -0,0 +1,168 @@ | |||
# Newcomer metrics and Gamification | |||
|
|||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmpqhe2wf1y/cEP-0020.md
+++ b/tmp/tmpqhe2wf1y/cEP-0020.md
@@ -1,14 +1,13 @@
# Newcomer metrics and Gamification
-
-| Metadata | |
-| -------- | ---------------------------------------------- |
-| cEP | 20 |
-| Version | 1.0 |
-| Title | Newcomer metrics and Gamification system |
-| Authors | Shrikrishna Singh <[email protected]>|
-| Status | Proposed |
-| Type | Process |
+| Metadata | |
+| -------- | ------------------------------------------------------ |
+| cEP | 20 |
+| Version | 1.0 |
+| Title | Newcomer metrics and Gamification system |
+| Authors | Shrikrishna Singh <mailto:[email protected]> |
+| Status | Proposed |
+| Type | Process |
## Abstract
cEP-0020.md
Outdated
@@ -0,0 +1,167 @@ | |||
# Newcomer metrics and Gamification | |||
|
|||
| Metadata | | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmpet_nzsjr/cEP-0020.md
+++ b/tmp/tmpet_nzsjr/cEP-0020.md
@@ -1,13 +1,13 @@
# Newcomer metrics and Gamification
-| Metadata | |
-| -------- | ----------------------------------------------- |
-| cEP | 20 |
-| Version | 1.0 |
-| Title | Newcomer metrics and Gamification system |
-| Authors | Shrikrishna Singh <[email protected]> |
-| Status | Proposed |
-| Type | Process |
+| Metadata | |
+| -------- | ------------------------------------------------------ |
+| cEP | 20 |
+| Version | 1.0 |
+| Title | Newcomer metrics and Gamification system |
+| Authors | Shrikrishna Singh <mailto:[email protected]> |
+| Status | Proposed |
+| Type | Process |
## Abstract
cEP-0020.md
Outdated
- Creating and merging a PR for that issue | ||
- Reviewing at least one difficulty/low issue | ||
|
||
- **Points** will be the most applied element out of three game design elements. Acquiring points means that the actions performed by the users are in accordance with what was expected. Points can be earned by means of performing actions to the different tasks under levels. E.g.: If a user wants to go to next level he will have to collect a certain number of points from doing the tasks under levels. But in case of Level-II and Level-III if a user is not able to acquire the required number of points after performing all the tasks, he will have to review more PRs to collect the required points. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Line contains following spacing inconsistencies:
- Trailing whitespaces.
Origin: SpaceConsistencyBear, Section: spacing
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmpqhe2wf1y/cEP-0020.md
+++ b/tmp/tmpqhe2wf1y/cEP-0020.md
@@ -54,7 +54,7 @@
- Creating and merging a PR for that issue
- Reviewing at least one difficulty/low issue
-- **Points** will be the most applied element out of three game design elements. Acquiring points means that the actions performed by the users are in accordance with what was expected. Points can be earned by means of performing actions to the different tasks under levels. E.g.: If a user wants to go to next level he will have to collect a certain number of points from doing the tasks under levels. But in case of Level-II and Level-III if a user is not able to acquire the required number of points after performing all the tasks, he will have to review more PRs to collect the required points.
+- **Points** will be the most applied element out of three game design elements. Acquiring points means that the actions performed by the users are in accordance with what was expected. Points can be earned by means of performing actions to the different tasks under levels. E.g.: If a user wants to go to next level he will have to collect a certain number of points from doing the tasks under levels. But in case of Level-II and Level-III if a user is not able to acquire the required number of points after performing all the tasks, he will have to review more PRs to collect the required points.
- **Badges** enable newcomers to follow their performance and compare to other newcomers.**After completing the level three successfully the newcomer will be a developer**. And he will be awarded a badge based on their performance in each level and the total number of points.
cEP-0020.md
Outdated
@@ -0,0 +1,168 @@ | |||
# Newcomer metrics and Gamification | |||
|
|||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmpqhe2wf1y/cEP-0020.md
+++ b/tmp/tmpqhe2wf1y/cEP-0020.md
@@ -1,14 +1,13 @@
# Newcomer metrics and Gamification
-
-| Metadata | |
-| -------- | ---------------------------------------------- |
-| cEP | 20 |
-| Version | 1.0 |
-| Title | Newcomer metrics and Gamification system |
-| Authors | Shrikrishna Singh <[email protected]>|
-| Status | Proposed |
-| Type | Process |
+| Metadata | |
+| -------- | ------------------------------------------------------ |
+| cEP | 20 |
+| Version | 1.0 |
+| Title | Newcomer metrics and Gamification system |
+| Authors | Shrikrishna Singh <mailto:[email protected]> |
+| Status | Proposed |
+| Type | Process |
## Abstract
cEP-0020.md
Outdated
|
||
- How to attract more newcomers | ||
- How to cope with the increasing amounts of newcomers | ||
- How to teach and help newcomers scalable so we can keep working on coala. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
help newcomers scalable
sentence doesn't make sense to me
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe help newcomers to learn and grow faster which can help the community in getting more new contributors?
Actually, I copied the background section from here
cEP-0020.md
Outdated
|
||
## Why Gamification? | ||
|
||
As coala tries to be welcoming organization for newcomers, giving them clear pathways and as much direct assistance as possible. However, it is already known that newcomers face many barriers while attempting to contribute to the open source community for the first time. Some barriers they face include orientation issues that can potentially demotivate newcomers from placing their first contribution. On the other hand, gamification is widely used to engage and motivate people to accomplish task and improve their performance.Therefore, the goal of this project is to use gamification to orient and motivate newcomers to overcome onboarding barriers to contribute and engage with coala and its community. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
don't understand what is meant by orientation issues
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Problems someone face while trying to learn something for the first time?
cEP-0020.md
Outdated
|
||
## Why Gamification? | ||
|
||
As coala tries to be welcoming organization for newcomers, giving them clear pathways and as much direct assistance as possible. However, it is already known that newcomers face many barriers while attempting to contribute to the open source community for the first time. Some barriers they face include orientation issues that can potentially demotivate newcomers from placing their first contribution. On the other hand, gamification is widely used to engage and motivate people to accomplish task and improve their performance.Therefore, the goal of this project is to use gamification to orient and motivate newcomers to overcome onboarding barriers to contribute and engage with coala and its community. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
improve their performance.Therefore,
styling issue: space after full stop
cEP-0020.md
Outdated
|
||
## Process involved in the Gamification system | ||
|
||
As the goal of this project is to make use of metrics and gamification to motivate and support newcomers to overcome the orientation barriers to contribute to the community. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this sentence should end with a comma, the way it is framed
cEP-0020.md
Outdated
As the goal of this project is to make use of metrics and gamification to motivate and support newcomers to overcome the orientation barriers to contribute to the community. | ||
To achieve this goal we have selected three game design elements to help newcomers: Levels, Points, and Badges. For each of these elements, we will have a set of rules to describe the operation of the gamified environment. i.e.: | ||
|
||
- **Levels** group different tasks, enabling users to unlock specific and contextualize set of actions. Levels will be applied to make newcomers focus on a given step before moving ahead on the contribution process. E.g.: We will divide our newcomer process into three levels and each level will contain three tasks: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
contextualize contextual set of actions ??
cEP-0020.md
Outdated
- Creating and merging a PR for that issue | ||
- Reviewing at least one difficulty/low issue | ||
|
||
- **Points** will be the most applied element out of three game design elements. Acquiring points means that the actions performed by the users are in accordance with what was expected. Points can be earned by means of performing actions to the different tasks under levels. E.g.: If a user wants to go to next level he will have to collect a certain number of points from doing the tasks under levels. But in case of Level-II and Level-III if a user is not able to acquire the required number of points after performing all the tasks, he will have to review more PRs to collect the required points. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so the threshold for leveling up will be more that what you can earn by the minimum right? so that more reviews are encouraged
cEP-0020.md
Outdated
|
||
These all are just basic ideas, the process and tasks in the levels can be changed according to the use case and implementaion process. | ||
|
||
A similar process can also be extended and applied to developers to achieve more number of badges or something more. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
badges and points among developers sound cool. After a threshold developers can get the ability to atleast unack
PRs, apart from the issue I already opened about it. (I think it's gonna take time for the gitmate plugins to get out, but the recent comments on that which I have failed to read may be of importance over here). unack
does much much less harm than an ack
. A Gitlab like feature would also be beneficial over here, requiring acks by 3 or more developers can automatically assign the PRs a tag, like approved by developers
or something so that maintainers can clear them out as early as possible. ability to ack
can be given at a higher threshold.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Stretch goal stuff, don't let this get in the way of you completing the project
cEP-0020.md
Outdated
- Review Comments | ||
- Issue Comments | ||
- Number of PRs Reviewed | ||
- Activities on Gitter channles |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
channles --> channels
cEP-0020.md
Outdated
name='pullrequest') | ||
``` | ||
|
||
And then we will define defferent metics to track in each of the domain: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
metics --> metrics
cEP-0020.md
Outdated
|
||
### Gamification | ||
|
||
As we have already discuss the game elements involed in the gamification system, we will assign some points to each of the activities we will be tracking for a newcomer and then accordingly we will unlock the levels and provide them badges. now assuming the implementation of this process with [django-gamification](https://github.com/mattjegan/django-gamification) package, we need to link our `user` model to the gamification interface: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
involed --> involved
Thanks, @andrewda, for the suggestions! :) |
cEP-0020.md
Outdated
|
||
## Abstract | ||
|
||
This cEP describe how a newcomer at coala will become a developer on the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
describes
cEP-0020.md
Outdated
This cEP describe how a newcomer at coala will become a developer on the | ||
basis of their activities in the community. | ||
|
||
For the implementation of this process, we will build a gamification system |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
build incorporate a gamification system in which we will allow us to track ...
^I find this better, optional, anyway ;)
cEP-0020.md
Outdated
## Abstract | ||
|
||
This cEP describe how a newcomer at coala will become a developer on the | ||
basis of their activities in the community. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry for nitpicking: coala communnity
cEP-0020.md
Outdated
basis of their activities in the community. | ||
|
||
For the implementation of this process, we will build a gamification system | ||
in which we will track newcomer progress and assign some points to each of the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
newcomer progress makes no sense to me
maybe replace it with a newcomer's progress or progress of new contributors
cEP-0020.md
Outdated
- Talk to Docs team | ||
- How to improve newcomer -> dev/maintainer ratio | ||
- How to increase amount of feedback we get | ||
- How to use feedback to improve coala and processes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is this whole Newcomer Experience section about?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
John said to add the newcomer bullet points from here as a background part.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could copy edit them to make readable prose
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And decide if any are beyond the scope of your project, maybe with a section or paragraph explicitly indicating what is out of scope.
cEP-0020.md
Outdated
|
||
Assuming that we are using | ||
[django-trackstats](https://github.com/pennersr/django-trackstats) for tracking | ||
the statics of newcomers, then we will make different domains of similar set of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
statistics
cEP-0020.md
Outdated
level and the total number of points. | ||
|
||
These all are just basic ideas, the process and tasks in the levels can be | ||
changed according to the use case and implementaion process. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://github.com/coala/cEPs/blob/master/cEP-0000.md mentions:
After specifying features with a cEP they should be implemented as specified. Unspecified features should not be implemented.
Although, I don't know how strict this practice is.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these are cEPs for GSoC projects so imo some changes during the course of the projects are inevitable
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, all the ideas I have mentioned here is most probably confirm.
I was just saying we might change a few if we face some implementations difficulty, or if we don't have the good experience with a feature in the real world.
for the sake of earning points, to avoid this type of spam we will use some | ||
of the ideas from **Meta-review system**, i.e.: We will also check the reactions | ||
on the comments and if it is Thumbs Down we will not give any points to the | ||
newcomers. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still, the whole thread will be spammed and will become cumbersome to follow upon.
Maybe assigning negative points can be given a thought, which again can lead to certain kind of badges, followed by demotion or removal from the community. 😆
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have discussions about negative
points and we will implement it if it will not be so hard to implement.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we will use some of the ideas from Meta-review system
err, you dont need to do that. that is a separate GSoC project this year, and it will be providing data to the community data model, which your gamification system will hopefully use and/or provide the data model for. You probably want to go look at that cEP.
cEP-0020.md
Outdated
* Bad behavior message model | ||
|
||
So, before importing Gitter messages to our models we can check in which | ||
category this message fall? We can do that by applying |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this the
certain number of questions in a day. Then we will track both the message model | ||
of the newcomer and assign some points to both separately and see which model | ||
metric has grown fast or slow while the whole newcomer process and not promote | ||
them until they have learned to learn things by themselves. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This whole sentiment analysis approach needs to be revised IMO and should be clearly stated. Whatever you have mentioned is a little vague, no?
How about Can you review this? ? Begging for a review + Includes a question mark.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, that was just an idea from my side. Would be great if you could suggest me some patterns in both the category. :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will follow along during the implementation phase of this part. ;)
cEP-0020.md
Outdated
operation of the gamified environment. I.e.: | ||
|
||
- **Levels** group different tasks, enabling users to unlock specific and | ||
contextualized sets of actions. Levels will be applied to make newcomers |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmpbdj_g1ue/cEP-0020.md
+++ b/tmp/tmpbdj_g1ue/cEP-0020.md
@@ -58,10 +58,10 @@
operation of the gamified environment. I.e.:
- **Levels** group different tasks, enabling users to unlock specific and
-contextualized sets of actions. Levels will be applied to make newcomers
-focus on a given step before moving ahead on the contribution process.
-We will divide our newcomer process into three levels and each level
-will contain three tasks:
+ contextualized sets of actions. Levels will be applied to make newcomers
+ focus on a given step before moving ahead on the contribution process.
+ We will divide our newcomer process into three levels and each level
+ will contain three tasks:
- Level-I:
- Joining our gitter channel and the community
cEP-0020.md
Outdated
- Reviewing at least one difficulty/low issue | ||
|
||
- **Points** will be the most applied element out of three game design elements. | ||
Acquiring points means that the actions performed by the users are in accordance |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmpbdj_g1ue/cEP-0020.md
+++ b/tmp/tmpbdj_g1ue/cEP-0020.md
@@ -77,13 +77,13 @@
- Reviewing at least one difficulty/low issue
- **Points** will be the most applied element out of three game design elements.
-Acquiring points means that the actions performed by the users are in accordance
-with what was expected. Points can be earned by means of performing actions to
-the different tasks under levels. If a user wants to go to next level he
-will have to collect a certain number of points from doing the tasks from the
-previous level. But in case of Level-II and Level-III if a user is not able to
-acquire the required number of points after performing all the tasks, he will have
-to review more PRs to collect the required points.
+ Acquiring points means that the actions performed by the users are in accordance
+ with what was expected. Points can be earned by means of performing actions to
+ the different tasks under levels. If a user wants to go to next level he
+ will have to collect a certain number of points from doing the tasks from the
+ previous level. But in case of Level-II and Level-III if a user is not able to
+ acquire the required number of points after performing all the tasks, he will have
+ to review more PRs to collect the required points.
- **Badges** enable newcomers to follow their performance and compare to other
newcomers. **After completing the level three successfully the newcomer will be
cEP-0020.md
Outdated
to review more PRs to collect the required points. | ||
|
||
- **Badges** enable newcomers to follow their performance and compare to other | ||
newcomers. **After completing the level three successfully the newcomer will be |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmpbdj_g1ue/cEP-0020.md
+++ b/tmp/tmpbdj_g1ue/cEP-0020.md
@@ -86,9 +86,9 @@
to review more PRs to collect the required points.
- **Badges** enable newcomers to follow their performance and compare to other
-newcomers. **After completing the level three successfully the newcomer will be
-a developer**. And he will be awarded a badge based on their performance in each
-level and the total number of points.
+ newcomers. **After completing the level three successfully the newcomer will be
+ a developer**. And he will be awarded a badge based on their performance in each
+ level and the total number of points.
These all are just basic ideas; the process and tasks in the levels can be
changed according to the use case and implementaion process.
cEP-0020.md
Outdated
can apply some extra rules on Gitter messages, we will divide our message model | ||
into two parts: | ||
|
||
* Good behavior message model |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmpbdj_g1ue/cEP-0020.md
+++ b/tmp/tmpbdj_g1ue/cEP-0020.md
@@ -214,8 +214,8 @@
can apply some extra rules on Gitter messages, we will divide our message model
into two parts:
-* Good behavior message model
-* Bad behavior message model
+- Good behavior message model
+- Bad behavior message model
So, before importing Gitter messages to our models we can check in which
category the message fall? We can do that by applying
cEP-0020.md
Outdated
|
||
Basically, we will define two dictionaries of good and bad messages. | ||
In the bad one, we will keep patterns like “please review [issue link]”, | ||
“updated [issue link]”, “have a look [issue link]”, “[mention] [issue link]” |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmpbdj_g1ue/cEP-0020.md
+++ b/tmp/tmpbdj_g1ue/cEP-0020.md
@@ -224,7 +224,7 @@
Basically, we will define two dictionaries of good and bad messages.
In the bad one, we will keep patterns like “please review [issue link]”,
-“updated [issue link]”, “have a look [issue link]”, “[mention] [issue link]”
+“updated [issue link]”, “have a look [issue link]”, “[mention][issue link]”
etc. So, that a newcomer doesn’t beg for review all the time.
In the good one, we will have the pattern of questions so we will generally
match “?” in the end. But what happens if a newcomer started asking irrelevant
cEP-0020.md
Outdated
operation of the gamified environment. I.e.: | ||
|
||
- **Levels** group different tasks, enabling users to unlock specific and | ||
contextualized sets of actions. Levels will be applied to make newcomers |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmpbdj_g1ue/cEP-0020.md
+++ b/tmp/tmpbdj_g1ue/cEP-0020.md
@@ -58,10 +58,10 @@
operation of the gamified environment. I.e.:
- **Levels** group different tasks, enabling users to unlock specific and
-contextualized sets of actions. Levels will be applied to make newcomers
-focus on a given step before moving ahead on the contribution process.
-We will divide our newcomer process into three levels and each level
-will contain three tasks:
+ contextualized sets of actions. Levels will be applied to make newcomers
+ focus on a given step before moving ahead on the contribution process.
+ We will divide our newcomer process into three levels and each level
+ will contain three tasks:
- Level-I:
- Joining our gitter channel and the community
cEP-0020.md
Outdated
- Reviewing at least one difficulty/low issue | ||
|
||
- **Points** will be the most applied element out of three game design elements. | ||
Acquiring points means that the actions performed by the users are in accordance |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmpbdj_g1ue/cEP-0020.md
+++ b/tmp/tmpbdj_g1ue/cEP-0020.md
@@ -77,13 +77,13 @@
- Reviewing at least one difficulty/low issue
- **Points** will be the most applied element out of three game design elements.
-Acquiring points means that the actions performed by the users are in accordance
-with what was expected. Points can be earned by means of performing actions to
-the different tasks under levels. If a user wants to go to next level he
-will have to collect a certain number of points from doing the tasks from the
-previous level. But in case of Level-II and Level-III if a user is not able to
-acquire the required number of points after performing all the tasks, he will have
-to review more PRs to collect the required points.
+ Acquiring points means that the actions performed by the users are in accordance
+ with what was expected. Points can be earned by means of performing actions to
+ the different tasks under levels. If a user wants to go to next level he
+ will have to collect a certain number of points from doing the tasks from the
+ previous level. But in case of Level-II and Level-III if a user is not able to
+ acquire the required number of points after performing all the tasks, he will have
+ to review more PRs to collect the required points.
- **Badges** enable newcomers to follow their performance and compare to other
newcomers. **After completing the level three successfully the newcomer will be
cEP-0020.md
Outdated
to review more PRs to collect the required points. | ||
|
||
- **Badges** enable newcomers to follow their performance and compare to other | ||
newcomers. **After completing the level three successfully the newcomer will be |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmpbdj_g1ue/cEP-0020.md
+++ b/tmp/tmpbdj_g1ue/cEP-0020.md
@@ -86,9 +86,9 @@
to review more PRs to collect the required points.
- **Badges** enable newcomers to follow their performance and compare to other
-newcomers. **After completing the level three successfully the newcomer will be
-a developer**. And he will be awarded a badge based on their performance in each
-level and the total number of points.
+ newcomers. **After completing the level three successfully the newcomer will be
+ a developer**. And he will be awarded a badge based on their performance in each
+ level and the total number of points.
These all are just basic ideas; the process and tasks in the levels can be
changed according to the use case and implementaion process.
cEP-0020.md
Outdated
can apply some extra rules on Gitter messages, we will divide our message model | ||
into two parts: | ||
|
||
* Good behavior message model |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmpbdj_g1ue/cEP-0020.md
+++ b/tmp/tmpbdj_g1ue/cEP-0020.md
@@ -214,8 +214,8 @@
can apply some extra rules on Gitter messages, we will divide our message model
into two parts:
-* Good behavior message model
-* Bad behavior message model
+- Good behavior message model
+- Bad behavior message model
So, before importing Gitter messages to our models we can check in which
category the message fall? We can do that by applying
cEP-0020.md
Outdated
|
||
Basically, we will define two dictionaries of good and bad messages. | ||
In the bad one, we will keep patterns like “please review [issue link]”, | ||
“updated [issue link]”, “have a look [issue link]”, “[mention] [issue link]” |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmpbdj_g1ue/cEP-0020.md
+++ b/tmp/tmpbdj_g1ue/cEP-0020.md
@@ -224,7 +224,7 @@
Basically, we will define two dictionaries of good and bad messages.
In the bad one, we will keep patterns like “please review [issue link]”,
-“updated [issue link]”, “have a look [issue link]”, “[mention] [issue link]”
+“updated [issue link]”, “have a look [issue link]”, “[mention][issue link]”
etc. So, that a newcomer doesn’t beg for review all the time.
In the good one, we will have the pattern of questions so we will generally
match “?” in the end. But what happens if a newcomer started asking irrelevant
cEP-0020.md
Outdated
We will divide our newcomer process into three levels and each level | ||
will contain three tasks: | ||
|
||
- Level-I: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmpsaib1jfs/cEP-0020.md
+++ b/tmp/tmpsaib1jfs/cEP-0020.md
@@ -63,18 +63,18 @@
We will divide our newcomer process into three levels and each level
will contain three tasks:
- - Level-I:
- - Joining our gitter channel and the community
- - Running CI tools on your fork
- - Running coala-ci on a popular github repo
- - Level-II:
- - Getting assigned to a difficulty/newcomer issue
- - Creating and merging PR for that issue
- - Reviewing at least one difficulty/newcomer issue
- - Level-III:
- - Getting assigned to a difficulty/low issue
- - Creating and merging a PR for that issue
- - Reviewing at least one difficulty/low issue
+ - Level-I:
+ - Joining our gitter channel and the community
+ - Running CI tools on your fork
+ - Running coala-ci on a popular github repo
+ - Level-II:
+ - Getting assigned to a difficulty/newcomer issue
+ - Creating and merging PR for that issue
+ - Reviewing at least one difficulty/newcomer issue
+ - Level-III:
+ - Getting assigned to a difficulty/low issue
+ - Creating and merging a PR for that issue
+ - Reviewing at least one difficulty/low issue
- **Points** will be the most applied element out of three game design elements.
Acquiring points means that the actions performed by the users are in accordance
cEP-0020.md
Outdated
We will divide our newcomer process into three levels and each level | ||
will contain three tasks: | ||
|
||
- Level-I: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmpsaib1jfs/cEP-0020.md
+++ b/tmp/tmpsaib1jfs/cEP-0020.md
@@ -63,18 +63,18 @@
We will divide our newcomer process into three levels and each level
will contain three tasks:
- - Level-I:
- - Joining our gitter channel and the community
- - Running CI tools on your fork
- - Running coala-ci on a popular github repo
- - Level-II:
- - Getting assigned to a difficulty/newcomer issue
- - Creating and merging PR for that issue
- - Reviewing at least one difficulty/newcomer issue
- - Level-III:
- - Getting assigned to a difficulty/low issue
- - Creating and merging a PR for that issue
- - Reviewing at least one difficulty/low issue
+ - Level-I:
+ - Joining our gitter channel and the community
+ - Running CI tools on your fork
+ - Running coala-ci on a popular github repo
+ - Level-II:
+ - Getting assigned to a difficulty/newcomer issue
+ - Creating and merging PR for that issue
+ - Reviewing at least one difficulty/newcomer issue
+ - Level-III:
+ - Getting assigned to a difficulty/low issue
+ - Creating and merging a PR for that issue
+ - Reviewing at least one difficulty/low issue
- **Points** will be the most applied element out of three game design elements.
Acquiring points means that the actions performed by the users are in accordance
cEP-0020.md
Outdated
|
||
So, before importing Gitter messages to our models we can check in which | ||
category the message fall? We can do that by applying | ||
[basic sentiment analysis]( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text does not comply to the set style.
Origin: MarkdownBear, Section: markdown
.
The issue can be fixed by applying the following patch:
--- a/tmp/tmpysgsag5f/cEP-0020.md
+++ b/tmp/tmpysgsag5f/cEP-0020.md
@@ -219,8 +219,7 @@
So, before importing Gitter messages to our models we can check in which
category the message fall? We can do that by applying
-[basic sentiment analysis](
-http://fjavieralba.com/basic-sentiment-analysis-with-python.html)
+[basic sentiment analysis](http://fjavieralba.com/basic-sentiment-analysis-with-python.html)
on the messages.
Basically, we will define two dictionaries of good and bad messages.
cEP-0020.md
Outdated
contribute to the community, to achieve this goal we have selected three | ||
game design elements to help newcomers: Levels, Points, and Badges. For | ||
each of these elements, we will have a set of rules to describe the | ||
operation of the gamified environment. I.e.: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I.e.
i.e.
For getting the stats of newcomer's messages, we will use | ||
[Gitter API](https://developer.gitter.im/docs/messages-resource) and import | ||
all the messages to newcomers or by newcomers in our webservices with some | ||
textual analysis for avoiding spam. And then we will import the final analysis |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is the benefit of avoiding spam. we dont get much of it, and it will be associated with users who dont contribute code (are not ever going to be developers), so it will just be a tiny bit of unfindable data in the DB that is never surfaced on the website.
IMO not worth the effort of removing it.
It is easier for us to remove real spam from gitter by deleting the messages.
[Gitter API](https://developer.gitter.im/docs/messages-resource) and import | ||
all the messages to newcomers or by newcomers in our webservices with some | ||
textual analysis for avoiding spam. And then we will import the final analysis | ||
of the messages to our community repo for tracking and gamification process. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the analysis, and algorithms, belong in the community repo, as that is where you have the django gamification tools.
cEP-0020.md
Outdated
textual analysis for avoiding spam. And then we will import the final analysis | ||
of the messages to our community repo for tracking and gamification process. | ||
|
||
We will have different django models for each category like for GitHub/GitLab |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this paragraph doesnt belong in the 'Gitter' section.
for the sake of earning points, to avoid this type of spam we will use some | ||
of the ideas from **Meta-review system**, i.e.: We will also check the reactions | ||
on the comments and if it is Thumbs Down we will not give any points to the | ||
newcomers. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we will use some of the ideas from Meta-review system
err, you dont need to do that. that is a separate GSoC project this year, and it will be providing data to the community data model, which your gamification system will hopefully use and/or provide the data model for. You probably want to go look at that cEP.
cEP-0020.md
Outdated
As the goal of this project is to make use of metrics and gamification to | ||
motivate and support newcomers to overcome the orientation barriers and | ||
contribute to the community, to achieve this goal we have selected three | ||
game design elements to help newcomers: Levels, Points, and Badges. For |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we need to "Activities" here too. As I understand it, they are the raw actions.
And I am not understanding the way they are all related.
A worked example would be helpful.
What is the relationship between Activities and Points. Is each activity given a configurable number of points?
cEP-0020.md
Outdated
able to acquire the required number of points after performing all the tasks, | ||
he will have to review more PRs to collect the required points. | ||
|
||
- **Badges** enable newcomers to follow their performance and compare to other |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should be modeling badges based on https://openbadges.org/ , where they are a visual representation of learning outcomes achieved, and those are not necessarily coala specific.
As a result, each badge would be a predefined grouping of activities, possibly requiring the activities have been done several times.
'coala Developer' would be one coala specific badge, and we would need to version that badge, as the definition of that badge would change over time.
But most newcomers would work towards more basic badges like 'git beginner' , 'git rebaser', 'markdown editor', 'markdown reviewer', 'python coder basic', 'python reviewer', 'JS coder basic', 'JS reviewer'. Those are badges they can 'take' with them even if they have no intention of becoming a 'coala developer'.
cEP-0020.md
Outdated
|
||
- **Badges** enable newcomers to follow their performance and compare to other | ||
newcomers. **After completing the level three successfully the newcomer will | ||
be a developer**. And he will be awarded a badge based on their performance |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I really dont get this sentence (or the previous one in bold).
based on on their performance ..
Is that automated, or are badges manually awarded?
If automated, how is performance measured?
Is performance different from points?
cEP-0020.md
Outdated
be a developer**. And he will be awarded a badge based on their performance | ||
in each level and the total number of points. | ||
|
||
These all are just basic ideas; the process and tasks in the levels can be |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this cEP needs to describe precisely what the community will be able to do with the result of this project.
Specifically, we need an example definition of a 'coala developer' and how the newcomer gets there.
And, what alternative definitions of a 'coala developer' will be possible without new coding. i.e. how configurable will this be.
And, what are the intermediary items a newcomer can 'earn' in this system on their pathway to 'coala developer'. If the system is very configurable, the cEP may not describe every pathway as each person will travel their own different path.
cEP-0020.md
Outdated
These all are just basic ideas; the process and tasks in the levels can be | ||
changed according to the use case and implementaion process. | ||
|
||
A similar process can also be extended and applied to developers to achieve more |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This sentence needs to be adjusted to indicate that post-developer is out of scope for this project, but it is right to say that this project could be used in the future to build something similar for developers.
@jayvdb, I have revised the whole idea part from the beginning, please have a look. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sks444 This is great! Just some points from my side.
Also, these review comments don't expect any change in cEP - Just some implementation details/challenges. 😄
newcomers to take. i.e.: | ||
|
||
- Created Issues by a Newcomer | ||
- Created Pull Requests by a Newcomer |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Misusing by making excessive PRs (knowingly or unknowingly)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ya we need to track closed-not-merged PRs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
" by a Newcomer" - eh ... this cEP is all about newcomers, so why mention it here and in other activities?
non-Newcomer stuff is out of scope for your project.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@prnvdixit @sks444 , yes we need to think about abuse. I've mentioned it frequently, but it isnt dealt with in detail in the cEP yet, probably as the bottom half hasnt been overhauled yet.
The problem is where do we record abusing behaviour so that this system can use it. Obtaining a feed of feedback from corobo is possible approach, but corobo is currently not storing state, and I doubt we would do that.
Meta-review provides a lot of opportunity for storing state, but it doesnt cover everything. It especially does not cover gitter/IM behaviour.
We may want to look at replies to a newcomer IM messages as a way to create a feedback loop there.
One concern with the schema design below is that the points dont seem to link to specific actions, so it wont be possible to use the data to see which actions counted and which ones didnt, which makes it harder to diagnose why a score isnt as high as it should be, which becomes especially relevant if there are rules aimed at preventing scores for potentially abuse behaviour.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One concern with the schema design below is that the points dont seem to link to specific actions, so it wont be possible to use the data to see which actions counted and which ones didnt, which makes it harder to diagnose why a score isnt as high as it should be,
This gets me to thinking - Shouldn't there be any logs being maintained for all increments/decrements of points (I'm thinking of a possibility if something goes wrong, we can just use (maybe manually) some deferred or immediate modification recovery)?
- Created Pull Requests by a Newcomer | ||
- Number of Gitmate errors on the PR | ||
- CI status of the PR | ||
- Number of reviews done by a Newcomer |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Spammy reviews - Things which does count as a review but isn't actually a review to be specific. Eg. Just adding a review Check coala.io/commit.
would be suitable for most of newcomer PRs. Valid but insufficient review.
Adding this is not necessarily part of the goal ^^ 😅
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, Spammy reviews will be covered in the meta review projcet #131 (comment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll look at that cEP as well then in a day or two, travelling rn 😅
- Number of Gitmate errors on the PR | ||
- CI status of the PR | ||
- Number of reviews done by a Newcomer | ||
- Number of comments in one review by a Newcomer |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some people can just review for the sake of points - As @prnvdixit said in his review........
. Maybe add a system to allow PR owner to give points to the reviewer?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I also had an idea for that is to also check the reactions on the review comments, E.g.: if its thumbs up, we will assign him the points and vice versa, But this thing is taking into consideration in the very vague way in the meta-review project and as John said here
it will be providing data to the community data model
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense then 😄
- Review at least a difficulty/low or higher Pull Request | ||
|
||
So, for becoming a developer at coala, a newcomer must complete all the | ||
activities mentioned in the `coala Developer` badge. But in case |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you accidentally omit something here? The sentence is incomplete. 😄
In the good one, we will have the pattern of questions so we will generally | ||
match “?” in the end. But what happens if a newcomer started asking irrelevant | ||
questions? So for that, we can also define a rule like a newcomer can only ask a | ||
certain number of questions in a day. Then we will track both the message model |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Umm... "certain" seems a bit "harsh" - No? I mean everyone does ask a lot of questions during onboarding phase. 😅
Are we thinking of an easy (maybe private to repo owners) way of decrementing someone's points in case some abuse is detected? Easy, so that it's not much of a hassle for the maintainer to do so - Maybe a corobo command for maintainers/owners only. |
For the implementation of this process, we will incorporate a gamification | ||
system which will allow us to track newcomer's progress and assign some | ||
points to each of the activity they do. We will also have different levels | ||
and give them badges on the basis of points earned and performed activities |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
badges on the basis of points earned and performed activities
Im not sure about this.
badges are about skills, and points are not.
It should at least be
badges on the basis of performed activities and points given for those activities.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or
badges on the basis of how many times they have performed an activity.
As coala tries to be a welcoming organization for newcomers, it gives them | ||
clear pathways and as much direct assistance as possible. However, it is | ||
already known that newcomers face many barriers while attempting to contribute | ||
to the open source community for the first time. Some barriers they face include |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
to the open source community for the first time.
to open source for the first time, and additional barriers while attempting to contribute to projects run by the coala organisation.
The next sentence (Some barriers) is better as a new paragraph as it moves from broad&vague to specific information
build a gamified design. The first step is to define the activities that we want | ||
newcomers to take. i.e.: | ||
|
||
- Created Issues by a Newcomer |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the paragraph above you talk about rules, and points, but dont define any rules, or how points are calculated.
The first real specific information here is ... these activities.
We will be recording how many issues the person creates?
If so, that is the most basic element in the design.
Create a separate section for Activities, put it before all of this points, levels, badges stuff.
newcomers to take. i.e.: | ||
|
||
- Created Issues by a Newcomer | ||
- Created Pull Requests by a Newcomer |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
" by a Newcomer" - eh ... this cEP is all about newcomers, so why mention it here and in other activities?
non-Newcomer stuff is out of scope for your project.
- Activities on Gitter channels | ||
- Introduce `.coafile` in other projects | ||
|
||
Then we will assign some points to each of the activity a newcomer perform. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
who is "we". Remove that word everywhere. Be specific about who will do this, even if it is only 'the organisation' vs 'this project'.
i.e. does this project define these values, or will the organisation be able to configure it? Will the organisation be able to change these values any time they like?
- Reviewing at least one difficulty/low issue | ||
|
||
But that would be hard to implement and out of the scope of this project | ||
as we can't automatically prevent newcomers from performing the activities |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
as we can't automatically prevent newcomers ...
This is not relevant to gamification. It is not expected that participants do not do all activities in order; it is expected that the gamification changes their level when they have met the pre-reqs, irrespective of what additional activities they have done which are not related to the next level they are seeking.
- Badge-III: | ||
- Name: The coder | ||
- Details: The one who code | ||
- Activity: Merged at least 3 or more PRs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This Activity
/ Activities
item is the important one.
To begin with, if it can include multiple, then it should always be Activities:
and have sub-items underneath it.
It should use the same activity name as mentioned in the activities listed earlier, with a note that it needs to have been done three times.
- Badge-II: | ||
- Name: The reviewer | ||
- Details: The one who review others pull requests | ||
- Activities: Reviewed at least 4 or more PRs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bad example at the moment, as reviews will rely on meta-review.
IMO replace this badge with something else, or just remove it.
- Name: High | ||
- Points_required = 300 | ||
|
||
More complex designs, such as awarding levels based on consecutive activities |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If levels can be achieved by doing a set of activities, how does that differ from a badge? When should we use a level vs a badge?
If level is only points based, people will expect to be able to compare the levels sanely. Two different newcomers doing different types of activities might have similar points - ensuring they are on a similar level depends on getting the points allocation correct. ouch.
If level is only points based, the proposed model is quite similar to stackoverflow with
- points - reputation,
- badges (customised sets of pre-reqs),
- and privileges (point count thresholds)
I think most people earn badges and privileges on stackoverflow at roughly the same rate, but I guess some people might get lots of points without getting new badges.
If we are doing points only levels, we probably want to do the same as stackoverflow, allocating privileges to point thresholds, otherwise these levels are not very valuable.
This means people dont try to compare the effort by two people with similar levels -- when a person gets new privileges they usually start using them, and become more active. As the levels in stackoverflow have exponentially increasing thresholds, two people on the same level are busy trying to use those privileges to get to the next level.
If we dont allocate some value to these points thresholds, people will only aim for the badges.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What privileges could we give to them in each of the levels?
- The one I could think of is to give them permission to use corobo after the completion of level one?
Also, it would be good to have some privileges after a newcomer has earned the coala Developer
badge.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another one suggested by @ishanSrt:
- Give permission to ping maintainers on gitter after some points threshold.
newcomers to take. i.e.: | ||
|
||
- Created Issues by a Newcomer | ||
- Created Pull Requests by a Newcomer |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@prnvdixit @sks444 , yes we need to think about abuse. I've mentioned it frequently, but it isnt dealt with in detail in the cEP yet, probably as the bottom half hasnt been overhauled yet.
The problem is where do we record abusing behaviour so that this system can use it. Obtaining a feed of feedback from corobo is possible approach, but corobo is currently not storing state, and I doubt we would do that.
Meta-review provides a lot of opportunity for storing state, but it doesnt cover everything. It especially does not cover gitter/IM behaviour.
We may want to look at replies to a newcomer IM messages as a way to create a feedback loop there.
One concern with the schema design below is that the points dont seem to link to specific actions, so it wont be possible to use the data to see which actions counted and which ones didnt, which makes it harder to diagnose why a score isnt as high as it should be, which becomes especially relevant if there are rules aimed at preventing scores for potentially abuse behaviour.
Migrate to #150 |
No description provided.