Project Ideas & Questions - Mobile Testing P5.js/Updating hello.p5js/Raspberry Pi Documentation

Hello!

I’m an aspiring Google Summer of Code applicant. As a longtime user of Processing I’m excited to contribute its development. I intend to submit 3 proposals for your consideration (see summaries below). I would be very interested in any insight or guidance you may have.

What Works & What Doesn’t: mobile testing for p5.js

p5.js is capable of taking advantage of mobile-specific user interaction (touch, movement, etc). Currently, however, this functionality does not work seamlessly across devices. As one of p5.js’ leading goals is to create a programming environment accessible for beginners, it is important that inconsistencies be documented and fixed (when possible). Failing to do so could lead to a frustrating, or discouraging learning experience, particularly for those just getting started with code.

To address this, I propose analyzing p5.js’ mobile functionality. This will entail testing mobile-specific features on a variety of operating systems (iOS/Android), mobile browsers (Chrome/Safari/Firefox/Samsung Internet), and form factors (phones/tablets). The goal of this project is to detail the contexts in which p5.js does not behave as expected. Specific issues will be recorded in GitHub. Following evaluation, I will update the reference documentation to include device requirements. The remainder of the summer will be dedicated to finding solutions.

Question - I have access to a number of physical devices for testing; however, I would like to extend my toolkit through the use of an emulator – are there any particular systems you would recommend for this?


Hello, is it me you’re looking for? updating hello.p5js.org

hello.p5js.org is likely to be many users’ first introduction to p5.js and Processing. As these individuals may be brand new to coding, it is important that this webpage be inviting and informative. Further, it should be accessible and work properly across devices.

I would like to modernize hello.p5js.org; however, I have a few questions that will help guide my proposal write-up (see below). The overall goal of this project is to develop content that will get users excited about learning to code, and reduce the risk of outdated dependencies preventing the page from rendering properly.

Questions - The project ideas list mentions “record new video segments” for this page. Do you envision having multiple videos on hello.p5js.org (i.e. you can select and choose different videos from a list), or do you picture this page continuing to host a single enhanced video?

- How do people currently arrive at hello.p5js.org? I haven’t been able to spot links to it from other Processing sites. It would be helpful to know where potential users are coming from.


Easy as Pi: documenting Processing + Raspberry Pi

Raspberry Pi computers are portable and inexpensive. When paired with Processing they can be particularly helpful for creating installation art projects (and more). There is little information online about how to get started using Processing on the Raspberry Pi platform. I have recognized this gap first-hand in my experience as a teaching assistant for a graduate-level tangible computing course.

To make this combination more accessible, I propose a project to create new reference documentation and a small set of examples specific to Raspberry Pi. The documentation would cover the basics, including: the advantages of using Raspberry Pi; setting up the development environment; running sketches; and the potential of using external sensors to control Processing sketches. This work would complement existing documentation and attempt to avoid redundancy. It would also entail testing Processing’s functionality on the Raspberry Pi, exploring the forum for known challenges, and logging issues in Github.

Question: - Do you have any thoughts on where these resources may be saved? On their own page, or a subpage of processing.org?


About Me:

I’m an MSc student at the School of Interactive Arts + Technology at Simon Fraser University in Vancouver, Canada (my website: elginskye.com). I research tangible computing and child computer interaction. I love getting people excited about coding. I teach programming workshops at my university, at NodeSchool, and for Canada Learning Code and am a founder of Women Who Code (Vancouver chapter). Open source tools that lower the barriers to entry, like Processing, are invaluable to this work.

My own background is not in CS but the arts. I learned to code through online tutorials (go Shiffman!), and a programming bootcamp. I have worked as a web developer for a major Canadian Telecom, and completed programming courses in my MSc. I think I could make some valuable contributions to the development and documentation of Processing/P5.js. To get up to speed I have begun contributing to Processing P5’s Github repos.

My goal is to use the skills and knowledge gained through GSOC to encourage more women in my local network to get involved with open source contributing.

I look forward to hearing back from you,

Comments

  • edited March 7

    How do people currently arrive at http://hello.p5js.org?

    I've found out 1: The 1st tutorial @ https://Processing.org/tutorials/

  • Thanks @GoToLoop - that link is helpful. It's for a different page (hello.processing.org vs. hello.p5js.org ), but I think I have a better understanding of what the p5.js version is based on now.

    @shiffman & @lmccart -  do you envision hello.p5js.org becoming more similar to hello.processing.org with the proposed update? or is there another direction you would like to take it?

  • @emclaren, normally the video is linked form the homepage and tutorials page, but we have removed it until it is updated. we are open on what the format would be, but we would not want it to be too long. you are free to be creative and propose whatever you like.

  • Hi @emclaren - thank you for your thoughts on Processing for the Raspberry Pi - agree on the challenges in locating the needed information right now, and this is exactly what we're trying to address through this year's GSoC.

    As for the place where this information would live: the plan is to create a separate mini-site, similar to what is already available for the other variants of the project. I have about 200 pages of material (originally for a book-project on the subject), which I am planning to make accessible through this site also. So I am thinking something that combines grammar from the world of books (chapters, and TOC on the left), with something akin of a reference, and perhaps parts that are clearly structured as step-by-step tutorials would be nice.

    For this I would be interested in either hearing what you'd feel to be doing on in this space (happy to send you all the materials I have currently).

    Have you created any teaching or educational resources online, or have some particular examples of how what could be an interesting model to explore?

  • edited March 12

    Hi @gohai, thanks for the additional information!

    Do you think that building this mini-site would be part of this GSOC project? Or is the development of the site being planned separately?

    My initial idea was to pick up where the Intro to Processing left off, and then create a series of intro youtube videos to get users started (similar to the Coding Train format). It sounds like quite a bit of material has already been written, so I think I will need to shift my proposed project somewhat. It would be great if I could check out the documents you have already compiled (can you send a link?).

    I don't have any teaching resources online, although, you can find an example of a video I helped produce for my lab at this link (fyi it's me doing the voiceover). Note, this video isn't similar in style at all to the tutorials I imagine creating for this project, but I thought it might be helpful to share. The Raspberry Pi videos would be modeled after Dan Shiffman's tutorials (and my own teaching style) - playful, upbeat, and super approachable.

  • Hi @emclaren! Thanks for sharing these ideas with us! I think there is a good amount of work to do on updating and improving the mobile features. A handful of issues are tagged with the area:mobile tag on github, but there are probably some additional issues that aren't documented as well—so it makes sense that part of your proposal involves testing!

  • Hi @emclaren!

    Regarding the mini-site: There are some preliminary plans for it, but not yet a design or work on the frontend. If this is something you want to undertake, you could include this in your proposal. But we do want GSoC projects to be self-contained, so better give your proposal clear boundaries and measures for success, instead of helping $MENTOR do $FOO ;)

    I will send you the materials I have now in private, please have a look and come up with ideas where you and your skills & interest could best slot in there, in order to further accessibility and ease of use! Video could e.g. be really interesting, since those are a completely different modality than the written content that I have so for.

    Looking forward to your proposal!

  • Hi @kjhollen and @gohai. Thanks for reaching out! I'm looking forward to getting my proposals in ASAP.

    Fingers crossed!

  • Hi @emclaren! Thanks for your thoughtful posts! And the nice feedback about my channel.

    "Hello p5" was originally made as a "trailer" for p5.js whereas "Hello Processing" was made as a full one hour tutorial experience. In a fantasy world, we might end up with both of these things?

    For updating "Hello p5" the "trailer" a key priority is to feature the many, diverse contributors to p5.js and not have a singular voice presenting the library. The mentor on the project would likely facilitate the coordination of contributors to participate in the production of the video content itself.

    This may be a pipe dream, but I love the idea of a new "hello p5" interactive tutorial that runs on top of the p5.js web editor.

    Let me know what other questions I can answer!

  • Thanks again to everyone for their feedback. I've created 3 draft proposals and submitted them via the GSOC webpage. Hooray!

    I'm not sure if draft submissions sent through the GSOC page are being monitored, so I thought it would be a good idea to post here as well. I would love to hear any feedback you may have.

    Android Testing ( @kjhollen ): https://docs.google.com/document/d/1SnuVlQg4tXo4t87htD_gWOlEGGcqg_sR9cMeqyJaoAw/edit?usp=sharing

    Hello.p5 ( @shiffman , @lmccart ): https://docs.google.com/document/d/1bJ3k3Md4FiDwGax3PZeQM4tuB54TP_VYYnf1ahIXRAo/edit?usp=sharing

    Processing for Raspberry Pi ( @gohai ): https://docs.google.com/document/d/1DIRl7UbgCwxPmSQL5SEZD7JYyZ5f15OsoGaBC2MYLr8/edit?usp=sharing

  • @emclaren got it! Left you some notes on the mobile proposal.

  • I've added some on the hello p5 proposal @emclaren!

  • Thanks for the great feedback @kjhollen and @shiffman.

  • Hi @kjhollen,

    If you have time, I have a quick follow up question to one of your comments related to my Mobile Testing application :D

    You mentioned: " mobile interactions here are very powerful but tend to be underutilized by students, maybe because they're too complex or there aren't yet enough examples"

    I was just wondering, do you think part of the challenge with students when they are learning is that they are often developing locally on their desktop computer, and may not actually know how to access their content on their mobile device? Is this something you feel should be addressed on the website?

    thanks!

Sign In or Register to comment.