The browser is getting more powerful every year.
Back in the day, it was only used to display basic web pages. These days the browser can already replace lots of desktop apps. It doesn’t look like that’s stopping anytime soon. Especially with the introduction of these 5 web APIs.
Web Auth API
Phishing is a big problem. These days so much of your online identity is tied to a couple of accounts. If you get locked out of your Google or Apple account right now… how screwed are you?
To protect against people hijacking your accounts you can enable two-factor authentication. SMS is popular for two-factor authentication but it’s unsafe because you can get Sim-Swapped.
A good two-factor authentication method can be a hardware device such as a Yubi key. So besides your password, you need to have a physical device connected to your computer and press a button on the device to authenticate.
The only problem is websites didn’t have a good way to interact with a hardware key. So in practice, many didn’t support hardware keys or in less-optimal ways. But with the Web Auth API, it becomes easy to integrate strong authentication of hardware keys.
Hardware keys are not the only things that are supported. For example, you can also implement Windows Hello or Apple TouchID for authentication on the web.
This is a bit of an oddball as it’s not strictly a web API. However, it’s the one that will change the web the most in the upcoming years.
Check out Web Assembly Games or An introduction to WebAssembly (the guy has a Gandalf beard so you know it’s good).
Web Audio API
Have you ever wanted to make your own voice changer or audio effect generator? It’s now possible… from within the browser. The Web Audio API has all kinds of functionalities for you to build your own audio app.
For example build a voice changer or add effects to audio. Checkout more demo’s.
If you want even more powerful functionalities you can use Web Assembly. Some virtual instruments have been ported to the web already.
Devices that support vibration such as phones can expose this functionality through the browser API. So it’s possible to add to use vibration as feedback for examples for the interactions in your application.
It isn’t supported yet in all browsers but it shows how more and more functionalities that were previously exclusive to native apps are coming to the web. Perhaps in the future, everything runs in the browser and we’ve become full circle.
You can only use USB devices on native apps on your operating system, right? Well, this will change soon. As the Web USB API is currently in development which would allow websites (after asking for permission) to interact with USB devices
Bonus: Clipboard API
Wait what? Of course, you know this one right? The clipboard API has been released a long time. But still, you see people in the wild using complicated workarounds or importing packages to handle this.
This is a gentle reminder (but not for you of course, because you know this) that the clipboard API is the easiest way to handle copying and pasting in the browser.
As you can see, the web gets more powerful every day and the lines between the capabilities of native apps and web apps are getting more blurred every day.
I’m curious if the software for high-performance tasks such as video editing, music production, and lighting design will eventually move to the browser with the processing happening on the server. A bit like back in the ’90s where you had the server and the terminal.