Skip to content

Google Season of Docs

Qianqian Ye edited this page May 5, 2021 · 29 revisions

Hello! p5.js is participating in Google Season of Docs this year, which means we are hiring two technical writers to help improve p5.js documentation. If you're a coder with writing knowledge or a writer with coding knowledge, this is a great opportunity to help lower the barrier to entry for new users or contributors to p5.js.

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.

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.

+ About our organization

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.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.

+ About our project

Like any open source project, supporting and maintaining an active community of contributors is an essential part of p5.js. The main issue we are experiencing is that though we have many contributors, creation and maintenance of documentation has not been a priority. We have a standard README and onboarding documents, but they were written for more experienced developers and contributors, not for beginners or newer users.

One of our top priorities for p5.js entails bolstering the diversity of contributors in our community especially including those who may have never contributed to our codebases. By focusing on the onboarding experience, we will not only provide better documentation and a stronger community for current contributors, we will also expand the opportunities to include users who are interested but unsure of how to contribute.

We hope to work with 2 technical writers on the Onboarding New Contributors project, one focusing on improving documentation for new p5.js contributors, and one focusing on improving the Friendly Error System (FES) and documentation.

p5.js Google Season of Docs 2021 Projects

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.
  • Skills Required: JavaScript, GitHub, communication skills
  • 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
  • Difficulty: intermediate, advanced

+ Expected Tasks

  • Meet with the mentor to set project timeline and discuss expectations
  • Review README and developer documentation for usability of beginners
  • Make sure contributor docs are updated and in accordance with the current software version
  • Research best practices for onboarding new contributors
  • Create best practices document for new users based on the aforementioned research phase
  • For FES, working with translators to implement non-English language translations
  • Share project findings with the p5.js community (live-presentation or blog-post)

Project Timeline: Broadly speaking, we expect technical writers to be on the following schedule, however, the first week of work will include project mapping with mentors.

Month 1: Review all current contributor documentation and onboarding practices. Begin researching best practices for onboarding new contributors.

Month 2: Interview current key contributors about their past experiences as beginning contributors. Propose onboarding plan to mentors & administrators.

Month 3: Implement onboarding plan, finish updating documentation, prepare project findings presentation (live-presentation or blog-post to Processing Foundation Medium publication).

Skills Required:

  • Javascript
  • GitHub Experience
  • Communication Skills
  • Interest in community building
  • Difficulty: For beginners, intermediate, or advanced users

Possible Mentors: Stalgia Grigg, Evelyn Masso, Saber Khan, Aáron Montoya-Moraga, Kenneth Lim, and more.

+ Measuring our success

As of March 2021, we have over 300 active contributors and 6 dedicated stewards. After completing the Onboarding New Contributors Project, we hope to gain an increase in the following metrics:

  • Increase number of new contributors by 5% (based on our current active contributor base) one year after project completion
  • Implementation of Onboarding New Contributors Project within two existing Processing Foundation programs, which are 1) the Creative Code Fest and 2) Processing Community Day
  • Form a committee of 3-5 community members, in addition to the stewards, to focus on maintaining new user documentation
  • A public write-up or presentation of lessons learned and future recommendations or the community, prepared by the Technical Writer

+ Project Budget

Budget Item

  • Technical Writer: New Contributor Onboarding Experience $6000
  • Technical writer will improve contributor docs, research and implement new community practices for beginning users.
  • Technical Writer: Improve Friendly Error System (FES) & Documentation $6000
  • Technical writer will improve documentation, provide updates to the FES overview doc and add comments inline to the code.
  • Mentor Stipends $500 x 4 = $2000 (4 mentors x $500 each, 2 dedicated mentors per project)

TOTAL: $14,000