Skip to content

Google Season of Docs

Cassie Tarakajian edited this page Mar 9, 2021 · 29 revisions

Welcome! This page contains a list of ideas and how you can help contribute to the Processing Foundation's work on p5.js for Google Season of Docs.

For all of our projects, it's incredibly important that things are kept as simple and user-friendly as possible. Our work is not for developers, it's for people who are less familiar with code, and/or just want to get things done. We're especially interested in documentation projects that lower the barrier to entry for new users or contributors and make it easier for them to get started.

In addition to this list, we track specific bugs and enhancements via github issues:

Google Season of Docs 2021

If you have questions about an idea or need guidance on forming your proposal, please post to the Processing Forum. This is the best way to get feedback and develop your idea. This makes it possible for everyone to learn from your questions and contribute their thoughts.

Project Ideas

p5.js is a JavaScript library that starts with the original goal of Processing, to make coding accessible for artists, designers, educators, beginners, and reinterprets this for today's web. Using the original metaphor of a software sketchbook, p5.js has a full set of drawing functionality. However, you’re not limited to your drawing canvas, you can think of your whole browser page as your sketch! p5.js has addon libraries that make it easy to interact with other HTML5 objects, including text, input, video, webcam, and sound. p5.js is a new interpretation of Processing, not an emulation or port, and it is in active development.

+ New contributor onboarding experience

This project involves thinking about the experience for new contributors to the project. How can the README, developer_docs, and other documentation be improved to make it easier for new people to contribute, especially those without deep experience coding or contributing to open source? This may also involve looking at github community communications and implementing structures that enable new contributors to get help in making their first pull requests.

  • Expected Outcomes: Update of contributor docs, implementation of new community practices for facilitating beginners in contributing.
  • Possible Mentors: Stalgia Grigg
  • Skills Required: JavaScript, GitHub, communication skills
  • Difficulty: beginner, intermediate, or advanced

+ Project navigation for contributors

In 2018 working with one of our Fellows, Vijith Assar (https://medium.com/processing-foundation/a-p5-js-dissection-manual-38959ff8522e), we began to add documentation throughout the github repository to aid in project navigation. This resulted in readme files in src/ directory folders like this and this, as well as a readme in the developer_docs/ directory that outlines the project structure. The goal of this project would be to extend this documentation to more of the repository, so it's easier for contributors to navigate the project and understand the purpose of the various files and pieces of code.

  • Expected Outcomes: Update of contributor docs, implementation of new community practices for facilitating beginners in contributing.
  • Possible Mentors: Lauren McCarthy
  • Skills Required: JavaScript, GitHub, communication skills
  • Difficulty: intermediate or advanced

+ Internationalization improvements

Currently the p5.js website supports translations for Spanish and Simplified Chinese. Both of these could use updated translations for sections of the text. This page gives an overview of the translation process. Alternatively, a participant might propose adding another language that is not currently supported.

  • Expected Outcomes: Update of p5js.org translations, or addition of a new language
  • Skills Required: Fluency in a second language besides English, JavaScript, familiarity with Github or version control
  • Difficulty: beginner, intermediate, or advanced

+ Improve Friendly Error System (FES) and documentation

The Friendly Error System (FES) is a system designed to help new programmers with common user errors as they get started learning. It catches common beginning errors and provides clear language and links to help a user resolve the error. This project would involve improving the FES documentation. This might mean things like updating the FES developer doc, and adding comments inline to the code. Another big goal we have is to add internationalization/localization to the FES so error messages may be given in different languages.

  • Expected Outcomes: Improvement of p5.js FES and documentation
  • Skills Required: JavaScript, familiarity with Github or version control
  • Possible Mentors: Evelyn Masso
  • Difficulty: intermediate, advanced

p5.js Editor The p5.js Editor is a platform for creative coding, with a focus on making coding accessible for as many people as possible, including artists, designers, educators, beginners, and anyone who wants to learn. Simply by opening the website you can get started writing p5.js sketches without downloading or configuring anything. The editor is designed with simplicity in mind by limiting features and frills. We strive to listen to the community to drive the editor’s development, and to be intentional with every change. The editor is free and open-source.

+ Internationalization improvements

Currently the p5.js Editor supports translations for Spanish, Japanese, and Hindi. A participant could translate the p5.js Editor to a language not currently supported. They could also translate the contributor docs, which have only been translated to Korean. They could also create a system for making sure translations stay in sync when there are changes to the p5.js Editor in English or the contributor docs in English.

  • Expected Outcomes: A new editor.p5js.org translation, a new p5.js editor contributor docs translation, or a system to keep translations in sync
  • Skills Required: Fluency in a second language besides English, JavaScript, familiarity with Github or version control
  • Difficulty: beginner, intermediate, or advanced

+ Hosting and self-hosting documentation

The p5.js Editor is an open source project and therefore all of the source code is published. It is harder to publish the technical tools that are used to host the p5.js Editor at https://editor.p5js.org. Not only will documentation of all hosting tools and configurations help contributors to the project, it will help others to host their own instances if they choose to.

  • Expected Outcomes: Detailed hosting documentation, self-hosting documentation
  • Skills Required: Understanding of website hosting, familiarity with Github or version control
  • Difficulty: intermediate

+ Documentation of p5.js Editor features

Right now, the only documentation of the p5.js Editor features exists in YouTube tutorial videos, which need to be updated as new features are added. Is there a different way to document features, perhaps using gifs? Is there a way to link to this documentation from the p5.js Editor?

  • Expected Outcomes: Documentation of p5.js Features
  • Skills Required: Familiarity with p5.js and programming
  • Difficulty: beginner

+ Expansion of Contributor Documentation

The p5.js Editor includes a lot of code and a lot of different libraries. It would be useful to new contributors to document the project structure, as well as all of the different code libraries that are being used.

  • Expected Outcomes: Documentation of p5.js Editor codebase
  • Skills required: JavaScript, familiarity with Github or version control
  • Difficulty: beginner, intermediate
Clone this wiki locally