Much like the stark misfortune in Anne of Green Gables, this virtual fall semester felt like nuisance after nuisance, rotating from tab to tab. But like Anne, we are four imaginative women who decided to have some laughs at the expense of the “work from home” environment necessities: working internet, and by extension, a working Google Chrome window. Our project highlights the absurd inconveniences with a twist of Anne Shirley, instead of “Anne with an E,” please welcome “Ann with an Oying” (aka annoying)

What it does

Chrome extension with the following inconveniences (aka features):

Tab related features

  • reloadTab - user's current active tab is reloaded
  • duplicate - tabs start duplicating
  • deleteWindow - windows are deleted one by one
  • deleteTab - tabs are deleted one by one
  • muteTab - tabs playing any audio are automatically muted

Page related features

  • setZoom - zooms the user's active page to 150%
  • changeFontSize - enlarges the font size
  • changeImages - changes all images on page (ex: any images on CNN) to: Anne Image
  • Wallpaper - changes background image of user's active page to: Anne Quote


  • rickRoll- Rick Astley's youtube video of him singing "Never Gonna Give You Up" pops up on the user's page -openTopSites - Ann has all of your topSites (aka most frequently used websites) open up.
  • checkWebsite - As an added bonus, Ann sends a notification for each action and comments on sites you visit such as Spotify, YouTube, or Stack Overflow.

How we built it

After deciding on our hack, we studied the various chrome APIs and divided the tasks. We worked both asynchronously and synchronously, meeting over Zoom a couple of times to test our code.

Technical Overview

Each annoying action has its own function, and a JavaScript interval periodically selects a random one to execute. Our extension primarily relies on a content script and the background script, which control different features.

Challenges we ran into

Some of the challenges we faced were how to send messages between files, which was necessary to trigger some of the functions, and storing information in accessible ways to reduce redundancy.

Accomplishments that we're proud of

We were able to devise a functioning google chrome extension in 36 hours even though it was our first time designing an extension and utilizing chrome APIs.

What we learned

We learned how to utilize various chrome APIs and refined our web development (HTML, CSS, and Javascript) skills.

What's next for Ann with an Oying

Adding new features such as:

  • Reversing the scroll (scrolling down causes the user to go UP the page, aka backward)
  • Using chrome.commands to trigger the wrong shortcuts (ex: instead of Ctrl+C copying, it pastes) making it counter-intuitive for the user
  • Using chrome.alarms API to pace out the intervals at which each function is executed. This is because right now, every second a new action takes place, causing a lot of chaos. (We want it to be inconvenient, not overwhelming)
Share this project: