Week 3

Browser Extension Activity

I have been working with Polina and Chuqiao on the in-class Add-On Activity, including the assignment to build our own browswer extension. We’ve completed parts 1-3, which included tutorials on how to create a browser extension (which we chose to do in Firefox) and some exploration exercises to familiarize ourselves with some information about open-source projects and browser extensions.

Our Extension: PixelPet

Our planned extension is a simplified virtual pet game, with a small variation. Upon opening the extension, the user will be presented with a pet and a button that, when pressed, feeds the pet. When fed, the pet grows in size until it reaches its size limit; without being fed, the pet will shrink over time until it is eventually reduced to nothing.

Progress

We met over Zoom on Saturday (2/8) to discuss the project, where we decided on the form our extension would take and our strategy for working on it. Polina is currently taking Professor Amos Bloomberg’s Software Engineering class, while I took both Software Engineering and Agile Software Development with Professor Bloomberg, so we are both to some degree familiar with some common development practices, particularly Agile ones. Polina wrote user stories for the project, while I broke down the most essential user stories into discrete tasks.

Coming up with tasks that a team member was a bit difficult, as we hadn’t yet started and I had to try to predict what we would end up doing as work progressed. As of now, the tasks look like this:

  • Display pet
  • Display feed button
  • Updatable pet size
  • Clicking feed button increases pet size
  • Pet size decreases over time
  • Pet size is reflected in display

Completion of these tasks should allow us to fulfill (not one-to-one) the user stories:

  • As a user, I want my pet to grow when I feed it.
  • As a user, I want my pet to shrink over time if I don’t feed it.

I don’t think this is, strictly, what Professor Bloomberg would have wanted us to do; but the thought framework we learned from him was useful nonetheless. I anticipate having to adjust these tasks as the project takes shape.

I think this is a cute extension idea, and I’m hoping that it will go well enough that we can add to it beyond this assignment. We could fulfill other user stories, such as, “As a user, I want to select my pet so that I can personalize my browsing experience,” and “As a user, I want to reset my pet if I want to start over.”

We will want to think about how pet size is counted and constrained. Ideas include making the pet an amorphous blob of pixels and adding a pixel every time the user presses the feed button and stopping when the pet is a certain number of pixels, or using a traditional image and simply enlarging it. On that note, maybe we should call our game “Feed the Blob” or “B L O A T” or something like that. I will discuss this with the team.

Written before or on February 9, 2025