The Exchange Web Services OSX Widget is a widget that uses Exchange Web Services (EWS) to interact with a user's Inbox, Calendar, and Tasks.
The widget was written in JavsScript using DashCode on OSX, it uses SOAP to make calls to EWS to retrieve the users's messages, calendar items, and tasks.
The widget allows you to enter your Exchange server information manually, or to use AutoDiscover to automatically determine it.
Clicking on a message, calendar item, or task launches a small flyout.
Opportunities for Contribution
If you're interesting in contributing to this project, we need help in the following areas:
Use of cURL
We're currently using http://curl.haxx.se/
to make HTTP requests to EWS because the XmlHTTPRequest implementation in Safari doesn't support NTLM authentication. One option that needs exploring is using a widget plugin to execute the requests; the plugin would be written in objective-C and have access to Apple's full library - which contains an implementation of NTLM.
We're currently implementing the flyouts by dynamically displaying a <div> and using window.resizeBy to resize the widget. I'd like to explore how the Weather widget currently does this, e.g. smoothly resizing itself to show details.