I've been thinking about fun little artistic things to do with QR codes. What if each individual pixel were a QR code? There's two fundamental problems with that idea. Firstly, a QR code needs whitespace around it in order to be scanned properly. So I focussed on the top left positional marker. There's plenty of whitespace there. Secondly, because QR codes contain a lot of white pixels inside them, scaling down the code usually results in a grey square - which is unlikely to be recognised…
Continue reading →
Take a look at these two QR codes. Scan them if you like, I promise there's nothing dodgy in them. Left is upper-case HTTPS://EDENT.TEL/ and right is lower-case https://edent.tel/ You can clearly see that the one on the left is a "smaller" QR as it has fewer bits of data in it. Both go to the same URl, the only difference is the casing. What's going on? Your first thought might be that there's a different level of error-correction. QR codes can have increasing levels of redundancy i…
Continue reading →
I've been writing about QR codes since 2007 - long before they were fashionable. Because QR Codes are so cheap to produce, there has always been a concern that attackers might print out their own codes and stick them over legitimate ones. When I first wrote about QR Hijacking in 2011, I said that such attacks were usually easy to spot: Recently, a new wave of QR Hijacking attacks have been reported in Bournemouth: A further warning about fake QR codes on parking ticket machines has been…
Continue reading →
This was a bit of a labour of love - and something I wanted to get running during EMF Camp. I'm documenting in the hope it'll be useful for EMF 2026! Here's the end result: Background I'm going to assume that you have updated your badge to the latest firmware version. You will also need to install mpremote on your development machine. You should also have successfully run the basic Hello, World! app. Drawing surface The Tildagon screen is 240x240 pixels. However, it is also a circle. …
Continue reading →
One of my most memorable experiences in the Civil Service was discussing link shortening services with a very friendly person from the Foreign and Commonwealth Office. I was trying to explain why link shortners like bit.ly and ow.ly weren't sensible for Government use. They didn't seem to particularly care about the privacy implications or the risk of phishing. I needed to take a different tack. "So, you know how .uk is the UK and .de is Germany, right?" "Yes." "What country do you think .ly …
Continue reading →
Three years ago, I wrote about the deficiencies in Microsoft's Tag system. It was painfully obvious even then that MS had no desire to back the "standard" they'd tried to create. They couldn't even be bothered to leverage the then-new Windows Phone to get the reader into customers' hands. Their terms and conditions at the time said We will also use commercially reasonable efforts to make these basic features available until at least January 1, 2015, and provide two years prior notice before …
Continue reading →
Public transport is a great way to assess the Zeitgeist. Watching commuters transition from iPhones to Samsungs, and from paper books to Kindles, really gives one a sense of how the world is changing. Advertising is also a great way to measure society; seeing lots of adverts for dodgy loan companies can give you an interesting idea about the direction of the economy. I've been tracking the rise of QR codes in advertising for several years now. People keep asking me when NFC will take over…
Continue reading →
One of my hobbies is looking for QR codes by leafing through the free papers which blight the city of London. Yes, I lead a tragic existence, but it keeps me off the streets - so let me be, eh? Most of the QR codes that I see now are pretty good. They have clear explanatory text, point to mobile websites, and generally follow the Ten Commandments for QR codes. But, every so often I spot one which really shouldn't have been let out in the wild. A property company (who shall remain nameless…
Continue reading →
My first QR code post of 2013! I'm a long term fan of QR codes. I know some people don't like the idea of augmenting reality with specific tags for computer vision - but I do. Some people prefer RFID/NFC. Others still prefer dedicated augmented video apps. As I've written many times before, QR codes have several substantial advantages over alternate technologies. QR is a free and open standard. Compatible with every phone with a camera. No need to build or use a dedicated…
Continue reading →
Wandering around the steets of London, I came across this excellent initiative from Camden Council on how to use QR codes on street furniture. If you see that a light - or anything else - is damaged, you can scan the QR code and report the issue. There's even a phone number and vanilla URL for those who aren't quite up to speed with new technology. There's only one slight issue - the QR code points to this site. The fact that the landing page isn't mobile friendly is bad enough, but…
Continue reading →
I unashamedly love QR Codes. But every so often, I see one which makes me wonder if there should be some sort of licence for creating them :-) As I was walking around Camden the other day, I spotted this monstrosity. I figured with a code that dense, it probable contained a URL to a rubbish iPhone app, or perhaps a link stuffed full of tracking parameters. Still, what the heck, I scanned it. What's the bloody point in that? Here's a guide on "How Not To Screw Up With QR Codes" which I …
Continue reading →
Last month I gave an interview to the Metro newspaper about QR codes. Click for full size …
Continue reading →