Week 3 - Finalizing Firefox Browser Extension Project

If you have been keeping up with some of my previous blogs (check out my last blog here) you would know that my group and I have been working on a Firefox browser extension. The bulk of the coding was finished last week, so this week was mostly focused on finalizing the project and getting it ready to present. Here is the link to the repository of the project. If you install it to the Firefox browser, you would be able to use it to navigate through this blog post!

Some of the finishing touches

In order to get the project ready to present, we mostly just ironed out some of the bugs. One of the issues we were having is that the extension was working on one persons local machine but not another persons. After some trial and error, we found that the reason for this was because one person deleted one line of code, while the other person left that line in. I think the overall lesson to be gained from this was that if when one solves a problem on their local machine, push the code to the repository so that everyone can start working off of it instead of some people having different versions of the project.

Another major finishing touch was finalizing the README.md file. For most of the project, the README.md file only had a description of the project. However, in order to make the project open source, we had to make sure the README had ways of contact so that people who want to contribute can ask questions, how to contribute, and the license information so that people know that they can use the project for their purposes.

At this point, our project was ready to present!

Things I learned from this project

One of the things I enjoyed from this project was the diversity of skills present in my group. In the past, I have not really worked on many open source projects and for the most part I would do a personal project completely on my own. However, I strongly dislike having to do design work. During this project, I was able to focus on the parts of the project that I liked because another one of my group members enjoyed making the design of the extension. This project gave me insight on how larger scale open source projects are run. Some people just do purely the coding side, while others contribute with designing and marketing the project. Everyone is able to contribute what they like to do to the project.

Additionally, I learned a lot from looking at some of the other projects that students made. I was particularly interested in the Virtual Coin Flip project because of the animations they used. At first I thought that the group just played an animation until the coin decided which side its going to land on. However, looking at their code, it turns out that they used a lot of CSS. I didn’t know CSS is capable of doing these types of animations and it’s worth checking out in the future. In regards to some of the other projects, I am actually interested in contributing to some of them. I think StudyBuddy is a great idea and has the potential to be very widely used. A couple of contributions I am interested in making is creating some sort of API/database to save the new sites the user adds and adding a few common time stamps (1 hour, 2 hours, 24 hours) so that the user can easily block a website for that specified time.

Conclusion

Overall, I though this was a great project because even though nobody knew how to make a Firefox extension before this class, in only the span of one week everybody had a cool project, each having a lot of potential to add on to!

Written before or on February 17, 2020