This seems to have been a generally useful and successful release.  (Let me know if you feel otherwise ;-))  However I did get some interesting feedback which made me rethink some features in the Widcomm support.  Firstly I’ll include a quick overview of the features which were supported on Widcomm, then I’ll briefly discuss the feedback and on each I’ll write a new post.  For full info in what was supported in the release see the “32feet and Widcomm-Broadcom.doc” document in the release.

On the client-side support is good, client connections should work well, the only caveat with data transfer being that Widcomm discards any data received just before the sender closes the connection.  Device discovery works well and checking whether a device is remembered/paired/RSSI also.  Getting a device’s SDP record is also supported but we don’t attempt to read all the attributes in the record (the Widcomm API doesn’t supply the whole raw record for parsing, but we could read simple attributes if required).

Server-side support is less mature, only a little time having been spent on creating BluetoothListener for Widcomm.  In particular, as discussed in the forums just before the release, a connection is only accepted if the consumer application has called Accept/BeginAccept before the connection is received.  I’ve code ready for testing for listener which provides full support and thus fixes this bug.  I’ll post on that soon.

The first piece of feedback, though only from one correspondent, was regarding connecting to multiple devices at the same time, and to devices that might not be in range. The Widcomm API does not make this easy as certain operations can only be called one at a time but we hopefully can improve things a little there.  I’ll also post on that soon.

Secondly was help with Widcomm set-up on desktop Windows.  In the pre-release phase most users were on Windows Mobile so I didn’t spend much time making diagnostics available to help troubleshoot set-up on desktop Windows.  Various dependencies are required there (a Widcomm DLL, and VC++ runtime DLLs).  I’ve done some work on improving that, more information to follow. 

Finally a correspondent noted a bug in OBEX which would occur when connecting to the OBEX Folder-Browsing service (“OBEX FTP” in Bluetooth terms).  I’ve generally left OBEX issues to other’s, but I’ll take more interest now.  Four issues were fixed — though of them two would occur for FTP connections only, its likely that only OBEX Inbox/Push connections worked previously, and the other two would only rarely occur.