1 of 38

Project Fugu

What we have enabled

Kenneth Rohde Christiansen (Intel)�

Alex Russell & Diego González (Microsoft)�

Ben Morss & Thomas Steiner (Google)

Slides: goo.gle/project-fugu-tpac2022

2 of 38

What is Project Fugu?

The Capabilities Project (code name Project Fugu) is a cross-company effort with the objective of making it possible for web apps to do anything platform-specific apps can.

3 of 38

How does Project Fugu operate?

Fixed process requiring explainer, spec, TAG review, security review,…

Try new ideas in origin trials first to avoid burn-in.

User agent optionality, e.g., for permission handling.

Spec ≠ standard, but standardization is the ultimate goal.

All spec work starts in the WICG.

4 of 38

How does Project Fugu operate?

Standardization is happening:

5 of 38

How does Project Fugu operate?

Sometimes we also agree to disagree:

6 of 38

A walk down the Chromium release memory lane…

7 of 38

2021

2022

A walk down the Chromium release memory lane…

8 of 38

2021

2022

Vous êtes ici!

A walk down the Chromium release memory lane…

9 of 38

APIs introduced in…

👉 Idle Detection

Feature freeze branch beta cut stable

94

1% > 100%

10 of 38

APIs introduced in…

👉 Idle Detection

Feature freeze branch beta cut stable

94

1% > 100%

https://mail.google.com/chat/

11 of 38

APIs introduced in…

👉 EyeDropper

Feature freeze branch beta cut stable

95

1% > 100%

12 of 38

APIs introduced in…

👉 EyeDropper

Feature freeze branch beta cut stable

95

1% > 100%

https://boxy-svg.com/app

13 of 38

APIs introduced in…

👉 App Icon Shortcut menu for PWAs on macOS and Linux

👉 URL Protocol Handler Registration for PWAs

Feature freeze branch beta cut stable

96

1% > 100%

14 of 38

APIs introduced in…

👉 App Shortcut menu for PWAs on macOS and Linux

Feature freeze branch beta cut stable

96

1% > 100%

https://twitter.com/

15 of 38

APIs introduced in…

👉 URL Protocol Handler Registration for PWAs

Feature freeze branch beta cut stable

96

1% > 100%

https://www.irccloud.com/

16 of 38

APIs introduced in…

👉 WebTransport

Feature freeze branch beta cut stable

97

1% > 100%

17 of 38

APIs introduced in…

👉 WebTransport

Feature freeze branch beta cut stable

97

1% > 100%

https://zoom.us/

18 of 38

APIs introduced in…

👉 PWA should be able to be uninstalled the same way a "real app" can

Feature freeze branch beta cut stable

99

1% > 100%

19 of 38

APIs introduced in…

👉 PWA should be able to be uninstalled the same way a "real app" can

Feature freeze branch beta cut stable

99

1% > 100%

20 of 38

APIs introduced in…

👉 Web NFC: NDEFReader makeReadOnly()

👉 Multi-Screen Window Placement

👉 HIDDevice forget()

Feature freeze branch beta cut stable

100

1% > 100%

21 of 38

APIs introduced in…

👉 Multi-Screen Window Placement

Feature freeze branch beta cut stable

100

1% > 100%

https://michaelwasserman.github.io/window-placement-demo/

22 of 38

APIs introduced in…

👉 USBDevice forget()

👉 Web USB sameObject behavior

Feature freeze branch beta cut stable

101

1% > 100%

23 of 38

APIs introduced in…

👉 Window Controls Overlay for Installed Desktop Web Apps

👉 File Handling

👉 chrome.management API can no longer interact with PWA apps

Feature freeze branch beta cut stable

102

1% > 100%

24 of 38

APIs introduced in…

👉 Window Controls Overlay for Installed Desktop Web Apps

Feature freeze branch beta cut stable

102

1% > 100%

https://sqliteviewer.app/

25 of 38

APIs introduced in…

👉 File Handling

Feature freeze branch beta cut stable

102

1% > 100%

https://documents.adobe.com/

26 of 38

APIs introduced in…

👉 SerialPort forget()

👉 Local Font Access

Feature freeze branch beta cut stable

103

1% > 100%

27 of 38

APIs introduced in…

👉 Local Font Access

Feature freeze branch beta cut stable

103

1% > 100%

https://paint.js.org/

28 of 38

APIs introduced in…

👉 Web Custom formats for Async Clipboard API

Feature freeze branch beta cut stable

104

1% > 100%

29 of 38

APIs introduced in…

👉 Origin Private File System extension: AccessHandle

Feature freeze branch beta cut stable

102

1% > 100%

30 of 38

APIs introduced in…

👉 Origin Private File System extension: AccessHandle

Feature freeze branch beta cut stable

102

1% > 100%

https://photoshop.adobe.com/

31 of 38

32 of 38

For more examples, check out the Project Fugu API Showcase

33 of 38

What are we building?

Talking to developers

Oo, that looks shiny

34 of 38

What's happening on the web now?

Help that happen. Make it better.

What to build?

MVP ➡️ v 2.0

35 of 38

New web use cases

  • Video and audio creation apps
  • Game streaming
  • Things being aware of nearby things
  • Educational toys like LEGO™️
  • Code editors
  • Peripheral configuration
  • Medical applications
  • Call control
  • Creative applications
  • Retail…?

36 of 38

New capabilities

  • Multiple screens
  • Screen refresh rate
  • BLE scanning, Serial over Bluetooth
  • Better advanced storage
  • File system access
  • Low-latency audio

37 of 38

Safety first

38 of 38

Project Fugu

Thank you!

Slides: goo.gle/project-fugu-tpac2022

Kenneth Rohde Christiansen (Intel)�

Alex Russell & Diego González (Microsoft)�

Ben Morss & Thomas Steiner (Google)