<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>The Interledger Community 🌱: Cassie Tarakajian</title>
    <description>The latest articles on The Interledger Community 🌱 by Cassie Tarakajian (@catarak).</description>
    <link>https://community.interledger.org/catarak</link>
    <image>
      <url>https://community.interledger.org/images/-fl7eUMyXyHHKehixrR-lTBKiapvCTNsikmOdA8-d40/rs:fill:90:90/g:sm/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL3VzZXIv/cHJvZmlsZV9pbWFn/ZS84OS8zZDUxYThj/OS1jZjY4LTQyMzMt/YmZhZS03ZGE4ZDEy/MjhjMWYuanBn</url>
      <title>The Interledger Community 🌱: Cassie Tarakajian</title>
      <link>https://community.interledger.org/catarak</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://community.interledger.org/feed/catarak"/>
    <language>en</language>
    <item>
      <title>Web Monetization Grant Public Report #3</title>
      <dc:creator>Cassie Tarakajian</dc:creator>
      <pubDate>Mon, 20 Dec 2021 21:36:48 +0000</pubDate>
      <link>https://community.interledger.org/p5xjs_editor/web-monetization-grant-public-report-3-4fia</link>
      <guid>https://community.interledger.org/p5xjs_editor/web-monetization-grant-public-report-3-4fia</guid>
      <description>&lt;h2&gt;
  
  
  Project Update
&lt;/h2&gt;

&lt;p&gt;The granting period is now over, and a lot of work has happened to wrap up this project. We were able to post our Terms of Use and Privacy Policy, as well as follow all other GDPR guidelines. We also hired a designer to create the subscription screens and user flows. We fixed more infrastructure security work.&lt;/p&gt;

&lt;p&gt;In the last progress report, I wrote about the challenge of  communicating about the subscription model. Since then, I have met with community members and colleagues to obtain support and start a communication plan. &lt;/p&gt;

&lt;p&gt;In recent months, the Foundation has received a number of very large donations from a 20th anniversary fundraiser that shifted the urgency of monetizing the p5.js Editor. Along with the rest of the team, I made the decision to delay this project and shift priorities. The grant period allowed me to conduct all of the foundational research necessary for future implementation.  Monetization of the Editor, grants, and donations allows for our team to create a sustainable, diversified funding and development model. The biggest thing I learned is how much infrastructure it takes to monetize a web application, and how much it changes the perception of an open source tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Progress on objectives
&lt;/h2&gt;

&lt;p&gt;I was able to deploy the Terms of Service (ToS), Privacy Policy (PP), and cookie popup. I followed the document provided by New Media Rights to support the ToS and PP, such as following GDPR guidelines and creating a plan to handle privacy inquiries to the Editor. This process includes a system for making future changes to the ToS and PP in a public way. For this system, I decided to &lt;a href="https://github.com/processing/p5.js-web-editor-policy"&gt;publish the documents to GitHub&lt;/a&gt; in a separate repository to allow users to comment on the documents and make pull requests to suggest changes. Unfortunately, I doubt any lawyer would be willing to write in Markdown, so I also made some changes to the word documents New Media Rights sent us, so that they are easily exportable to Markdown. In the future, the full workflow would be (1) a lawyer makes changes to the ToS or PP, (2) these changes are exported to Markdown, (3) the documents are published to GitHub, and then (4) the community is able to offer feedback.&lt;/p&gt;

&lt;p&gt;I also worked with a designer to work on the visual interface for the subscription model. This work included the screens for users to sign up and features for a subscription-only tier. The most important thing we talked through was how to explain the subscription to users in the context of other ways to support the p5.js project. Through this discussion, I learned  we need to improve how we communicate the p5.js Editor as  an open source project that needs support and is supported by a larger non-profit organization. &lt;/p&gt;

&lt;p&gt;I ran into some major issues that needed to be addressed, due to some phishing reports I was getting. I added the ability to ban users, which will be useful and related to any threats against  our PP/ToS. I also had to ban the rendering of full-screen sketches, which users were abusing in phishing scams. While it is  frustrating because I’m aware that some users have good intentions to show their artwork full screen, the p5.js team’s bandwidth and capacity makes it difficult to address the dozens of reports we received.&lt;/p&gt;

&lt;p&gt;I also started working on a communication plan for the subscription model. I pulled together writings I wanted to reference and I thought about the ways, big and small, to communicate, such as linking to the Processing Foundation from the Editor, to a blog post on the organization’s Medium. I also started NEW INC, which is an incubator for folks working at the intersection of art and technology. With it, I have access to a community of peers, mentors, workshares, and workshops. I spoke with some of the mentors at NEW INC about how to approach this type of writing as well.&lt;/p&gt;

&lt;p&gt;Lastly, circling back to the unprecedented amount of donations the Processing Foundation received this past fall, our organization radically shifting and transitioning into a new infrastructure. Whereas a year ago, I was wondering how we would fund the maintenance and development of the p5.js Editor, now the funds exist to create full-time positions with benefits. I made the decision to halt work on creating a subscription model, but I am open to this project happening in the future. The most successful open-source projects have a diversity of income.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key activities
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Deployed the Terms of Use, Privacy Policy, and Cookie popup to production. You can see the &lt;a href="https://github.com/processing/p5.js-web-editor/pull/1925"&gt;pull request&lt;/a&gt; and the &lt;a href="https://editor.p5js.org/privacy-policy"&gt;deployed documents&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Created &lt;a href="https://www.figma.com/file/IAqdYZhfODO0FvDmvL2pI2/p5js?node-id=0%3A1"&gt;designs&lt;/a&gt; for the subscription plan.&lt;/li&gt;
&lt;li&gt;Created a small system for user moderation, with the ability to &lt;a href="https://github.com/processing/p5.js-web-editor/pull/1936"&gt;ban users&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Handled &lt;a href="https://github.com/processing/p5.js-web-editor/pull/1967"&gt;issue&lt;/a&gt; where users were using the p5.js Editor in phishing scams.
&lt;/li&gt;
&lt;li&gt;Began &lt;a href="https://www.newinc.org/"&gt;NEW INC&lt;/a&gt; program.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Communications and marketing
&lt;/h2&gt;

&lt;p&gt;We haven’t communicated about the subscription project in public at all. I have gotten support and feedback on it as part of the NEW INC fellowship.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s next?
&lt;/h2&gt;

&lt;p&gt;Because of a recent influx of large donations to the Processing Foundation, we have decided to wait on implementing this project. The reason is given less monetary constraint, there are issues with the p5.js Editor that are more urgent to attend to. Some of these are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Addressing technical debt&lt;/li&gt;
&lt;li&gt;Documentation&lt;/li&gt;
&lt;li&gt;Leadership/team changes (burnout is very common for open source maintainers)&lt;/li&gt;
&lt;li&gt;Access (accessibility and inclusion) features&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What community support would benefit your project?
&lt;/h2&gt;

&lt;p&gt;At this point, there is not a need for community support, as the needs of the Processing Foundation have wildly shifted over the past few months. &lt;/p&gt;

</description>
      <category>grantreports</category>
    </item>
    <item>
      <title>p5.js Editor— Grant Report #2</title>
      <dc:creator>Cassie Tarakajian</dc:creator>
      <pubDate>Mon, 28 Jun 2021 18:33:20 +0000</pubDate>
      <link>https://community.interledger.org/p5xjs_editor/p5-js-editor-grant-report-2-5gpa</link>
      <guid>https://community.interledger.org/p5xjs_editor/p5-js-editor-grant-report-2-5gpa</guid>
      <description>&lt;h2&gt;
  
  
  Project Update
&lt;/h2&gt;

&lt;p&gt;Monetizing the p5.js Editor has been more work than I had anticipated, and also sometimes different work than I expected. With the advent of paid accounts, there were code infrastructure changes I needed to make for security reasons. It has been a massive undertaking to fix this, as the codebase is five years old. Now that the work is almost completed, it has actually opened up possibilities for many new features, many of which could be paid.&lt;/p&gt;

&lt;p&gt;We finished creating our Terms of Service and Privacy Policy with New Media Rights, another Grant for the Web recipient. It was so great to work with them as an organization, and I’m relieved to have documents we can use and feel confident about.&lt;/p&gt;

&lt;p&gt;This is the first time the Processing Foundation is creating a paid service, and I want to make sure I’m doing it right. During the funding period, I’ve learned so much about what this looks like, and what I need to be successful. I hadn’t been able to get any feedback on my business model, and I realized that it would be helpful for me to have a business mentor. I decided to apply to an incubator to get this support. I also think they can help me measure if the subscription model is successful, and how to evolve it based on those findings. I also realized that I struggled balancing low-level work (like development) simultaneously with high-level work (like planning or project management), and figured out that hiring both a developer and UX designer are necessary for the project to move forward. Lastly, I’ve realized that a huge portion of this project is communicating to our community the need for a  subscription model. I believe this model is an experiment in holding true to our values of access and collective abundance, and I want to make sure this is communicated with the full context of the history of FLOSS and creative computing.&lt;/p&gt;

&lt;p&gt;Lastly, we were finally able to get our Uphold account approved, so we can finally integrate with the web monetization API and Coil.&lt;/p&gt;

&lt;p&gt;This grant has enabled huge progress towards sustainability for the p5.js Editor and it has been exciting for me to see it all come together.&lt;/p&gt;

&lt;h2&gt;
  
  
  Progress on objectives
&lt;/h2&gt;

&lt;p&gt;Great progress has been made in laying out the infrastructure for the subscription features. The p5.js Editor can run &lt;em&gt;any&lt;/em&gt; front-end code that a user may write, and therefore their code needs to be executed in a sandboxed iframe. However, the way I had originally implemented this was vulnerable to cross-site scripting (XSS) attacks. I had let this slide for a long time (years, in fact, as &lt;a href="https://github.com/processing/p5.js-web-editor/issues/166"&gt;I first opened an issue to make these changes in 2016&lt;/a&gt;), because there was not a lot to gain from hijacking another user’s account. However, paid accounts make this a huge issue. Unfortunately it involves a fundamental re-write of how the p5.js Editor renders a user’s sketch. On the plus side, it has helped (and will continue to help) other issues, such as making the p5.js Editor &lt;a href="https://github.com/processing/p5.js-web-editor/issues/1853"&gt;work better with developer tools&lt;/a&gt;, create a separate rendering server for sketches so that users can &lt;a href="https://github.com/processing/p5.js-web-editor/issues/1651"&gt;run them in a separate browser window&lt;/a&gt; using &lt;code&gt;postMessage&lt;/code&gt;, and fix show-stopper bugs like the &lt;a href="https://github.com/processing/p5.js-web-editor/issues/1870"&gt;p5.js Editor not working in the latest version of Safari&lt;/a&gt;. With large codebase re-writes like this, sometimes it can feel like the work is too much or impossible, and I am grateful that the subscription model has been the impetus to finally complete this work. Without this grant, I’m not sure when this important work would have otherwise gotten done. &lt;/p&gt;

&lt;p&gt;We wrapped up the Terms of Service and Privacy Policy with New Media Rights. I made sure that a few of us at Processing Foundation read these documents carefully so that we could feel confident about using them. It was also interesting to adapt a “typical” ToS and PP to our needs. For example, in a default ToS and PP, the assumption is that the organization would want ownership over user data, to sell ads or train machine learning models. But as an open-source project, that is not what we want, so we decided to license all user data under Creative Commons — Attribution-ShareAlike. We also learned that because Processing Foundation is a nonprofit, we are exempt from Children's Online Privacy Protection Rule ("COPPA"), which lessens some of the work in implementing the ToS and PP. &lt;/p&gt;

&lt;h2&gt;
  
  
  Key activities
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Infrastructure changes have continued on the &lt;a href="https://github.com/processing/p5.js-web-editor/tree/chore/sandbox"&gt;chore/sandbox&lt;/a&gt; branch. I have been using &lt;a href="https://releasehub.com/"&gt;Release&lt;/a&gt; to deploy and test these changes, as it involves front-end, back-end, and dev ops changes. I’m doing my best to test everything as this touches so much code! &lt;/li&gt;
&lt;li&gt;Completed work with &lt;a href="https://www.newmediarights.org/"&gt;New Media Rights&lt;/a&gt; to create Terms of Service and Privacy Policy. We have completed some of the work to integrate these documents, but have not yet posted them.&lt;/li&gt;
&lt;li&gt;Finally managed to connect Uphold to the Processing Foundation bank account, so now it is possible to integrate Coil.&lt;/li&gt;
&lt;li&gt;Applied to &lt;a href="https://www.newinc.org/"&gt;NEW INC&lt;/a&gt; for mentorship and community support.&lt;/li&gt;
&lt;li&gt;Created a scope of work to hire additional people to work on the subscription project.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Communications and marketing
&lt;/h2&gt;

&lt;p&gt;I haven’t yet, but I have been thinking a lot about how to best approach open dialogue since communication is a huge part of completing this project. I want to communicate to our community about the creation of a subscription model in a way that builds and maintains trust. For twenty years our tools have been free of cost, and the reason for charging money is the size of the community we are supporting. Grants and donations cannot keep up with our rate of expansion, and the subscription model is an experiment to support the labor necessary to support that expansion. I want to make sure we communicate the full context for this work, all of our research and understanding about open-source, political organizing, and labor. Everyone at Processing Foundation holds a bit of this history, and I think it will be important to synthesize it together.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s next?
&lt;/h2&gt;

&lt;p&gt;We’re at the end of our funding period but the work for this project has not yet been completed. Once the infrastructural changes have been integrated, I will post the Terms of Service and Privacy Policy, and begin work on the subscription model. This involves adding the subscription-only features, working on a communication plan, and a plan to measure its success.&lt;/p&gt;

&lt;h2&gt;
  
  
  What community support would benefit your project?
&lt;/h2&gt;

&lt;p&gt;I think it would be helpful for me to talk to more folks in open source, specifically those who work on educational tools or those who have paid products. I want to ask them how they maintain trust with their community, and how they make sure that the labor of key contributors is compensated.&lt;/p&gt;

</description>
      <category>grantreports</category>
    </item>
    <item>
      <title>p5.js Editor— Grant Report #1</title>
      <dc:creator>Cassie Tarakajian</dc:creator>
      <pubDate>Wed, 03 Mar 2021 21:17:47 +0000</pubDate>
      <link>https://community.interledger.org/p5xjs_editor/p5-js-editor-grant-report-1-45ie</link>
      <guid>https://community.interledger.org/p5xjs_editor/p5-js-editor-grant-report-1-45ie</guid>
      <description>&lt;h2&gt;
  
  
  Project Update
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;
  
  
  Progress on objectives
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;In order to add monetization, a lot of foundational work needs to be done. This has been the focus on my work so far, which has been creating a Privacy Policy and Terms of Use, infrastructural software changes, and learning about how to use web monetization.&lt;/p&gt;

&lt;p&gt;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. &lt;/p&gt;

&lt;h2&gt;
  
  
  Key activities
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Created a &lt;a href="https://docs.google.com/document/d/1Wy1MBEXKyX5OuAK9fbLcNKs-Px0oDrABhvp73endNfs/edit?usp=sharing"&gt;pricing proposal&lt;/a&gt; with phases and work for each phase &lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/processing/p5.js-web-editor/pull/1735"&gt;Migrated to GitHub actions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/processing/p5.js-web-editor/pull/1743"&gt;Added Prettier&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/processing/p5.js-web-editor/tree/chore/sandbox"&gt;Ongoing work to prevent XSS in p5.js Editor&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Interviewed lawyers, hired &lt;a href="https://www.newmediarights.org/"&gt;New Media Rights&lt;/a&gt; to create Terms of Service and Privacy Policy. There’s now quite a lot of steps to integrate them, such as registering as a DMCA agent and GDPR compliance.&lt;/li&gt;
&lt;li&gt;Getting set up for integrating Coil. Currently, we’re not able to connect our Uphold wallet with the Processing Foundation banking information.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Communications and marketing
&lt;/h2&gt;

&lt;p&gt;None yet! The first phase of communication will happen when Coil has been integrated with the p5.js Editor and released. &lt;/p&gt;

&lt;h2&gt;
  
  
  What’s next?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Continuing infrastructure changes (XSS prevention, which unfortunately radically changes the foundation of the application)&lt;/li&gt;
&lt;li&gt;Publishing and integrating the Privacy Policy and Terms of Service&lt;/li&gt;
&lt;li&gt;Integrating Coil&lt;/li&gt;
&lt;li&gt;Public communication about integrating Coil&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What community support would benefit your project?
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

</description>
      <category>grantreports</category>
    </item>
  </channel>
</rss>
