No Sockets for Windows Phone 7

Update: Socket support was added in Windows Phone 7.5

So this weekend I was looking into some Windows Phone 7 development, with the intention of getting started on a WP7 port of Pocket IRC.  It was all progressing along handily until, much to my dismay, I discovered that the initial release of WP7 will not provide application level support for sockets.  I’ve seen other more authoritative links on the subject, but can’t find them at the moment.

The only networking capability provided is via the Windows Communication Foundation, a high level interface, which will provide only single request/response access to HTTP.

So that means no IRC, or any other protocol which doesn’t operate over HTTP.  I’m not sure how email will be implemented, but I imagine over HTTP gateways or simply through APIs not exposed to 3rd party applications.

WP7 also doesn’t have multitasking support, repeating the historical choice of the earlier iPhones.  This is also a bit of a shot to connection oriented protocols like IRC, where disconnecting and reconnecting has a noticeably detrimental impact on the user experience.

From the sound of various MS posts and comments, they do intend to add socket support eventually, but not in the first release.  For the sake of the platform I hope limitations like this will not kill it before MS  gets a chance to release all the features they want.

At this point it looks like my choices are, simply wait for a future revision of the Windows Phone platform, or waste time and effort implementing some hack temporary solution like an IRC client that operates over an HTTP gateway, which has it’s own problems, namely having to run an HTTP gateway.

Windows Phone 7 looks like it has potential, but I’m a bit worried about its chances against iPhone and Android if it’s coming out of the gate with such glaring limitations.