Web Capabilities and You

Web Capabilities and You

Learn how new capabilities are built, the goal and how they can help you and your team build powerful web apps.

11/22/21

PWA, Fugu, APIs, Browsers

Introduction

The capabilities project is a cross-company effort led my Google Chrome Team with the objective of making the web do anything native apps do. Also dubbed as the “Filling the app gap”.

This article is an extension to the Talk I gave during the PWA Summit about the capabilities project. In this article you'll learn about the process, why you should care and consider it, and how you could give feedback and contribute to it.

Building new capabilities

The process for building new capabilities is very similar to the process for building any software product. Here are the five key steps:

Process

  1. Identify the need - The first step is to identify the need for the new capability. The goal is to understand what the developers need and what are the current approaches in relation to that specific need aka the missing capability.

  2. Creating an explainer - This step involves development of the capability design document. It describes the new capability and how it should be implemented and intended to be used.

  3. Solicit feedback - This steps involves asking the developers and other stakeholders to provide feedback on the new capability explainer. It's basically a way to validate the design and need of the capability.

  4. Design formal specification - This step involves writing the formal specification for the new capability. It's basically a formal description of the new capability.

  5. Ship it! - This step involves shipping the new stable capability to the web once it's built, tested and ready to be used.

Why you should care and start considering

One important thing to note is that the modern web has been built and it's going to always be built around three core tenets. That's speed, security and capability. Speed as tenet answers the question, how fast?, and security as tenet answers the question, how safe?. Capability as tenet answers the question, how powerful?.

Looking at these tenets, you realize it's important that all these new capabilities are built keeping the web fast as usual and that user security, privacy and trust is a priority. Having this project built in the open has opened up a whole new world of possibilities for the modern web. Where all stakeholders can be involved driven by the feedback that developers provide as a community globallly.

Giving more context on user security and privacy, these capabilities such us the file system access api rely on a permission model that puts the user in total control, and is easily revoke-able. I love how expressive this model is and how it's easy to understand.

Some examples, the endless possibilities

You can now build some new great powerful native capabilities in your web apps, for example using the Web NFC API to provide your web app the ability to read and write to NFC tags when they are brought in close proximity to the user’s device, or the file system API to build powerful web apps that interact with files on the user's local device, like IDEs, photo and video editors, text editors, and more.

Try it out, feature requests

Google has built an amazing resource for web developers to try out new capabilities. You can also request for a feature or send in bug reports.

*So go BIG!*

Author : Maye Edwin

Return to home page