Journal Entries By Tag: #fun

Assorted journal entries with the tag #fun.

My first WebToy - the BPS (Bill Paxton Soundboard)

TL;DR — I've written a small HTML5 Soundboard themed around the late actor, Bill Paxton.

👓 3 minutes

Ever since the early days of JavaScript (remember document.layers?), I’ve been interested in building web applications, from the complex to the trivial. In that time, I’ve built more signature generators, magic 8-balls, and die rollers than I care to mention. But, apart from the tools at Planar Vagabond, most of these #WebToys are lost to time (or sitting on some 3/4 full hard drive waiting to be rediscovered).

Until now!

I’ve decided to start archiving them here, in my lightly-tended digital garden, under the heading of WebToys (a moniker chosen based on their dubious utility). And the first #WebToy is a project I’ve had in mind for over 25 years, but that I’ve just finally put the 4-ish hours in to complete: .

The BPS (Bill Paxton Soundboard)

Back when I was in college (circa 1997), a friend of mine and I would often discuss ideas for “fun” (and typically useless) computer programs. One night, one of us suggested a virtual See-and-Say themed around quotes from the great character actor, the late Bill Paxton. Of course, writing such a program wasn’t worth the effort (especially circa 1997), so we just kind of chuckled and forgot about it.

Fast-forward to 2024: the company I work for has a “UI Developers Guild” (for those interested in bettering their development skills), and they recently started running coding challenges, both to drive engagement with the guild and to give the coders a chance to do something non-work related. This particular challenge had 3 simple rules (copied verbatim below):

  1. Play some kind of music / sound
  2. Be viewable
  3. Don’t work over 4hrs!!!

After briefly contemplating what to offer as my entry for the challenge, the idea from college bubbled back to the front of my brain, and I thought, “this is my chance!”

The rest, as they say, is history.

Work Breakdown

  • One hour thinking through the concept and writing the rough draft player.js and main.js modules;
  • One hour to turn draft into MVP, addressing layout and audio issues;
  • One hour to add images and expand the audio selection; and
  • One final hour[1] to add mobile support and some light documentation.

Now, this is obviously not the first Bill Paxton soundboard on the #interwebs, nor is it the most comprehensive. But, unlike the ones in the App or Play stores, mine doesn’t require any scary permissions, and won’t track you relentlessly. And, unlike other web-based soundboards, mine has no advertising, and… won’t track you relentlessly. So maybe mine is better, at least in some ways. 😄

Plus, releasing it here doubles as my entry into the aforementioned coding challenge, so win-win!

With a few more hours work, I’d probably turn it into a PWA and add full offline support (caching the sounds and images in localstorage), or maybe disable the buttons until the previous sound is done, but… that’s for another day.

I suspect I’ll wind up creating (or finding) other similar small #WebToys in the future, and when I do, I’ll add them here. In the meantime, I’m open to suggestions: what other tiny, useless programs does the world need more of?

  1. Of course, it took an additional couple of hours to move it to my website and actually get it out on the web, but those steps were technically outside the scope of the original project, which only required a codepen, so I don’t count that. ↩︎