Discovering the capable web

Discovering the capable web

Project Fugu is a cross company effort to close gaps in the web’s capabilities, enabling new classes of applications to run on the web. More concretely, this means adding new APIs to browsers that app developers can use to enable previously impossible use cases. What APIs does your browser of choice support? What web applications make use of these APIs? Let’s find out!

How Fugu is my browser?

Project Fugu APIs such as File Handling, File System Access, Async Clipboard, and Web Share have brought capabilities to the web that you might expect only to be possible in platform-specific apps. For example, you can now double-click an image file so it opens in an associated PWA, make modifications, save the changes back to the file, and then copy the image contents over into another app or share it to an email client. This is a flow that wasn’t possible on the web until recently.

To learn what is possible, check out the application How Fugu is my browser? and see what Project Fugu APIs your browser of choice supports. Not all features are exposed on all platforms—for example, the Contact Picker API is currently only exposed on mobile—so it’s technically impossible to reach a score of 100% if you test on desktop (and vice versa). Therefore, regard this test as a playful competition rather than absolute science. For each tested feature, there’s a link to the relevant documentation so you can learn more about the feature. Where feature detection is possible, there is also a note on whether the feature is supported by your browser or not, and finally page load statistics linked to Chrome Status that tell you how popular over time a given feature is.

If your browser supports the Web Share API, you can share how Fugu your browser is by clicking the Share button right next to the Fugu fish and the progress bar. Else, you can download a screenshot, and then share it manually on your online social network of choice.

The site at https://howfuguismybrowser.dev/.
Have you ever wondered: “How Fugu is my browser?

How Fugu is the web?

The companion browser extension named How Fugu is the web? will help you to find out which Fugu APIs are used by the sites you are visiting. Install this extension from the Chrome Web Store and browse the web, then notice how the Fugu fish counter on some sites displays a badge with the detected Project Fugu APIs. For example, if you browse to Excalidraw, the counter jumps to 9, since Excalidraw uses nine detectable Project Fugu APIs. These are:

  1. CacheStorage
  2. Service Worker
  3. Web Share
  4. Async Clipboard
  5. Async Clipboard (Images)
  6. File System Access
  7. Web Share Target
  8. Web Share Target (Files)
  9. File Handling
The extension 'How Fugu is the Web' invoked on the site https://excalidraw.com/.
Have you ever wondered: “How Fugu is the web?

As before, you can Share the results directly if your browser supports the Web Share API, or manually if not. To see if your browser supports a feature, read the relevant documentation by clicking on Details. You can also directly check out the relevant source code snippet by clicking on the source code link in the bullet list.

Conclusions

When browsing the web with the How Fugu is the Web? extension installed, it is impressive to see how often the Project Fugu API badge appears. This ranges from pages with comfort features like being able to paste images into an app like, for example, in GitHub’s New Issue page (instead of uploading them as a less comfortable option), to full-blown apps that make use of several features such as file handling, file system access, and clipboard access, as in Excalidraw. Where previously a platform-specific app was required, in some cases now a web application can fill in. An example of such is Wooting‘s Wootility app for programming gaming keyboards with the WebHID API.

Similarly, running How Fugu is my browser? on each new version of your browser of choice (or just any other browser or embedded WebView) is very satisfying. With with almost every new browser release, the progress bar moves up a little when your browser has gained a new capability or two.

Building for the web is more viable than ever, and new features keep being added to the platform at an amazing pace. The web is not your only choice for building an app, but I hope with this testing site and the browser extension I have convinced you to give the capable web a second look if you have not considered it so far.

This post is also available in: Discovering the capable webEnglish