albertyw/albertyw.com

View on GitHub
app/notes/20170427-1312.md

Summary

Maintainability
Test Coverage
Projects: Gentle-Alerts

gentle-alerts

1493298776

[Gentle-Alerts](https://chrome.google.com/webstore/detail/gentle-alerts/bcjaadnpjolbaginfighnpcdjmbeiahn)
is a chrome extension that I built to fix the problem of noisy popup alerts in Chrome.  Using Google Calendar
a lot, I used to get a popup alert before every event that I was invited to.  Fiddling with its built-in
"browser notifications", I wasn't very satisfied because of its pop-over UX.  I therefore decided to
create Gentle-Alerts to solve this problem for Calendar and all other websites.

Gentle-Alerts works by overriding the `window.alert` built-in function with a custom function
that shows a browser modal.  In building Gentle-Alerts, I had some fun with some different frontend
programming rules.  Rather than the usual problem of writing javascript code that has to be compatible
with different browsers with a known environment, writing the javascript for Gentle-Alerts required
me to write javascript code compatible specifically for Chrome but running against the javascript
environment of any website.  I therefore kept the code pretty simple and used only vanilla javascript
without any third-party dependencies.

- Code: [Github](https://github.com/albertyw/gentle-alerts)
- Extension: [Chrome Web Store](https://chrome.google.com/webstore/detail/gentle-alerts/bcjaadnpjolbaginfighnpcdjmbeiahn)
- Library: [NPM](https://www.npmjs.com/package/gentle-alerts)

Thanks to [Chris Lewis](http://chrislewis.com.au/), [David Hamme](https://github.com/hammeiam),
[Song Feng](https://github.com/songfenguber), and [Scott Kennedy](https://github.com/sdkennedy)
for testing the extension.