Heads Up - Breaking Changes Ahead

We're on track for an end-of-month release of the next iteration of the Windows Live Contacts control.  The September rev will include quite a bit of UI polish and bug fixing, as well as a significant internal reorg to put the code base on a smooth path for long-term versioning and maintainability.  Essentially, we're evolving the contacts control out of proof-of-concept chaos into modular, maintainable, versionable code for long-term production.

The bad news is that the September release will break existing apps that use the contacts control - the data connection that delivers the contacts data to the control UI will no longer function.  That's because the data connection isn't versionable, and to make it versionable will break the old code.

The good news is that after the September release, we should be able to update any piece of the control's subsystems without breaking apps that are wired to earlier revisions.  Side-by-side versioning, squared. 

The best news is that it will take all of 5 minutes to make the URL changes to your web app to use the new version of the contacts control.

We're also working with the legal folks to figure out how to structure Service Level Agreements (SLA's) for the contacts control and other Windows Live services - How long beta and production versions of an API will be supported (weeks or months for betas, years for production), how to define minimum service levels (response times, etc), how a third party vendor submits and escalates critical issues found in a production system and how we handle them, and a host of other details. 

As part of the code reorg and refactoring, we're separating some of the internal bits out into their own modules with the intent to develop them into independent API's usable across many apps and gadgets.  Cross-domain data channels are an obvious choice for reuse, as well as less obvious code chunks like login management or source file management.

After the September rev rollout, it's on to the October "sprint" to add localization support to the contacts control, several UI improvements and new features (some from beta feedback), and a few other things to broaden the contacts control's developer and consumer audiences.