I’ve worn a lot of hats in my time working on the p5.js Editor—engineering, mentorship, project management, design, webmaster, educator, to list a few. Focusing on the business side, and making a plan for monetization is brand new to me. It’s also new to everyone at Processing Foundation, as the foundation is currently supported by grants and donations. All of the software that Processing Foundation supports is free/libre open source as well as free of cost, and this is the first foray into charging money for software.
This is all to say, progress has been hard! One of the biggest and hardest first steps was pinning down a funding model, especially one that integrates with web monetization technology. And especially a pricing model that upholds the p5.js core value of access, defined as accessibility and inclusion. I was able to create a pricing structure that allows users to pay using Stripe or Coil, as paying for software directly through the p5.js Editor is far simpler than using Coil. This also opens the possibility of getting rid of Coil integration if it doesn’t work for us, or switching to it entirely if the technology is more accessible. I spent a lot of time working on a planning document, which I’m sure will evolve.
Before the start of the grant, I had researched pricing models for similar software such as CodePen and Glitch. The impetus for introducing a paid tier was from our history working with schools, who often use our software. Schools are not able to simply donate to Processing Foundation in exchange for using our software, they must prove they need to pay for software in order to use it. At first, I really struggled to see how schools could justify signing up for Coil to use the p5.js Editor, especially given the burden of needing to install a browser plugin to use it. I was ready to say web monetization wasn’t mature enough to work with the p5.js value of access, and then I realized this project could use both Coil and Stripe. I wrote up a business proposal with phases and scope of work for each phase.
One challenge we've encountered in getting this project started is connecting our bank account to Uphold Wallet. Uphold Wallet uses Plaid to connect to banks, and the bank we use (CitiBusiness) is listed as an option to connect with. However, we have been unable to successfully complete the connection despite multiple attempts. We've tried to troubleshoot on our own, like making sure our Uphold Wallet business name is the same as what's on our bank account, and calling our bank for assistance, but so far have not been able to connect. The issue connecting our bank has stalled progress on the project.
- Created a pricing proposal with phases and work for each phase
- Migrated to GitHub actions
- Added Prettier
- Ongoing work to prevent XSS in p5.js Editor
- Getting set up for integrating Coil. Currently, we’re not able to connect our Uphold wallet with the Processing Foundation banking information.
None yet! The first phase of communication will happen when Coil has been integrated with the p5.js Editor and released.
- Continuing infrastructure changes (XSS prevention, which unfortunately radically changes the foundation of the application)
- Integrating Coil
- Public communication about integrating Coil
We’re slowly but surely making progress right now. Honestly, it would be nice to know if anyone else is having issues using Uphold with a business account.