Couldn't they serve [js-ipfs](https://github.com/ipfs/js-ipfs)?
AFAIK that would make every user of the web app run an IPFS node.
> Note: As js-ipfs@0.29.0 currently doesn't support DHT peer discovery, the peer from which you are fetching data should be within the reach (local or in public IP) of the browser node.
The PR to implement DHT has been languishing since May 2017: https://github.com/ipfs/js-ipfs/pull/856/files
But it just received an update 4 days ago! :)
> Note: As js-ipfs@0.29.0 currently doesn't support DHT peer discovery, the peer from which you are fetching data should be within the reach (local or in public IP) of the browser node.
The PR to implement DHT has been languishing since May 2017: https://github.com/ipfs/js-ipfs/pull/856/files