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 →
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 →
...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 →
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 →
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 →