My First Experiences With GSoC
In this blog post, I will share my starting experiences during Google Summer of Code 2024. As part of the program, I worked on the iOS App for Scribe, a custom keyboard written in Swift with features for language learners.
Community Bonding Period
As I had already known my mentors beforehand, integrating into the project was fairly easy, and I mostly prepared myself for the work ahead. My recent issues on GitHub also related to different parts of the codebase and helped me to get an understanding of how it functions.
Overall, my prior experience in the project gave me a good head start for the program and even though I was a bit nervous, I had a good feeling about the coming experience.
Week 1
In the first week, I first finished up a previous issue I had been working on in the bonding period. Afterwards, I was finally ready to start work on my project properly.
I first tackled the task of creating a process for localizing the app more easily. For this, I first had to convert all app text to a localizable form. Luckily, there is already a template for this in Swift called NSLocalizedString
that was already in use in places in the existing codebase, so the process was rather simple.
I also created Python scripts to convert between Swift's file format .xcstrings
and our project's agreed-upon JSON formatting.
Week 2
In the next week, I further expanded on this localization, finishing up its design and the front end for how the user changes their language. I also integrated our localization files into the iOS-app's codebase and created a GitHub action that automatically converts the localization files into a readable format for Swift, if they change in a commit or pull request.
We also had a call to decide on the service we want to use to crowdsource our localization, which ended up being Weblate. We chose it because it didn't have many constraints, was open-source and had a solid and feature-rich interface for both admins and contributors.
Conclusion
My first couple weeks were overall a very positive experience. I felt like work was progressing really quickly, and it was really fun too. I am especially grateful to my mentors, who really helped me get started and always responded to any of my questions.
Subscribe to my newsletter
Read articles from Marcel directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by