RSSAmplifier

Blog

Thomas Park

On web development, interface design, user research, and all the rest

thomaspark.coRSS feed ↗80 posts

Latest posts

Redesigning Hanafuda & Hwatu Cards for Beginners

I’ve been working on a redesign of hanafuda and hwatu cards to make them more approachable for beginners. Here’s what a recent iteration looks like. There’s two main goals with the redesign. First is to … Read more

575: A Daily Haiku Game for Reddit

For the 2024 Reddit Games and Puzzles Hackathon, I submitted 575, a daily word game where you compose a haiku using the words of the day. How to Play 575 Each day, a new set … Read more

Learning CSS Anchor Positioning with Anchoreum

Way back when, vertically centering an element was a tall task. Setting consistent gaps between elements took some thinking and several lines of code. Then came flexbox and grid. Both were new and, at the … Read more

3D Printing a Whiteboard Template for NYT Spelling Bee

My son’s current obsession is the New York Times word game Spelling Bee. Every day, he looks up the letters (he says it’s gonna be a good one if the puzzle has e & d, … Read more

Buttonhole: A Button You Can Unbutton

Skeuomorphism taken to the extreme rarely works. But it can be fun. Like a turntable interface for playing YouTube music or a rotary telephone dial for number inputs. For buttons, skeuomorphic design usually takes form … Read more

CarPlay Karaoke: Playing Music Videos and Lyrics Through Cover Art

Can you play videos natively through CarPlay? That is, without jailbreaking your phone or buying expensive hardware. The short answer is, no. The longer answer is, poorly. Poorly as in, slice up a video’s audio … Read more

Needledrop: A Turntable Interface for Music Playback

My latest experiment is Needledrop, a turntable interface for playing music from YouTube. Enjoy chill vibes as you spin a virtual vinyl of your favorite album from YouTube. You can try it for yourself here: … Read more

Custom Dutch Blitz Cards

The Obsession My family gets competitive with card games. Our latest obsession is Dutch Blitz, a fast-paced game that seems somewhat regional due to the Pennsylvania Dutch influence. To give you an idea of just … Read more

Chess Patch Notes

Chess is a continuously evolving game. Technically. There have been many rule changes, but each one has taken centuries to be introduced and widely adopted. That might all change though with the latest work from … Read more

The IKEA Packout

If you’re into tools — think hammers and drills — you’re probably familiar with the extremes people go to protect their prized possessions. The most popular system right now, based on my hours watching carpenter and electrician … Read more

The Mad Magazine Fold-In Effect in CSS

After 65 years at Mad Magazine, comic artist Al Jaffee announced his retirement. Jaffee was best known for his Mad Fold-Ins, where folding the page would reveal a hidden message in the artwork. Plenty of … Read more

No Scary Parts: A Browser Extension for Skipping Scary Scenes in Disney+ Movies

I’ve made a Chrome browser extension called No Scary Parts. It automatically skips the scary scenes in family movies on Disney+, for the sake of your sensitive kids from age 1 to 100. Install it … Read more

Korean Keycaps for Your MacBook Pro

So you want a different language keyboard for your MacBook Pro. And it’s too late to pick that option at checkout. Apple Support won’t be much help here. They won’t change your keyboard language after … Read more

A Simple Hack to get Impact Mode on your PixMob Band

At the Overwatch League Grand Finals in Philadelphia, attendees received white wristbands that blink different colors in sync with each other during the event. When the San Francisco Shock won a round, they flashed orange … Read more

Querying Nearby Locations in WordPress using Geo Coordinates

In the course of developing Campus Arrival, a WordPress site that provides school-specific packing lists, we added a feature to suggest nearby universities. When viewing a school’s checklist, this feature displays other, nearby colleges. When … Read more

Integrating Video and Web Content: Lessons in User Interface Design

Recently I’ve been working on The Beautube, a site that integrates video tutorials with details about the products being mentioned in the videos, specifically in the realm of cosmetics. This project has presented numerous challenges … Read more

Verifying Money Inputs on the Web à la Personal Checks

With the era of the humble unstyled and unscripted input field behind us, there’s increasing variety in how monetary inputs work on the web. And this inconsistency can lead to big mistakes. Take two cases … Read more

Slow Down × Terrace House: Writing a Browser Extension to Change a Theme Song on Netflix

I just finished binging the latest release of Terrace House, a reality TV show from Japan. If you’re not familiar, Terrace House is hands down the slowest and quietest reality television you’ll find, although not … Read more

Overwatch Collective

Welcome to another installment of the collective nouns survey. This time we focus on Overwatch, following surveys for Team Fortress 2 and Starcraft. In Overwatch, there are 27 playable heroes so far, each with unique … Read more

3D Printing a Wireless Charging Case for the Apple TV Remote

I recently got a new phone that supports wireless charging, allowing me to switch out my rather hefty clock radio dock for a teeny wireless charging pad, continuing the minimalist march in my living room. … Read more

Putting TV Clutter Out of Sight

The Problem The clutter. While I admit this setup is cleaner than most, there’s still the white power strip peeking out and the Nintendo Switch obscuring a corner of the TV. Then there’s the random … Read more

Learning CSS Grid with Grid Garden

I’m pleased to announce Grid Garden, a sequel to Flexbox Froggy. This time, you’ll learn about CSS grid, the hot new layout module, and cultivate a carrot or two in the process. Grid is cutting … Read more

Where I End and You Begin: Finding the Most Depressing Radiohead Songs using Crowd Data from SongMeanings

Last week, a fun article titled fitteR happieR crowned the most depressing Radiohead song as True Love Waits. This was determined by a “gloom index” calculated with Spotify’s valence metric — which measures the musical … Read more

QuickLine: A Mac Utility for Saving and Launching Terminal Commands

From deep in the vaults, here’s an app called QuickLine that I made and then promptly forgot about in 2014. It’s a Mac utility for quickly saving and launching terminal commands. QuickLine is made with … Read more

Closed as Not Constructive: The Top-Voted Discussions on Stack Overflow

It goes without saying that Stack Overflow is an invaluable resource for any coder seeking help. This is in large part because they enforce stringent guidelines such as sticking to factual questions and answers. As … Read more

Mimicking Pokemon Go’s Battery Saver Mode on the Web

So here’s a fun but useless trick: mimicking Pokemon Go’s battery saver mode on the web. For the few who missed the craze, Pokemon Go dims your phone’s screen when you turn it upside-down. With … Read more

Relevant XKCD

Footnotes An xkcd tribute inspired by what has become a meme. Also inspired by all things recursive like We Become What We Behold and xkcd itself. Made with the official xkcd font. Can you guess … Read more

Fidgeting in the Digital Realm

Fidgeting is a natural impulse that seems to relieve our anxiety and aid us in contemplation. It often involves mindlessly interacting with everyday objects like stones, pen and paper, bubble wrap, and more. Of course … Read more

Wrangling the Tangle of Apple Cables and Dongles

Since Steve Job’s return in 1997, Apple has been bold about dropping legacy I/O standards, on a knife edge between marching the state-of-the-art forward and convincing the world to follow suit. It’s been the same … Read more

Rotary: A Retro Web Input for Phone Numbers

A bad web form sparked a series of increasingly absurd designs for inputting phone numbers, including an incrementer, slider, random number generator, and very large table. Here’s a good rundown of the solutions developers came … Read more

Learning CSS Layout with Flexbox Froggy

I’ve created a game for learning CSS flexbox called Flexbox Froggy. The goal of the game is to help the frogs get to their lilypads by writing CSS code. See if you can beat all … Read more

Bob Ross’ Color Palette in CSS

Even if you’ve never watched an episode of The Joy of Painting, there’s a good chance you’re familiar with artist Bob Ross, with his trademark afro and “happy little trees”. But if you’ve seen his … Read more

Survey of CMS Usage on Newspaper Websites

As of this month, 25 percent of all websites are using WordPress, according to W3Techs survey. This ubiquity was one of the leading factors in choosing WordPress as the platform for Snowball. Of course Snowball’s … Read more

Repositioning Tutorials in Mozilla Thimble

I just returned from another great Mozilla Festival. For most of the attendees, Mozfest seems to be a chance to kick back and celebrate the daily work they do with their teams. For me, it … Read more

Developing for Web Developers

As web developers, the deal is that we try to support our users on all the different platforms they might use to view our site. Generally speaking, that spans everything from the latest mobile devices … Read more

A Better Way to Search Google Fonts

Like most web developers, Google Fonts is an indispensable resource for me. What would otherwise be a choice between sticking to a small handful of web safe fonts or wrangling WOFFs, OTFs, and TTFs is … Read more

Polyfill for Scoped CSS

Scoped CSS is a new feature that makes it possible to add <style> elements anywhere in your document, scoping the CSS rules it contains to its parent element. This was just what we needed while … Read more

Snowball: A WordPress Plugin for Storytelling on the Web

Since May, our research group has been developing a new tool called Snowball. As with our other tools, the purpose of Snowball is to empower people from all sorts of backgrounds to express and create … Read more

PubCSS: Formatting Academic Publications in HTML &#038; CSS

You have two choices when it comes to formatting academic papers for conferences and journals: Microsoft Word and LaTeX. Word is familiar and easy for anyone to pick up. But the WYSIWYG interface that makes … Read more

Graduated Experiences in Golf and Programming

A recent post about efforts to counter the declining popularity of golf got me thinking. I’m a pretty terrible golfer, but still have fond memories of playing with friends and family over the years, and … Read more

TF2 Collective

In Team Fortress 2, there are nine playable classes with unique personalities and complementary abilities: pyro, engineer, spy, heavy, sniper, scout, soldier, demo, and medic. When referring to several scouts, or pyros, or heavies, it’d … Read more

3 Simple Design Bookmarklets to Improve Your Aesthetics

In math, you’re sometimes so focused on getting the calculations right that you end up with nonsensical answers without realizing it. In web design there’s a similar phenomenon, where you’re so intent on pixel perfection … Read more

GlyphSearch: Improving the Search for Icon Fonts

Right now we’re blessed with many, well, awesome icon fonts that continue to grow with every release, like Font Awesome, Glyphicons, and Ionicons. And game-changers like Iconic might be just around the bend. But searching … Read more

Weaving Tutorials into Mozilla Thimble

I’m headed to Mozilla Festival this week, after spending the summer working for Mozilla Webmaker. Everything at Webmaker is a team effort, so I helped out on a number of projects and had a blast … Read more

CRAPCHA: Completely Ridiculous And Phony Captcha that Hassles for Amusement

We’ve all run into CAPTCHAs, those annoying registration fields you never get right on the first try. But CAPTCHAs do play a valuable role, keeping spambots out by verifying that you’re a human. On top … Read more

iRoll: Rickrolling with iPhone Web Apps

One feature that’s often overlooked in iOS is adding webpages to your homescreen. You even get a nice retina icon if the webpage author designates one. Naturally, my mind went to how this feature could … Read more

Cinnamon.js: Find In-Page Text using Synonyms

A visitor to your site decides to follow you on Twitter. You have a link in your footer — but their search for “Twitter” comes up empty and they move on. Unfortunately, you named the … Read more

Digitizing Books on the Cheap and Easy

In 2011, for the first time, Amazon sold more Kindle ebooks than paperbacks. Last June, ebook sales surpassed hardcovers for all of the US. The futurist dream of a paperless world is slowly but surely … Read more

The iTunes Expanding Album Effect

iTunes 11 marks a significant departure from previous versions. While many of the changes are problematic (another post for another time), I want to focus on one positive: the expanding album effect. Similar to folders … Read more

The Hacker News Slap

For those who aren’t familiar, Hacker News is a popular site where a community of techies discuss a wide range of topics. According to HN’s guidelines, on-topic submissions are “[a]nything that good hackers would find … Read more