Week 2 -- Browser Extension

This week my group members(Muying and Selamawit) and I worked on developing our own extension for Mozilla Firefox. We were really intrigued by the idea of being able to modify your own cursor using an extension, so we opted to do just that. We weren’t able to finish during Monday’s class, so we settled to meet around noon before Wednesday’s class to work on it. This was the first of our two total meetings. During this first meeting we narrowed our ideas down to one concrete idea and began working on it. The idea behind our extension was that it would give a drop down menu, in which 3 different emojis were provided (one of each of our favorite emojis) and upon clicking the button, the cursor would change to that emoji. We called this browser extension “Cursify.”

During this first meeting I spent a lot of time reading and writing comments(explaining what each block of code did) in the files for the beastify extension since we were using a similar setup in terms of file hierarchy to that extension. This made it a lot easier for my group and me because a lot of the times when were working on our extension we always had to ask each other if we knew what a certain block of code was doing. During this time Muying and Selam began gathering files we needed such as the PNG files for the emojis and started working on the HTML and CSS. Everything went smoothly until the last part, in which we couldn’t link our javascript files together and so only the dropdown menu was working and not the cursor changing capability. This is where we settled to meet again Friday during noon since we couldn’t finish it during this session.

During our second and final meeting, I spent a lot of time trying to debug the problem by inspecting and doing research online. But after some time, in which very little progress was made, I opted to basically restart the project while Muying continued to debug the original. I hardcoded a lot of the functions again to make sure everything I was doing was correct, and after about two hours it was fully functioning. But my code was in a very sloppy and crude state, so Muying and Selam spent some time afterwards cleaning it up and making the extension more dynamic(aesthetically speaking). After this, our project was fully finished.

This project was really fun and I felt like I learned a lot of things doing it. I have never developed an extension before, so learning about all of the contents behind an extension was very interesting. I also am not too familiar with Javascript, but after this week I do feel slightly more confident in my abilities in not only Javascript but also HTML and CSS. Javascript is definitely going to be on my bucket list to play around and fully learn when I have more time.

Written before or on February 10, 2020