We have applied to be a mentor organization for the Google Summer of Code 2016. Here are the details we submitted for our application:
Why does your org want to participate in Google Summer of Code?
The C4 community is young and we are actively focused on growing. The major reason for our current focus on growth, and partly why the community is young, is that we recently spent 2015 rebuilding the framework from the ground up with a focus on new, modern architectures. In short, C4 is essentially a new api and we want to gain exposure.
C4 is an innovative api that blends media, interaction and animation through a simple yet powerful api. As an alternative to projects such as Processing and OpenFrameworks, C4 brings creative-coding to iOS so that artists, designers and developers can build cutting-edge artworks and user experiences.
Since its official release in 2012 many people from around the world have been using C4 to learn programming – we have hosted numerous workshops at institutions such as NYU, and created an enormous amount of content for people to learn from.
We believe strongly in supporting students and creatives to learn, explore and create through code.
How many potential mentors have agreed to mentor this year?
How will you keep mentors engaged with their students?
We will keep mentors and students engaged in C4 through our core team communication channels: slack, github and the project's forum. We will urge students to keep in touch, rather than going quiet for 3 months and resurfacing with a massive project: communication is important for clarity, guidance and direction of our group's work on C4. Our project is dynamic, so we will be able to engage students in community issues that encompass the entire project and allow the to contribute to the overall vision for C4 – we believe that a larger vision gives more context for an individual's contribution.
If a student actively disengages from the project we will do our best to find out what's going on and support them getting back into their work as best we can. In the worst case, disappearing or disengaging is grounds for a failing evaluation even if they produce a good body of code. We believe that engagement, discourse and participation are key factors in producing successful contributions.
How will you help your students stay on schedule to complete their projects?
Through our own practice, we have established a pattern of identifying solutions, creating tasks, and achieving milestones that we will use to keep students on track. To get students engaged in this process we will have them create a variety of simple patches early on in development. We apply this process to design as much as we do code, so we will also have students plan out their work appropriately through a considered design process before they dive into the bulk of their work. After identifying a strong solution, we will support the student in breaking down their work into concrete tasks, grouped into milestones. When the project is clear, tasks are identified, and achievable milestones in place the student will have an excellent foundation for success. Finally, branching and merging are extremely important exercises and even if a student's project is not 100% complete, their active engagement with the project will undoubtedly generate useful code for the project.
How will you get your students involved in your community during GSoC?
Students will be required to join the Slack group, and the Discourse forum through which other members of the community participate. All current contributors use Slack and Discourse to communicate about the project. The Discourse forum will be the centre-point for Q&A, especially with regards to programming, as such having students fill out their profiles and ask their own questions will engage them in the community and also generate content for other members to search and learn from.
From an API perspective, students will be required to set up incoming notifications from the github repository so that they see all the development activity that goes on in the project.
Showcasing their work will be an important part of the student's work. As they progress, learn and build, they will be required to post what they learn to the showcase channels on the forum. For example, the Snippets and Check This Out categories.
Frequent communication in public channels will be encouraged.
How will you keep students involved with your community after GSoC?
We will be fair. The projects we will give to students will be scoped to the duration of GSOC, we will not have them work on something that is larger and requires more work after the end of their participation. If a student chooses afterwards to develop a new component or project outside of the scope of their GSOC work, the community will be very happy with that.
After a student leaves we will have no ability to enforce their participation in the community. That said, the process we will establish for them to envision, design, and develop is the one that current members engage in and hopefully the richness of the student's experience will entice them to want to continue participating. We firmly believe that the most enticing way to engage students after their work is complete is through introducing the student to how we run the project. If they connect with how we work, see our vision and make meaningful contributions, then they may just want to continue working on C4 with us.
Has your org been accepted as a mentoring org in Google Summer of Code before?
Are you part of a foundation/umbrella organization?
What year was your project started?
2012 (official launch), with development starting in late 2010.