Owen Campbell-Moore, one of Chrome’s PM’s for Progressive Web Apps and new APIs asked the following question, and instantly Surma (that is the only name we know for him) said “Sockets”
@owencm Network connections. Like writing an SSH client as a PWA.
— Surma (@DasSurma) August 12, 2016
I also threw in my two pennies, and Marcos Ceres asked for use-cases.
@annevk @Paul_Kinlan @DasSurma @owencm I'd still be interested in a good list of fun things that people want to build but can't.
— Marcos Caceres (@marcosc) August 12, 2016
So here is a list of Apps that people have told me they want to build to host inside a browser. It includes client apps but also Services and Servers.
Outgoing connections
The TL;DR is anything normally has to proxy and convert web requests via a web server to another host.
- E-mail client connecting directly to IMAP server, POP3, SMTP without a HTTP/WebSocket bridge
- SSH client - to connect to a server without relay
- RDP client
- IRC client - again to connect directly
- FTP client (and other file transfer clients)
- Video Streaming client - connect directly to RTMP server.
- BitTorrent client (needs incoming data too)
- XMPP Client
- Connect to Bitcoin/Blockchain server
- Multicast client (and server) to stream video to everyone on the Network
- MDNS Discovery service to discover local devices
- Connect to discovered device (such as wifi speakers) and configure (via @annevk)
- Connect to a time server
- Direct connect to MQTT server.
- ADB over Wifi - Someone wanted to use Cyanogen’s way of debugging their Android device and connecting to it
- Connect to DNS service and query it, was to be used for verifying that a record had been set to prove ownership
- Many games that have multiplayer.
Incoming connections
Mostly the TL;DR here is, a server for everything in the above list.
- IRC server
- BitTorrent client
- HTTP Server for simple local testing.
- HTTP Server to host electron style apps (where the server and client are distinct)
- SMTP service (yes - people have asked me that they want to host this in the browser)
If you have any other examples let me know and I can include them here.




