WebSockets, should we invest?

Topics: WebSockets
Coordinator
Oct 30, 2010 at 8:51 PM
Edited Oct 30, 2010 at 10:48 PM

Since PDC we've received quite a bit of inquiry around WebSockets. At this point, we are tracking WebSockets to see how it evolves. We'd like to understand better you scenarios and if it is something you think we should indeed invest in.

Thanks

Glenn

Oct 31, 2010 at 3:59 PM
Edited Oct 31, 2010 at 4:18 PM

Hi Glenn,

Web sockets is absolutely necessary. There are the following reasons

1) From HTML5 standpoint, irrespective of the fact whether IE9 plans to support websockets are not, there are going to be browsers out there that are going to support websockets. So to provide a server side platform that will cater to those browser WCF needs to support it.

2) The above point may be of negligible interest for Microsoft, but here comes the second reason for doing it. Today we do not have a true duplex communication channel. Most of the push from server happens through periodic polling. This increases the unwanted traffic. With implementation of web sockets WCF environment would become an omnipresent server side platform that acter to any kind of client. Infact it would be the only eneterprise server platfrom that would offer this support. Today we have Websockets server in python and other language that does not offer many capabilities that WCF offeres. Today WCF does not offer only this capability. So why not strengthen WCF market share with this ?

3) Silverlight will also benefit from the true push capability and reduction in packet size for the server.

So not only WCF is going to benefit but also Silverlight is going to benefit. Withoout Web sockets I fear that like IE handing over a portion of market share from almost 100% to other browsers, WCF may also have the same issue. Since WCF's prefered hosting platform is IIS and since IIS is coupled with windows OS, the whole OS sales see a down turn. So please please please invest what ever it takes to get web sockets working WITHOUT ANY GLITCH in WCF.

Oct 31, 2010 at 4:49 PM

I agree. A cleaner HTTP and Json stack could be future proofed with Web Sockets and a real time focus. And being able to deploy such an app to Windows Azure - for real time collaboration or short messaging - would be a great. I've recently looked at Node.js simply because of it promising these types of lightweight real time features. Available in the Windows stack would be superb - be it officially supported or initially as some other form of Open Source project. 

Nov 1, 2010 at 4:12 PM

I'd love to see a duplex Wcf channel that is available to Javascript via Web Sockets!

Nov 1, 2010 at 10:26 PM

Even if IE9 does not support it, there are some solutions to use Web Sockets in the client even if the browser doesn't support it (i.e.: Kaazing)

Nov 3, 2010 at 3:41 AM

I agree unequivocally that IE9 needs to support Web Socket, as does Silverlight, as does WCF, as does IIS! I would also suggest that support should be added to Windows Phone 7.

This technology is starting to be deployed in the banking sector for 'Single Dealer Portals', the websites that major investment banks use to let their clients trade in real-time with them. Alot of optimisation has been done by existing vendors (Caplin, Lightstreamer, Frozen Mountain, Webtide, Kaazing) to get asynchronous duplex comm to work over plain HTTP... support for Web Socket will hopefully simplify this.

Nov 7, 2010 at 12:22 PM

I think supporting WebSockets is essential. I know about Tomek's iniative around a prototypical WebSockets implementation based on WCF that also support SL:
http://tomasz.janczuk.org/2010/07/silverlight-html5-websocket-client-with.html

For me, being able to build or enhance my WCF services to have WebSockets-based push functionality is important, especially in the area of mobile apps. Browsers on iOS and Android will support WebSockets (cross fingers) and I surely hope that MS will implement it for WP7 as well.

When talking about large scale notifications via WebSockets; there are cloud services like Pusher: http://pusherapp.com/ - with WCF supporting WebSockets I could easily add such functionality to my - let's say - Windows Azure-hosted apps.

FYI: Kaazing supports .NET clients for WebSockets:
http://tech.kaazing.com/documentation/howto-silverlight.html

BTW: I am not sure that IIS should support WebSockets, as it is more a 'traditional' web server that was not made to support holding long on network resources in the first place.

Cheers.

Nov 8, 2010 at 10:18 PM

Performance should always be an important matter.
So many things look nice but if you really use them, the performance is not that shiny.

Supporting WebSockets will open the door to have real business applications running on Silverlight.

At the moment we have an application with WPF/WCF/WIF that heavily relies on push (P/S)
data to the clients (to ensure data that is absolutely 'live' everywhere).
At the moment this does not scale to Silverlight, with WebSockets it would scale easily it seems.

Cheers.

Nov 9, 2010 at 3:33 AM

I'm all in for all the reasons above, but especially for Silverlight.  Increasing the speed and connectivity between client and host, and making it duplex, is going to be necessary as we all drive towards real time interaction (four square, facebook deals, etc.). 

Just my two cents.

R

Nov 9, 2010 at 11:55 PM

Hi Glenn,

With so many people asking for the feature, what is the gameplan on WCF support for Web sockets? By what time line can we expec the availability of the same.

Regards

Venkatesh. S

Nov 11, 2010 at 3:50 PM

I spent the last year developing a Silverlight 4 system wide server maintenance/monitoring application for a major bank.  Want to know what killed it in the end? Performance-

This is a real example of need.

Danny

Dec 15, 2010 at 4:08 PM

I love the idea, but after reading this CNET article recently, I'm not sure they are 1) ready for prime time and 2) will even be a going concern until much later.

Sep 28, 2011 at 1:04 PM

It always helps.

Sep 29, 2011 at 9:22 PM

We recently announced support for WebSockets in WCF at the BUILD conference. My talk has more details, you can watch it here:

http://channel9.msdn.com/Events/BUILD/BUILD2011/SAC-807T

Also if you'd like information on how to access the sample code that we used in the talk and try it out yourself using the Windows 8 developer preview, my blog post covers this:

http://www.paulbatum.com/2011/09/getting-started-with-websockets-in.html

Oct 5, 2011 at 2:22 PM

Everything about WinRT and Websockets I saw at build heads in the right direction.

Special thanks to Paul and Stefan, that was the most interesting Websockets stuff I have seen
from Microsoft ever, and it really is fantastic to see it is coming to this cinema :)

But since Websockets are in .Net 4.5, I really hope it will be available in the current enviroments
as well, at least Self-hosted and for Win 7 clients as well as for Silverlight

Silverlight clients with Websocket duplex connections (in code, no java bridge), this would help
now, in future of course those will be available as WinRT apps in 2 seconds. I can't wait for

Christoph

Oct 6, 2011 at 5:28 PM

Hi Christoph,

I'm glad you liked our talk. Unfortunately self-hosted WebSockets in WCF won't work on Windows 7 because there are necessary changes made in http.sys to enable WebSockets and these changes are only available in Windows 8.

Thanks for your feedback!

Oct 17, 2011 at 9:49 AM

Hello Paul

Thanks for the explanation. Makes sense, though does not make it easier to jump in WebSockets with WCF.
Hopefully there soon will be samples with Windows 8 apps as WebSocket Clients using the WinRT MessageWebsocketClass.

Oct 17, 2011 at 8:26 PM

Hi Christoph,

There is one sample here.

Paul

Oct 20, 2011 at 12:24 PM

Hello Paul

Thanks for the hint on the sample, looks very much Javascript client to me.

Actually I did quite correctly describe the matter, i hope to find samples
on Windows 8 with WebSockets Clients in C#.

Christoph