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.
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:
- CacheStorage
- Service Worker
- Web Share
- Async Clipboard
- Async Clipboard (Images)
- File System Access
- Web Share Target
- Web Share Target (Files)
- File Handling
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: English