CSS is DOOMed
No, CSS is awesome. CSS is better than ever and it is only getting better. And that is why I built DOOM in CSS. Every wall, floor, barrel, and imp is a <div>, positioned in 3D space using CSS...
View ArticleMaking a low-budget conference look high-budget using an ATEM video mixer and...
The Fronteers Conference made a comeback this year with a fresh concept, presenting unique technical challenges that we were excited to tackle. Fronteers Dark Mode would be a smaller, more intimate...
View ArticleThe User-Agent string of Safari on iOS 26 and macOS 26
User-agent strings are weird. They inform the server which application is communicating with them. In the case of a web browser, this string can contain the name and version of the browser, but also...
View ArticleReceipt Printers 101
Receipt printers are a complicated subject because of many variables. There are many different types of printers and ways to connect them, but this article will help you navigate most pitfalls. The...
View ArticleShould we rely on browser detection?
This is the sixth and final chapter of “The problem with User-Agent strings “. In the previous chapters, we’ve learned that the User-Agent string is something that web developers should handle with...
View ArticleThe User-Agent Client Hints API
This is the fifth chapter of “The problem with User-Agent strings“. In the previous parts, we examined the history of the User-Agent string and browser vendors’ efforts to reduce its information....
View ArticleUser-Agent reduction
In our fourth chapter of “The problem with User-Agent strings” we learn about some of the privacy advances that browsers have made in the last couple of years. Privacy on the Internet has become much...
View ArticleTrouble happens when you update a version number
In our third chapter of “The problem with User-Agent strings” we taking a look at the problems you run into when you change something in the User-Agent string. As I mentioned in the previous...
View ArticleA chapter of unnecessary detail
In our second chapter of “The problem with User-Agent strings” is a fascinating story about the browser wars. It’s a tale where the User-Agent string takes centre stage, revealing its unpredictable...
View ArticleA brief history of the User-Agent string
In our first chapter of “The problem with User-Agent strings” we are taking a deep dive into history and start with the basics of the User-Agent string. Our first stop is in 2018, with the release of...
View ArticleThe problem with User-Agent strings
If you regularly check your website’s analytics, you may have noticed something weird in the past year or two. None of your visitors use Windows 11, and nobody upgraded their computer past macOS 10.15...
View ArticleRed flag: Speakers having to cover their own travel
The Modern FrontEnds conference was held last week in London. It wasn’t a small conference, as the website touts over 100 speakers and more than 3000 developers attending. Not only that, the...
View ArticleUsing the Apple Studio Display on a Windows machine
I bought an Apple Studio Display. But unlike most people, I intend to use it for my Windows machine, which does not make much sense but hear me out. I run Mac and Windows because I develop software...
View ArticleWhy Safari does not need any protection from Chromium
Lately, web developers have begun to question Apple’s monopoly over browser rendering engines on iOS. The App Store rules force browsers on iOS to use the same rendering engine as Safari instead of...
View ArticleHardware and the web: the balance between usefulness, security and privacy
About a year ago, Apple released a list of Web API’s they were not going to implement in Safari due to privacy and security issues. They worried that these API’s were going to allow fingerprinting and...
View ArticleChrome is the new Safari. And so are Edge and Firefox.
If you go to the App Store on your iPhone, there are many browsers to choose from. And with the latest version of iOS, you can even set these browsers as the default browser. So why are some people...
View ArticleWhy Electron apps are fine
It is not difficult to find some incredibly shitty takes on Electron, and every time it boils down to: It’s slow. Downloads are huge, and it uses a lot of memory. Electron apps are just websites....
View ArticleCancelling conferences in the face of novel coronavirus
I love conferences. I love learning about new developments in our community. I love being able to talk to the speakers and other attendees. Conferences have allowed me to grow as a developer and...
View ArticleAn Introduction To WebBluetooth
With Progressive Web Apps, you can now use the web to build full-blown apps. Thanks to an enormous amount of new specifications and features, we can do things with the web that you used to need to...
View ArticleThe case for console.hex()
What was a major annoyance during the development and especially the debugging of my WebBluetooth demos has now turned into a real proposal to extend the console API in the developer tools for all...
View Article