Hardware 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 tracking of users. And that is, of course, a big privacy no-no. Sounds reasonable, right? 

But what kinds of API’s were actually on that list? Well, among others, the hardware APIs that have been shipping in Chrome and Edge during the last couple of years: WebBluetooth, WebHID, WebMidi, WebNFC, WebSerial and of course WebUSB. Those sounds really dangerous, right?

Continue reading “Hardware and the web: the balance between usefulness, security and privacy”

Chrome 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 complaining about browser choice on iOS?

You may not realise that all browsers on iOS are required to use the same rendering engine as Safari. On other platforms, this is not the case.

Take, for example, Chrome. On Android, Windows and even macOS, they are using the Chromium rendering engine. But on iOS, it is using WebKit. Or look at Firefox, which uses the Gecko rendering engine on all platforms. Except on iOS, where it uses WebKit.

Continue reading “Chrome is the new Safari. And so are Edge and Firefox.”

Why 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. Developers that are using Electron are taking the lazy or easy approach to cross-platform development. Native apps are just better in every single way. 

And somehow, these arguments often come from Apple fans when they discover one of their apps isn’t “native” or when a macOS favourite is considering moving to Electron. How dare they!

And on the surface, I agree with pretty much everything that people say about Electron. And at the same time, I don’t care at all. And neither should you.

Continue reading “Why Electron apps are fine”

Cancelling 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 improve myself. I visited conferences long before I started speaking. And the last couple of years I even became involved in organising one.

So far, this year has not been easy for conferences. And it is only March. 

With the novel coronavirus spreading we’ve seen several conferences moving to an online format, postponing or even outright cancelling. For conference organisers, everything is up in the air. And that is okay. There are more important things than conferences right now.

Continue reading “Cancelling conferences in the face of novel coronavirus”

An 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 write native apps for. However, talking to hardware devices was still a bridge too far up till now. Thanks to WebBluetooth, we can now build PWAs that can control your lights, drive a car or even control a drone.

Read more at Smashing Magazine…

Complete and utter demo failure

Last Friday was a bit unreal. I find myself on stage at HalfStack talking about WebBluetooth. A couple hundred people look at me and listen to me. When it’s time to show some really cool demos, I explain that this is experimental technology and may not work. No, I explain, it will probably not work. And that was not a lie. In fact, before I started the talk I knew there was a very large chance the demos would not work. And indeed, none of the demos worked. Complete and utter demo failure.

Continue reading “Complete and utter demo failure”

Things I take with me when I travel to a conference

A couple of days ago Sara Soueidan launched this idea on Twitter:

About three years ago I spoke at my first conference. I had never been on a stage or spoke before a large audience. I never did a talk at a meetup and even in my day job I mostly work by myself. Whenever I went to a conference I fantasized about being on that stage, but I never actually seriously considered I was capable of public speaking. I’ve always been quite shy and standing up in a room and sharing my thoughts seemed terrifying. But I didn’t weasel out, did the talk and to my amazement I actually liked it. A lot.

Continue reading “Things I take with me when I travel to a conference”

The problems with feature detection

By now everybody should already know this. You should not rely on browser detection. User-agent sniffing is evil. Use feature detection instead. Sound and solid advice. At least until you start looking at some of the more unusual browsers.

Earlier this summer I did extensive research on smart TV and console browsers. It showed me that these browsers are a lot like mobile browsers 10 years ago — before Chrome and Safari. Everybody is trying, but nobody really knows what is right. More on that at a later time.

One important lesson I learned was that we as developers make a lot of assumptions.

Continue reading “The problems with feature detection”