Week 16

I have decided to try my luck with p5js. They showed a very straightforward to contributing to the community. Different pages help you guide through the website and the different elements you can contribute to. The different ways of contributing are :

  • Creating an example for a specific example
  • If you find a mistake somewhere you could raise an issue and correct it
  • You can help with the translation of the project
  • You can even make detailed tutorials and submitted

Compare to the other project I was working on, it was much easier to contribute as a beginner contributor. The community is based on learning as so, any skills you can have helps to contribute.

Once I decided I would contribute to P5js, I searched where I could add something useful. I found in the examples category a lack of examples for trigonometry (which is one of my interests). I created a simple sketch using trigonometry, mixing cos, sin and tan, to create beautiful shapes.

Here is the code I submitted:

/*
 * @name Trigonometry and Particles
 * @arialabel multiple white dot moving in pattern following trigonometry function 
 * @description Creative particle movement using cos(), sin() and tan(). You can sort 
 * through the different functions.
 */
let f = 0;
let value = 0;
let clicked = 0;
let x = 0;
let y = 0;

function Super_Tornado() {
   ratio = frameCount * 0.01;
  points = [];
  fill(255);
  for (let i = 0; i <= 360; i += 0.1) {
    let theta = radians(i * ratio);
    if (value == 0) {
      x = cos(theta) * i;
      y = sin(theta) * i;
    }
    if (value == 1) {
      x = cos(1 / theta) * i * tan(i);
      y = sin(1 / theta) * i * tan(i);
    }
    if (value == 2) {
      x = cos(theta) * log(i) * tan(i);
      y = sin(1 / theta) * log(i) * tan(i);
    }
    if (value == 3) {
      x = cos(theta) * i * tan(i);
      y = sin(log(theta)) * i / tan(i);
    }
    if (value == 4) {
      x = cos(theta) * i / 3 * sin(theta) * tan(f + 1);
      y = sin(1 / theta) * i / 3 * log(i) * tan(i);
    }

    ellipse(x, y, 3, 3);

    points.push({
      'x': x,
      'y': y
    })
  }
}

function setup() {
  createCanvas(400, 400);
  noStroke();
}

function draw() {
  background(30);
  translate(width / 2, height / 2);
  ratio = frameCount * 0.01;
  points = [];
  Super_Tornado();
}

function mouseClicked() {
  if (clicked < 5) {
    clicked++;
    value++;
  } else {
    clicked = 0;
    value = 0;
  }
}

The process is rather simple. You first raise an issue indicating you are going to create an example. After you have written an example you have to indicate on the top of the page the name and the description of the sketch. After verifying that everything works using a local server you create a pull request on the p5js-website board.

My pull request is called Trigonometry example and was submitted on 05/06/2022.

Week 15

I have been trying to understand the code. I can understand it but the task I put myself into is muuuch bigger than what I can achieve. It would take a team and a few weeks to complete. I also have had some issues communicating with the team. I have decided that I am going to try and contribute to another project.

Topic 3: Community

What strategies and methods did you find relevant when coming closer to the communities and projects you are contributing to?


When I first started searching for a community to contribute to, I wanted to participate in a community that had an easy way of speaking with each other. Even if GitHub can be used to communicate between people and to highlight different issues in the code, people might not be very active as it is not the main point of GitHub.

So I decided to only try to search community with a discord account. I found the project I am working on, and as I wanted, they had a discord channel. It is quite active with around 1 to 2 messages per week. When I started working on the project, it was very easy to join the conversation. People were welcoming and actively trying to help me.

However, once I started working on the code and using GitHub to discuss precise issues without polluting the main channel, the messages were sparsed.

I also found it was nice to search the different aspects the project could touch, on to better understand the culture of the project.

At the moment, I am still waiting for answers to my questions, but they should be resolved in a bit.

Topic 5: user testing and community feedback

What methods can you make use of for testing your code and hearing feedback on your contribution? How do you communicate with your community and audience while developing work in progress or sharing the final outcome?


In Cboard, the community is divided into three, the coder and maker of the project, the person using the communication device and their carer.

Everyone’s needs have to be met to create a good product. For the user aspect, it is important to make it very accessible and understandable for the user and caretaker. Cboard is used on a tablet, it has to be correctly calibrated to different hardware. In this case, it is important to organize testing sessions to understand how a user would use Cboard, what are their reflexes and what they want to communicate. Regular testing sessions would be a key to the best development of the project. The tests could include the test of precise parts of the project, such as tiles sizes. It will be also important to include global studies of the product being used in a non conducted test.

On the other hand, the contributor community is key. They have been the ones creating the project from the translation of the vocabulary, the drawings of the pictograms and the code. The project is present on multiple platforms allowing for better communication. They are on Github and Discord. People can easily communicate and escalate an issue. On the discord platform, they often share examples of Cboard being used. It helps for motivating the contributors and it also gives examples of how it is used. On the GitHub of the project, the use of the issues and pull requests tab are the main people contribute and rise their concerns.

Outside of Cboard, there are many ways to communicate with an audience using social media. TikTok is a good example to create interest in a project. the communication of a project depends also on the essence of a subject. A video game might have a different community and ‘needs’ than Cboard. For video games, sharing alphas and betas of the project to test would be the best action.

Topic 7: FLOSS Futures

As computational techniques develop, what do you see changing in the community you are contributing to? What future challenges and what ethical issues should you consider for a future to come?


I am working on a communication device that allows a non-verbal person to speak. There are many techniques/technologies that could make the project evolve.

First, the use of AI could be a great add on. It could help to translate different language dictionaries, making Cboard available to a larger audience. It could also be used to predict sentences the user is creating, accelerating the time it takes to make a sentence.

However, the project was created with disabled people in mind, and their understanding of their data, and how it is collected and used, might be limited. They are also more vulnerable to catfish and abuse in the digital realm.

In Cboard there is a space to see all the data collected by the software. It shows you the word most used and used most recently. It is an interesting feature for the caretaker. It can help them learn more about the individual. Although, at the same time, it allows any person that can access the account able to see what the user is saying. It could be dangerous in a situation where the user wants to take preventive measures against someone that has access to the account.

On another point, I think the future of the speaking device is bright. They are used in a lot of different disabilities, from non-verbal autism to cerebral palsy or Alzheimer’s. There are many ways to improve them. For example, Stephen Hawking’s speaking device used eye movement as a selection. Most communication devices are very expensive, the hardware and software can go up to a few thousand. As so projects like Cboard are an amazing idea to help people with disability to talk and advocate for themselves.

Topic 1: Licenses

How did the lecture on copyleft licenses inform your license choice?


For a long time, I have been drawing and producing art. I always had a hard time posting my production on the internet in the tiny chance that it could be stolen.

There are different aspects I like to consider in this case. On one hand, I like the idea that my project could inspire someone. In some licenses the creator needs to be cited even if it is free to use. I like the fact that your creation can be used by others to be helpful or even just for fun. The best would be that the user could ask for the work which then would create a conversation around it.

I had a fun experience with it. I once published a small story that happened to me on Reddit. Someone contacted me to ask if they could use it in one of their videos on youtube. I was very amused and quite happy that someone could find the story entertaining. I accepted. They later sent me the link to the video which I enjoyed.

However, the idea that someone could use my work on a project that would make them gain money without citing or asking me makes me anxious to share.

Another aspect of the license that I discovered was the quite arbitrary way the license could someone. Some are very entertaining and surprising such as the Non White Heterosexual Male License or The Vaccine License. Almost anyone can participate or use those unconventional license but I wonder, if it is taken seriously, what could be the impact of those.

week 9

I have been trying to work on the project. I became really frustrated by the code as it is a gigantic mess of lines that are not commented on. As I try to find where I should modify the project I completely forget that I could ask for help and also more importantly how they wanted to make it. I have sent a message on the issue. I hope it’s going to be answered quickly so I can work on the issue.

Week 4

I have searched for a long time for an interesting project I could work on. I wanted to help with a useful and non-profit project. At first, I wanted to work on games but I finally found a project that I found more interesting: Cboard. I also choose this project because it was easy to contact the community working on it. On the GitHub page, there is a discord channel directly linked to it.

I have been dreading posting on the discord channel. But this week I have finally posted. The result is a bit underwhelming. I will choose what I will work on next week.

Topic 6 – contributing beyond code

Topic 6: ‘contributing beyond code’ (What other forms beyond code can complement your contribution? How can you improve the outreach and accessibility by considering other non-code related contributions?)


The project I chose is a communication aid. In this case, I speak French and English to a good level. One of my first points of entry was to see if I could help develop the vocabulary in any of those languages. However, both languages are quite common and have a strong community of involved people. As so, the vocabulary needed in both cases was already available.

There are many other aspects of production that need involvement in this particular project but also in other projects. For example, graphic design is one aspect that people can easily contribute to without being too involved. The design of the product in itself can also be something people contribute to in a more long-term aspect.

Being on the internet, there have been many instances where community work doesn’t involve coding. A trivial example would be the recent event in r/place. In the French community, some streamers organized teams and with the help of a coded grid, people could create and defend the french corner in the interactive canvas.

Another project I remember participating in was a project using user participation to read WWI soldier letters. Those historic documents were in great number and with the help of the community, thousands of letters were able to be decorticated.

There are many other ways to help a community without having knowledge in one field or coding ability. The application Dreamlab is a vodaphone-produced app using phones to help calculate results from data collected.