Week 11

Long time no see blog viewers! I took a bit of a personal and school mandated break for a bit (because otherwise bad things can happen to people who just want to travel). This kind of meant that we had a few weeks to think about project goals and what issues to take on.

Personal Project Goals

Back in my week 7 blog post, I kind of discussed about my odyssey into finding a project group, after I realized that I was being too picky on project ideas and (kinda) project goals. I had to pivot to something more frontend, although the new partner I got was basically open to anything, so we kind of decided to work on something that felt kind of familiar but still felt new in a way (though with more flexibility just in case we had to ditch the idea). We decided to dive into the world of mobile development with Flutter and Dart.

And so far, it has been relatively easy sailing. Dart felt enough like Java that we both picked it up relatively quickly, and Flutter felt enough like SwiftUI (which I have experience in) to the point that Flutter just felt like quirky SwiftUI.

Both Stella and I were able to take on one issue each (with me taking on a localization issue, just to get comfy with Flutter’s string localization feature, and Stella taking on a small feature update). My commit was kind of easygoing to be honest (though according to Stella, they’ll have to make one edit because a maintainer kind of didn’t like the way the new functionality got implemented).

However, we wanted to dream big. We wanted to tackle something slightly bigger together, while still getting the hang of Flutter and Dart. So we decided to take on an issue where there was no easy way of switching between text fields above the keyboard. We thought we had a solution when I did some research into controlling text field focus in Flutter, which gave me a lot of results and allowed Stella and I to propose that we just add in app buttons for these functionalities. However, this is when I kind of realized when some people have a different set of priorities than us. While we wanted to solve an issue at all costs (even if it would cause some complications with cross platform testing), a bunch of maintainers objected to our solution, stating that Android already has a solution and that any solution would have to be from Flutter itself, not a custom made solution made for iOS only. This was definitely kind of a bummer, since this would have been an easy issue to resolve otherwise.

So now, we are trying to find a new issue to work on. Damn. I guess sometimes even the nicest roads have some potholes in the way.

Origin Story?

One cool thing that I didn’t find out until last Wednesday was the fact that our tutor, Shivam, had a really cool story on how he got into open source. Long story short, he basically got into the browser open source game because of how much he liked browsers and wanted to contribute to them.

If there was a theme to his story, it’s basically improvisation. He had a really crazy story about how he used to start building his test binaries before he started eating lunch, so that once he came back from lunch, he would be ready to go with testing his new binary (because his old computer was pretty slow). He also had a pretty cool story about how he was assigned to implement a few new features to Chromium, aka the open source browser that Google Chrome is based off of and how he had to teach himself how a certain framework functioned on Linux.

This kind of resonated with me and probably Stella, as we are learning a new framework and language to contribute a good amount to OpenFoodFacts. I was trying to interact a lot with him to just keep the awkward silence at bay, but I feel like he’s an inspiration for us with venturing into unknown territories.

Beyond his unconventional origins, he also talked about how he was able to go into two open source fellowships of sorts, though he didn’t make it to the Google Summer of Code fellowship. I was kind of surprised, as I thought OpenFoodFacts had a lot of people from that program, but it was kind of insightful to hear that Google Summer of Code is kind of cutthroat and the capacity of the program is constrained by the program anyways.

I kind of knew that open source was a pretty good way to landing an actual software engineering job to an extent (Wikipedia), but I guess I have to get serious now (since Shivam was pretty successful at doing the open source projects to paid work pipeline). One day, I guess.

Written before or on April 6, 2025