GSoC'22 Ideas / Feature Addition [Swift Processing]

Hello Mentors, I am Sachin, a 2nd-year student, and an iOS Developer. Using the idealist on GSoC’22, I found the Swift Processing project as the most suitable one for me.

Swift Processing is an iOS Swift Package that brings the joy of Processing into the world of Swift iOS. It aspires to demystify the app development experience and give creative coders the ability to create their own experiences on the iPhone.

Upon reviewing the SwiftProcessing codebase, I discovered that SwiftProcessing currently supports Shapes, Lines, Strokes, etc. But What if we can allow users to access ready-made creative designs through SwiftProcessing.
[Click here to see some designs I made]
These designs are just a demo.

Currently, a user can create multiple shapes using SwiftProcessing commands. To create a design, the user needs to add shapes and multiple elements at different coordinates on the screen. My idea is - that we can add ready-made designs to swift processing (With the help of code). This will save users time and give a new feature to the users of SwiftProcessing.

It would be very appreciated if the project mentors can review my idea and give some suggestions or feedback for the same.

Waiting for your reply.


It’s exciting that you’re interested in working on SwiftProcessing. The project is fairly young and still in its development phase. While it’s made a lot of progress in the last year, there are some things it still can’t do relative to other Processing environments.

One of the core goals of the framework is to replicate the ease of use of Processing in a Swift environment while leveraging the benefits of Swift. There are several ways that this has happened so far:

1 - The use of Playgrounds.
2 - The creation of examples.
3 - A restructuring of the API to be less strict about types.
4 - Embedding documentation into the framework.

There’s more to list… but that gives you a small idea.

Ready-made creative designs wouldn’t really address any of the needs the library has right now. And the designs you’ve created so far can be created with a small amount of code. In my opinion, the goal of any Processing platform would be to empower new learners to create similar designs of their own, rather than giving them ready made designs to use. That’s why most creative coding frameworks usually provide primitive shapes to work with, as opposed to more complex ready-made designs.

I hope this feedback is helpful for you and keep up the good work!

1 Like

Sir, After listening to your feedback.
I have these ideas.
Can I work on SwiftProcessing website? I went to the p5.js website and I saw that they have a proper website with good documentation, examples, and references, and multi-language support. So we can also make the swift processing website like that.
So, any user that is starting with swift processing can go through the website. A good website will help users get to know more about the swiftProcessing library.
Difficulty: Intermediate
Time: >=175 hrs

Additionally, I have one more idea/proposal.
There are lots of features in the p5.js which are not in swift processing. Features like Date & time, Math operations, constants, conversions, String functions, Array functions, Dictionary functions etc. I would love to implement them and work on them.
Difficulty: Intermediate
Time: >=175 hrs
These are the major things that we can add to SwiftProcessing.

Waiting for your reply sir.

Both of these proposals are too general. In any proposal it’s important to be sufficiently specific so that people looking at your application can trust that you know what you will be doing in the summer.

Re: the first idea—

Of course all of these ideas are a good general approach to GSoC in the long term, but things like documentation, references, the p5.js website, and multi-language support happened over many years with many, many contributors.

I would think about how you would specifically approach the website idea and how you would structure your work. What would the outcome be for the summer’s work?

The more specific you can be the better.

Re: the second idea—

Many of the features you’ve said are not a part of SwiftProcessing are actually a part of the library. Two examples are math functions and date/time functions. It’s important when submitting a proposal that it shows sufficient familiarity with the library as it is.

I would suggest you take another look at the source code and come up with a more specific proposal about which specific functions you might want to include. If they are useful functions in your own creative coding experience, that might be a good way to talk about it.

Good luck with your proposal!

1 Like

@rikitiki Sir,
I agree with your point that references, multi-language support, documentations etc. happened over many years. I will choose more specific features to add to the website.
If I choose my first idea and become more specific regarding all the features that I’ll be implementing in the summer of code. So shall I proceed to make the draft proposal [in google doc] regarding all changes I’ll make to the SwiftProcessing website?

Before making the draft proposal [where I will explain everything very specifically]
I just want to ask whether the idea to work on the SwiftProcessing website [in this summer of code] is a good idea or not?
If yes, then I’ll draft a proposal where I’ll explain everything in a structured and specific way.
And if no, then I will go for my 2nd idea and explain that in a structured way.
My main aim was to discuss the idea first then ill create a proposal [in google doc] very specifically regarding every feature.

[ I just want to say that I am very much eager to work under SwiftProcessing. ]

You have enough information and feedback. You need to decide yourself how you will structure your proposal and go through the application process. I will just reiterate for you what I’ve already mentioned so that others who read this also know when they apply:

Think about Processing/p5.js and ask yourself how you can improve the experience of the library for creative coders and new learners. There are a lot of comments in the library that point to future work that needs to be done.

Make sure that you are making a proposal that demonstrates knowledge about the needs of the framework and the SwiftProcessing community.

That’s all I can say now. Good luck to you!

@rikitiki Sir, can I work on the SwiftProcessing website under GSoC’22?
I will create a proposal [in google doc] tonight and share it with you asap.