Can time-travellers use TOTP codes?


A chunky wristwatch showing the time and a selection of 6 digit codes and their corresponding entities.

Imagine, just for a moment, you and your friends decide to travel in time. In order to make sure you can authenticate your communications with each other, you set up a shared Time-based One Time Password (TOTP). The TOTP algorithm uses a Hash-based Message Authentication Code (HMAC). The hash is calculated from a shared key and a time-based component. The key is a short string of characters. The time-based component is calculated as the number of seconds between now and the Unix Epoch. When…

Continue reading →

.well-known/avatar


Edent Shouting into a microphone.

Hot on the heels of a post I wrote 4 years ago, wouldn't it be useful to have a well-known URl for user avatar images? When I sign up to a web service, I don't want to faff around uploading an image to use as my avatar. I want that service to look at my email address or social-sign-in and automatically pick up my preferred graphic. Here's how I see it working. A user signs in to a service with the email address [email protected] In a similar way to WebFinger, the service makes a request…

Continue reading →

Is Open Graph Protocol dead?


Robot faced Mark Zuckerberg is wearing a VR headset - it digs painfully into his smiling cheeks.

Facebook Meta - like many other tech titans - has institutional Shiny Object Syndrome. It goes something like this: Launch a product to great fanfare Spend a few years hyping it as ✨the future✨ Stop answering emails and pull requests If you're lucky, announce that the product is abandoned but, more likely, just forget about it. Open Graph Protocol (OGP) is one of those products. The value-proposition is simple. It's hard for computers to pick out the main headline, image, and other data …

Continue reading →

Star Wars and Standards


Still from A New Hope. Leia inserts the disk into R2-D2.

I recently read Future Law - a book of essays about using popular culture to explain technological and legal concepts. One essay looks looks at GDPR issues experienced by Disney® Princesses. I thought I'd try my hand at something similar! So here's my (brief and incomplete) guide to Technical Standards in Star Wars! Where do we see compatibility - and incompatibility - within the Star Wars universe? How might the lives and fates of our protagonists have been changed by better standardisation? …

Continue reading →

I have resigned from the Google AMP Advisory Committee


A lightning bolt logo.

As per the AMP AC charter, I have resigned with immediate effect. As I was a non-corporate representative, I will not be nominating a replacement. I have loved working with the AC. They are a team of brilliant individuals who are all committed to trying to make AMP better, and I'm sorry to leave them. I've been a member of the AC for a little over two years and now is the time to step away and let a wider variety of people work on the committee. As I mentioned in a previous blog post, I am…

Continue reading →

How do you raise a software bug with a book publisher?


HTML code - a span wraps the first letter of a word.

Recently, I bought an eBook which has a bug. I'd like to explain what the bug is, why it is a problem, and how I'm trying to get it corrected. Amazon sells eBooks in KF8 format. That is an ePub with some proprietary extras. ePub is a standard based off HTML5. You can read the ePub 3 specification but, basically, it is a .zip of HTML files. If you unzip an eBook, you can read the source code behind it. When trying to read a Kindle book on a non-Kindle device, I noticed a bug. Some words were…

Continue reading →

Should panoramic images be part of the HTML5 specification?


360 view of the inside of the concert hall.

Noodling thoughts. The humble <img> element is one of the oldest parts of HTML. It allows you to put a static image in a document. Later revisions allowed for animated images - like GIFs. And the <map> element made parts of the image clickable. But what about interactive images? Like panoramas and photospeheres? Here's a 360° image. You can drag it to see all around. That uses the fantastic Pannellum JavaScript Library. At the moment, there's no native way to represent that in HTML. If …

Continue reading →

Introducing the new HTML element - welcome <clippy>!


Hello! It looks like you're writing a blog post - would you like help with that? chuckles Me and my colleagues at Microsoft have decided that the world needs more Clippy - the adorable animated paperclip. To help with that, we're bringing a new feature to Edge 6.0. Web Developers can now use <clippy> to call up an animated virtual assistant. I've spoken to several people in Microsoft, and we all agree it is a good idea. We looked through a number of great software projects (mostly from…

Continue reading →

Adding Sign Language to HTML5 video


Video with overlay.

I watched this video from my colleagues in NHS England - it's the first time I've seen a Sign Language overlay on a Twitter video. NHS@NHSukNeed help fast, but not sure what to do? Go straight to 111.nhs.uk . To find out more about NHS 111 including how to use the NHS 111 BSL interpreter service visit nhs.uk/111 #NHS111 pic.x.com/tk18uvm2vy❤️ 16💬 1🔁 016:00 - Sat 18 May 2019 Is it possible to have multiple Sign Languages available to a video? What you may not know is that British Sign Languag…

Continue reading →

A report from the AMP Advisory Committee Meeting


A lightning bolt logo.

I don't like AMP. I think that Google's Accelerated Mobile Pages are a bad idea, poorly executed, and almost-certainly anti-competitive. So, I decided to join the AC (Advisory Committee) for AMP. I don't want them surrounded with sycophants and yes-men. A few weeks ago, a bunch of the AC met in London for our first physical meeting after several exploratory video calls. These are my impressions and highlights of the meeting. You should also read the official minutes to get a more rounded…

Continue reading →

Why bother with What Three Words?


Two men are confused by a paper map

I'll be wording this post carefully as What 3 Words (W3W) have a tenacious PR team and, probably, have a lot more lawyers than I do. W3W is a closed product. It is a for-profit company masquerading as an open standard. And that annoys me. A brief primer. The world is a sphere. We can reference any point on the surface of Earth using two co-ordinates, Longitude and Latitude. Long/Lat are numbers. They can be as precise or as vague as needed. Humans can't remember long strings of numbers, and …

Continue reading →

Plot twist!


Doctor Who holding a glowing key

A mysterious woman, with a non-London accent and blonde hair, reached out her hand. She asked me a simple, yet terrifying, question - "Do you want to come on an adventure?" Sadly, Hadley Beeman does not have a TARDIS (Well, as far as any of us can tell...). What she does have is an interesting new job for me. Take a deep breath, because it's a heck of a long title: Senior Technology Advisor to the Chief Technology Advisor to the Secretary of State for Health and Social Care Sweet! So, what …

Continue reading →