Contribute and be proud of defending Software Freedom from monopolist control! We are intervening in the Apple vs. EC case: Find out more.

Deze pagina is nog niet vertaald. Help ons alstublieft bij het vertalen van deze en andere pagina's op fsfe.org zodat mensen onze boodschap in hun moedertaal kunnen lezen.

Nieuws

Discover more YH4F projects and learn about the participants Héctor and Leonardo

op:

Are you thinking about registering for the second edition of Youth Hacking 4 Freedom? But you are not yet sure? Two participants from the last edition, Héctor and Leonardo, talked with us about the projects they developed and their journey throughout the Free Software world! Discover their experiences during the first edition of YH4F.

While the second edition of the YH4F contest is now open for registration, the first edition of the Youth Hacking 4 Freedom contest has ended with 35 amazingly well done projects. There are no limits to the possibilities of projects that could be submitted and every technical idea is welcome. Among those great inspiring ones were Héctor's and Leonardo's projects: LibreHomework and Presents, respectively.

Leonardo is studying Computer Science Engineering in Milan. He has been an active member of the European Youth Parliament since 2019 and among his hobbies was already hacking, even before participating in the contest. Our second guest is Héctor, the youngest winner of the first edition of the Youth Hacking 4 Freedom contest. Héctor has always been interested in science and in understanding the world around him in greater detail. He has created LibreHomework out of the desire to help others with learning and organising their homework.

FSFE: Hello Leonardo and Héctor. Thank you for joining us.

FSFE: Leonardo, you have already been in contact with Free Software before the YH4F contest but you have not always loved it. When did you start to appreciate Free Software for the concept itself?

Leonardo: I would say that I am aware of Free Software since I have started using computers, using LibreOffice instead of Microsoft Office, GIMP instead of Adobe Photoshop, etc. but I have always seen them as the cheaper (and worse) alternatives to the popular programs that everyone was using. Someone would say, I was seeing it free as in free beer and not as in freedom.

My actual interest in Free Software is way more recent and probably started about 2 years ago after I saw the documentary ‘The Social Dilemma’ and started educating myself a bit about digital privacy and the ethical use of technology. I asked myself how some products I was using every day could be free for everyone. I started looking for some alternatives to them, and joined some communities on Mastodon and Reddit of people who care about those topics. This whole process of digging online, getting in touch with new people and caring about the consequences of my approach to technology led me to (re)discover the big world of Free Software: this time together with its philosophy and principles that made me fall in love with it.

FSFE: And how did you learn programming?

Leonardo: My first contact with programming dates back to when I was 13: my middle school technology teacher showed us one day a website where you had to solve some Angry Birds puzzles using block-coding. I enjoyed it so much that I kept on playing it as soon as I came home. Then, I thought, if that game was so fun, coding something from scratch could be even better!

I started watching some videos online on how to start coding with JavaScript, even though I have never actually learned it. But the first programming language I can say I learned is Python, thanks to a "Summer Camp": I attended at a school called H-Farm near my home city. This course has been followed, in the past 6 years, by many other courses and tutorials about other languages such as C# and Flutter/Dart, which is the one I used for my YH4F project.

FSFE: Héctor, what about you how did you learn programming?


Héctor
: Like most people I started with Scratch at the age of 10-11 and then I moved towards more advanced languages like Javascript and Python. I was initially fond of game development but now I like working on servers and backend stuff.

FSFE: So, you already had some knowledge about coding. Why did you join the YH4F contest?

Héctor: My IT teacher encouraged me to participate in the contest, so the project would decide my final mark. Working on an actual programming project was way more exciting than doing what my classmates were doing. I joined the contest in October and worked, since then, on the idea: the app, the server and the daemon.

FSFE: And what about you, Leonardo, what motivated you to join our competition?

Leonardo: Not long after the "change" I mentioned, I saw an advertisement for this contest, organized by the Free Software Foundation Europe, that was aiming to promote and encourage the Free Software culture among young minds. I thought it was not only a commendable idea, but also a great opportunity for me to merge my recent interest for FOSS with my passion for coding. So I decided to participate, re-building from scratch my recent coding project in order to make it fully Free Software, and ready to be used by large communities.

FSFE: How did you came up with your individual project idea?

Leonardo:The idea for "Presents" came into my mind back in 2020. After the lockdown period caused by the COVID-19 pandemic, it was time to think about birthday gifts for all the friends that had turned 18 during the lockdown (which were a lot, since my classmates and I are born in 2002). Since it takes me some time to come up with a good gift idea for a friend, and I'm definitely a lazy person, I thought: shouldn't there be an easier way for all this?

several screenshots showing the different stages from the App Presents
The App "Presents" developed from Leonardo.

That is how I started shaping the idea of this app in which people could add their wishes and forget about them while their friends or family could get inspiration from it to make the perfect gift without ruining the surprise effect. I started looking online for the best tech stack to realize this project. I ended up following some really great quality tutorials about the programming language Flutter and Googles App development platform Firebase. They made me publish the first version of the app in October 2020! But then I didn't like the fact that my own app wasn't following the Free Software philosophy, so I took the YH4F contest as an opportunity to develop a better, fresher and free version of Presents, Presents 2.0.

Héctor: Since I started learning programming I always wanted to make a task manager, so it was an idea that was already in my head, well, kind of. I also felt that the Free Software community lacked a good app for students, to help us manage our time and tasks, so an app like LibreHomework was a good target.

LibreHomework is an open-source tool made for students by students. It can schedule tasks, exams, organise your documents and lock your device screen to help you focus on your tasks.

FSFE: Are there some special functions in the application?

Héctor: The lock your screen function. It basically blocks the user from accessing the computer until a button is pressed or a timer finishes. It is achieved by putting the app in full screen and setting it “always on top”. It is not 100% effective but for someone with little to no knowledge of programming/computers it’s more than enough. In fact, making it more secure would imply making the app more aggressive on a system/kernel level.

LibreHomework will also be able to send you reminders. This is achieved by the daemon, written in Rust. It is a completely different program from the app and it’s not so well integrated yet, so it is a milestone.

FSFE: What is your favourite function?

Héctor:I don’t really have one because the app is supposed to be useful with all of them, but if I have to choose one I’ll choose the network/server. It’s completely coded and running, but the User Interface is not done yet, so it’s planned for the near future.

FSFE: Now that we have learned more about your projects, what kind of problems have both of you encountered during the coding period?

Leonardo: I would say I encountered many problems during the coding phase: some minor ones that could have been easily solved with a quick search on Stack Overflow. Some others took me several days and a lot of effort to be fixed.

Actually, the majority of the issues I faced from the latter category were related with AppWrite: the open-source backend I adopted to replace Google Firebase. I didn't know AppWrite before starting Presents 2.0, and I learned using their official documentation during this competition. But, even so it has strong and well-done documentations, AppWrite is missing all the "unofficial resources" like articles, video tutorials, and so on that other proprietary backends can count on and that make life for beginner-programmers like me way easier.

That's why, I started thinking about writing a series of articles about my experience with AppWrite, why I find it a great alternative to Google Firebase, and how to use it as a backend for your next Flutter app.

Héctor: A lot of bugs as expected. Some of them were really weird but I ended up solving them with some technical help. I also faced some decisions about the design or the network’s security, so I hope they didn’t backfire.

FSFE: Despite these challenges, will you continue to work on your project?

Héctor: Yes, there are some planned things and they are specified in the README: managing exams/documents, finishing the network’s tab, integrating the daemon, and making the project available in more languages.

Leonardo:I am continuously working on Presents, and I will keep on doing it since I don't see it just as a project for a competition but as an actual app that could help many people during their daily life. Up until now, the development has been focused on bridging the gap between version 1 and 2 in terms of functionalities and availability. As soon as this gap won't exist any more, Presents 2.0 will replace its ancestor both on the app stores and on the website. Then I will start working on some new features, hopefully following also community's suggestions (that by the way I'm always happy to accept and discuss in the Issues page of the project repository on Codeberg).

FSFE: Thank you for your time and we wish you good luck with your next steps.

The registration for the second edition of YH4F is now open. For more information on the contest please visit yh4f.org.