Dark Mode and Transparent Images


A Hhrd to read image. The text is black, but so is most of the background. Bits have a white background.

Dark Mode is the new cool. Apps which automatically switch to an eye-friendly palette when lighting conditions are poor. Nifty! Most of the time, it's as simple as making the text a lightish colour, and the background a darkish colour. But all that fails when you use transparencies in images. Here's a quick example. Using the GitHub app in dark mode, I visited a repo which used a transparent image as an illustration: Yikes! I can't read most of that text, even if I whack up the brightness…

Continue reading →

This SVG always shows today's date


A graphic of a calendar showing the date "February 25 Sunday"

For my contact page, I wanted a generic calendar icon to let people view my diary. Calendar icons are almost always a skeuomorph of a paper calendar, but I wondered if I could make it slightly more useful by creating a dynamic icon. Here it is, an SVG calendar which always display's today's date: The background image is derived from the Twitter TweMoji Calendar icon - CC-BY. Text support in SVG is a little awkward, so let me explain how I did this. SVG supports JavaScript. This will run…

Continue reading →

Are Designers Crazy?


...or do I just need new glasses? I'm not a graphic designer. I find it hard to get into the mindset of excellence through beauty. I understand user flow, interactions, happy paths, delighting the user, humane design, and so on - but when it comes to the art of making something look nice I'm all at sea. I understand that, as Aral Balkan so perfectly puts it, design is not veneer - but that doesn't stop my confusion. This is a failing of mine - one which I'm trying to rectify - but recently…

Continue reading →

Police And Blue Boxes


The journalist Shiv Malik took a rather intriguing photo at the recent student protests. It appears to show a group of police officers gathered around a blue box. No one seems to know what the box is for. I'm sure it's got a rather prosaic function - but that doesn't stop the speculation! As soon I saw it, I could think of only one thing; chroma-key! (Or Colour Separation Overlay if you're the BBC). It's more commonly known as "blue screen". It's the special effect which allows you to…

Continue reading →

Hiding Space Invaders In QR Codes


One of the lovely aspects of QR codes is the variable levels of error correction built in.  On even the most basic code you can obscure or deform up to 7% of the code and most readers will still decode it. This leads us in to the amusing territory of "hiding" human readable data in the code.  I say "hiding" because we are hiding it from the scanner - not from the human. One of the more famous examples of this is Duncan Robertson's BBC logo. What works particularly well is the fact that the B…

Continue reading →