This week I am working on an issue in AntennaPod. It’s a podcast manager which allows you to subscribe, download top podcasts available in the market.
The project is written in Java and XML.
For the issue, I am adding empty views to various pages. At first I thought the task will be easy but later I found its not that simple. Especially understanding fragments code was a challenge. For almost two days I was lost I had no idea how fragments work. Not only that fragments can be coded in many different ways which makes it more complex to understand as every developer has its own style of writing code. So, I had to do some digging about it.
Later I was able to create empty views for some pages. But I wasn’t sure if my code is according to their project coding standards. So I sent a pull request of my current work for review. Luckily, it passed all the test (hurray!)
Then, one of contributor recommended to create only one empty view(xml) instead of recreating empty views for each page. But, he didn’t said anything about my java code (main code) so I believe it’s a good sign.
Now, I am finishing off remaining work and I believe I will submit my final PR to resolve the issue by next week.
This week I will be working on an WordPress android application.
Personally, I have been using wordpress for a quite some time and I love it. It is just so clean and simple to use. Recently, I found that there is an android app for the WordPress which is an Open Source project(repo). These days I have been investing lot of time learning cool things in android development. Soon, I will be uploading my ongoing android projects on Github as Open Source.
For now, I am going to fix some existing bugs or maybe add some cool feature in WordPress app. In process, I will also try to find some undiscovered bugs.
I have already setup my workspace. Throughout the project, I really loved the variable/function naming convention. But, I have to become more familiar with the codebase and get down to work on bugs.
The issues that I am planning to work are as follows:
As may have seen my older blog posts in which I posted stuff about my participation in Open Source projects whether it is fixing a small bug, improving UI, fixing typos in a document or implementing a cool feature.
If not, check out my previous posts to get more information about my work on Open Source projects in detail.
Earlier when I was finding a good first issue, my main concern was about fixing an issue, but later I got to know setting up the project on a personal desktop is the real pain. So, always check if the project dependencies are compatible with your machine prior to the installation process.
You need to know basic Git commands like push, pull.
Find issue easily by filtering search results using label. My favourite label ones are good first issue and bug
There so many ways to fix a problem and there might be times when code maintainers don’t like your fix so don’t feel bad instead learn from it.
Writing comments above your code is a good practice.
Don’t look around too much for a solution, its okay to ask for help from your fellow developers or Open Source community.
At the end of the day Stack overflow will be your best friend.
Don’t rush, take it easy and enjoy the process.
Some cool things…
My GitHub contribution activity table has started looking green now.
I was invited to join Code For Boston community on slack and worked with awesome developers.
I was added on MojiScript contributors list by the owner.
Reflection
I am getting very comfortable with React and Android.
I learned to implement APIs in a web application and it will be very helpful in future projects.
While finding issues, I discovered several projects that uses machine learning and I am looking forward to work on it.
Overall, it was a great experience!
In upcoming weeks, I will be working and fixing more issue in Open Source projects and definitely will post a blog update about it.
After successfully getting started with contributing to the Open-Source society. I am planning to work on four new Open-Source projects in the future.
Check out my previous blog post to know more about my first contribution to the Open-Source society.
MICROSOFT – VS CODE
VS Code is a type of tool that combines the simplicity of a code editor with what developers need for their core edit-build-debug cycle. It provides comprehensive editing and debugging support, an extensibility model, and lightweight integration with existing tools.
VS Code is built using Javascript, Typescript, and CSS on top of Electron framework.
I have been using the VS Code for two years and I love this code editor. I usually develop web apps using the VS Code. Currently, the VS Code has around 4500 issues on GitHub. I want to help the VS Code by fixing some of its issues. Also, I will become more familiar with Javascript and TypeScript.
Brave is a free and open-source web browser available on Windows, MacOS, Linux, Android, and IOS. Brave is designed with a built-in adblocker to provide an ad-free and seamless browsing experience.
The Brave windows browser is built using JavaScript and Brave android app uses Java.
I have been using Brave for six months but never thought of contributing to it. Now, I am planning to resolve potential issues to both the Brave Windows browser and the Brave Android App. I will be able to improve my front end skills with JavaScript. I will also gain a deeper understanding of different functionalities of the web browser.
Duck Duck Go is an Internet search engine available on Web, Android, and IOS platforms. The astonishing thing about this search engine is to protect the user’s privacy. It avoids the filter bubble of personalized search results and shows all users the same search results for a given search term.
The Duck Duck Go Android app is built using Kotlin.
It has been a month since I started developing on Android apps using Java but never worked with Kotlin. It will be a great opportunity for me to learn about Kotlin. I am planning to resolve the backend related issues of the project. I will also learn about how a search engine works.
TEAMMATES is a free online tool for managing peer evaluations and other feedback paths of your students. It is provided as a cloud-based service for educators/students and is currently used by hundreds of universities across the world.
The Teammates website uses both Java and TypeScript.
I am really good at Java programming and want to contribute my skills and time to resolve issues on the project. Moreover, I will be able to develop my programming skills with TypeScript. I will be able to further develop my knowledge/understanding of the Java production-ready applications.