This is a summary of my talk at CSS Day 2026. This talk is about a new feature in the CSS Fonts specification. The text scaling problem The Web Content Accessibility Guidelines 2.2 give us these two success criteria: 1.4.4 Resize Text says that we should be able to let the user increase their text size by at least 200%. 1.4.10 Reflow says that content shouldn't overflow the viewport and cause the…
If you have Chrome Canary installed with the 'Experimental Web Platform features' flag enabled, you can now try out a new HTML meta tag: < meta name = " text-scale " content = " scale " /> This is a feature that I proposed at the CSS Working Group back in Summer 2024 and developed with a lot of help from David Grogan and Philip Rogers from the Google Chrome team. You can read the full explainer…
My post two weeks ago on How a BBC navigation bar component broke depending on which external monitor it was on has had a lot of discussion and feedback, including today on Hacker News. After reading the comments, I wanted to clarify some things. Also, thank you to Patrick H. Lauke from TetraLogical (editor of the Pointer Events Level 2 spec) for his comment on Mastodon that suggested improving…
Recently, my team and I fixed an absolutely bizarre bug that only one person in the team could reproduce. And to make it even weirder, she was only able to reproduce the issue when using her work laptop at home; it worked fine with the same laptop in the office. So what was the bug? The BBC's UK website uses a click event to respond to when a user activates the 'More' button. click events aren't…
Last week, I joined the CSS Working Group at the W3C, representing the BBC. The CSSWG is where the new features and improvements to CSS are agreed on and decided through consensus between all of its members. As with all W3C working groups, the CSSWG is made up of members from different organisations and also individual invited experts. So that includes the browser vendors like Apple, Google,…
As long ago as the year 2018, the CSS Working Group at the W3C agreed to add a new function to the border-color and outline-color properties. The function is called stripes() . The syntax is actually fairly simple. Let's say you want to make a blue and white border. All you have to do is: border : 4px solid stripes ( white , dodgerblue ) ; Sounds great, doesn't it? A simple and effective way to…
At the BBC, we recently had a brand refresh. It was known internally as the Chameleon Project . Done in partnership with Wolff Olins – who had done branding projects for the likes of Google, Uber and TikTok – its aim was to take the BBC out of its dusty old past of Gill Sans typefaces and a vast array of sub-brands designed around the world of broadcast TV. We were moving into a new era: to be the…
Until now, this site's been running on Jekyll, and I thought I'd join the Eleventy bandwagon. I got the site set up quite quickly on Netlify, because I was using this awesome template called Hylia by Andy Bell ! I don't really have time to design my own site these days, and I'd say it looks pretty good anyway! Ta, Andy!
When learning to develop for the Web, do you ever feel like you're being taught about all the tools in a toolbox, but not how to actually use them together to build something? If you want to assemble a shed, it's all well and good learning how to use a power drill to drill a hole in a plank of wood, but how do you use that tool along with a screwdriver, a saw to actually build a wall or a roof or…
For the past three years, I've been running this website on a really cheap VPS from OVH . It was very helpful when I was originally learning how to set up and maintain a Web server, but I don't really have the time to maintain anything like that any more. (Actually, I'd just much rather do something more fun!) So I've migrated the blog from Ghost to a more basic static website created with Jekyll…
Here's the situation: You've got a service that's used by millions of people. You've got a great coverage of unit tests, integration tests, smoke tests and acceptance tests for it. However, in the real world, this service is combined with lots of other services to work correctly, so you need an end-to-end test suite as well to be 99.9% confident that you're safe to deploy a new version. However,…
It's only a weekend to go now until I start at the BBC in their Software Engineering Graduate Scheme in Manchester, and I'm really looking forward to it. All of us on the scheme are being sent to the White City offices in London on the first week for an induction, and then to the BBC Academy in the second week. I still have absolutely no idea where I'll be living in Manchester yet, but hopefully…
The website has been upgraded to HTTP/2.0, which delivers a much snappier experience when downloading Web pages. This was made possible by a server upgrade to Ubuntu 16.04, which contains a newer version of Nginx. Nginx is the Web server application that handles connections to the server. Just with a simple configuration file change , HTTP/2.0 was supported instantly. Awesome stuff!
Hooray! After a year in my sandwich placement at GloverSure and a busy first semester during my final year at University, I've finally gotten round to a much needed upgrade to my website. I've been dying to redo my entire VPS setup for ages. I ended up buying a new 10 GB SSD VPS from OVH last week. I set it up with nginx instead of Apache and Ghost instead of WordPress. I also finally have a HTTPS…
One of the developers I follow on Twitter who works on the Rust compiler posted an interesting thought today: Software engineers are too nice: we should copy doctors and lawyers and make it as difficult as possible to enter the profession, not easier — nrc (@nick_r_cameron) December 28, 2014 It would be worse for society, but better for us. — nrc (@nick_r_cameron) December 28, 2014 And…
If you thought there was still a shred of hope that EME would never be supported in all major browsers, I’m afraid that all changes as of today. Mozilla have announced that they’ve had to back down and support EME in Firefox . They originally vowed to stand against it, but it’s become clear that it’s implementation and use on Web site is increasing too much for them to boycott it now. This may…
The development of EcmaScript 6 is coming along smoothly. But with so much talk about iterators, generators, more useful variable declarations using const and let , arrow functions, default parameters and rest parameters (which are – admittedly – very exciting new features), there’s very little talk on what – I think – will be the most exciting and influential features of ES6: classes and modules.…
At Mozilla Research , two research projects are underway – probably two of the most important things going on with the Web today. These projects are Rust and Servo. In part two of this series, I’m going to be talking about Servo. A browser engine is very unusual first choice of application to build using a brand new language. No one wants to build browser engines. They’re complex, and have to…
At Mozilla Research , two research projects are underway – probably two of the most important things going on with the Web today. These projects are Rust and Servo. In part one of this series, I’m going to be talking about Rust. Rust is a programming language that’s still under development. It’s at version 0.9, as of writing. You could say it’s a very unique mixture of procedural-ish programming…
Recently, our family bought themselves a Samsung Smart TV. As they are not known for being technology-literate, I can’t imagine them making use of its smartness, but it was interesting to use one for the first time. I was surprised to see that all the apps were built using the Web. It made me think: TV apps are just starting off with the general public; all of the Smart TV manufacturers – mainly…
A couple of weeks ago, I was writing a document for a university assignment in LaTeX. Learning the syntax isn’t too bad, but can take a while. It is similar to HTML; especially in the sense that it is a semantic mark-up language. But it’s old, and mostly used by academia. Meanwhile, CSS has – for years – supported styling printed documents. I’m planning an experiment to see if it would be possible…
There have been many times that I hear people say: responsive Web design cannot be done on “real” Web applications or Web sites that want to provide a rich, content-heavy user experience. Is that really so? Is that really the pessimistic attitude we should have towards our ever-evolving Open Web Platform? Today, I updated my Web site to the latest version of WordPress. Version 3.8 has a new admin…
Since a couple of years ago, I haven’t been supporting any version of Internet Explorer below IE8 in any personal Web projects. Microsoft have started to really care about standards and interoperability since they began development on IE8, so supporting it is much easier than in the past. There are a few annoying quirks, but nothing major, and thankfully its usage share will likely be dropping…
Normally, when I’m developing a Web site, I can’t test it on Safari on iOS. I don’t own an Apple device. However, when I finally got a chance to do that today as I was finalising site, I was very surprised by what happened. When a Web browser is used on a device with a small screen (like a smartphone or an iPod), the browser zooms out to show the full width of the page when viewing a Web site…
When the Web was created, it ran on one Web browser that ran on one type of desktop PC. But the technologies behind it all ran on open standards, so it didn’t take long before the Web proliferated into all of the devices we now use it on. Web developers don’t just have to worry about 640 × 480 desktop PC monitors. The Web runs on large monitors, small laptop monitors, TVs, high-DPI displays,…
The Web has a problem. An old problem. It’s the same problem that it’s had for a decade. Fragmentation . If Web users all used the latest versions of their favourite Web browsers, life would be simple. But they don’t. Companies insist on using old versions of Windows that come with equally old Web browsers. And mobiles have the same problem, as there are hundreds of millions of Android phones that…
On 19th July 2012, a fissure was created between the W3C and the WHATWG; the two most important standards organisations leading the development of the Open Web Platform. A history lesson The WHATWG was set up in 2004 by Apple, Mozilla and Opera to rescue the future of the Web platform (yes, Apple cared about the Web back then!) after Sir Tim Burners-Lee and the W3C became increasingly focused on…
When I first went to study Computer Science at university, I was curious exactly how my department would approach teaching the students of today about our modern and now very powerful Open Web Platform. So much had changed from the days when I was learning about the Web; back when Web sites were just moving away from the “Microsoft Web” that Internet Explorer 6 had created. Many Web pages would…
Encrypted Media Extensions. Anyone that knows what they are knows that they are synonymous with one thing: DRM And those that know that also know the controversy that ensues. The problem is this: DRM restricts users from viewing a video or listening to an audio track unless they are given permission by the media content’s owner (such as by signing into an account and paying to view it). That seems…
Ever since the mid-noughties, there has been a general disdain for Internet Explorer. Everyone from Web developers to your tech-savvy grandad hates the browser. Back in the day, IE was by far the most widely used Web browser; owning a monopoly in the browser market. Today, however, the situation is very different. NetApplications reports it to be at a much healthier market share of 56%, as of…
Ever since Google Chrome launched in 2008, it has used the layout engine WebKit for dealing with all of the functions a Web browser needs to display Web pages to users. WebKit is very widely used – particularly by mobile Web browsers – and has therefore become one of the main layout engines that Web developers test their Web sites on. However, many don’t realise that not all WebKit browsers are…
This was originally presented at Aberystwyth University on 2013-02-22. Slide 1 WebKit vs. the mobile Web Slide 2 Before I go into detail about this, I just want to give a quick summary of the state of how the Web works today. Obviously, you access the Web using a Web browser, and these are the five most popular ones: Internet Explorer, Firefox, Chrome, Safari and Opera. All browsers have an…
Opera Software announced yesterday that their Opera Web browser now has over 300 million users spread across various devices that the application supports. However, hidden within that press release was far more serious news. Since 2003, Opera has used its own layout engine called Presto. Presto is famous in the Web developer community for its rigorous compliance with Web standards. This will soon…
As you no doubt already know, Microsoft has had a number of spats with the European Union this past summer. While they sorted out the disappearance of the browser ballot screen on Windows 7 SP1 and Windows 8, a more recent issue still remains. However, this issue is not with Windows 8 as such, but, rather, Microsoft’s newest operating system: the confusingly named Windows RT. While this OS may…