the ability to tell the operating system to open a file stored with FileSystemAPI using the default registered native application (it must be possible to get notifications when this file changes, for syncing to the server).
This is a seriously scary concept. It has all the same dangers as the automatic-file-opening did in Outlook.
It can probably be done securely, but wow, that's not an easy problem.
Re:What feature would improve the web?
by jorangreef on Friday October 21, 2011 @01:29PM
(#3140782)
For sure, it's difficult. As you say, it probably can be done securely. It certainly needs to be done to provide users with a bridge for moving data from file systems into web apps and back and manipulating data from both sides of the bridge. It may require a special privilege, and in that case, for example for a trusted web app, it need be no more scary than a browser prompt: "allow this web application to open 'mydata.xls' in Excel?" with a "remember my choice for all files of this type from now on".
Re:What feature would improve the web?
by franksalim on Friday October 21, 2011 @10:18AM
(#3139826)
What use cases for TCP do you envision where WebSocket won't be sufficient? It is quite possible to speak standard protocols over WebSocket that are typically spoken over TCP.
Re:What feature would improve the web?
by jorangreef on Friday October 21, 2011 @01:26PM
(#3140772)
TCP does not need the upgrade event, handshake etc. TCP is not limited by the WebSocket spec. TCP requires no additional server-side infrastructure.
Re:What feature would improve the web?
by franksalim on Friday October 21, 2011 @06:10PM
(#3141937)
Last thing first: TCP requires a listening server. WebSocket requires a listening server. There is not inherently more infrastructure required.
The handshake and HTTP upgrade are there for a reason. Connecting out from web applications with straight TCP breaks the web security model. After the handshake, you can treat WebSocket binary frames as if they were a TCP byte stream. Speak any protocol you want to.
Anything you can do with TCP you can do with WebSocket. The only exception is that you cannot connect to a listening server that does not expect the WebSocket handshake. That is intentional! In fact, that is the reason for the WebSocket handshake.
Add a Javascript API to enable a web app to open a TCP socket (as opposed to WebSocket) with the origin server.