Even with Apple’s best attempts to fix its malfunctioning email client in iOS 6.0.1 so that meetings scheduled in Exchange calendars aren’t “hijacked” and cancelled, the word I hear coming out of Redmond is that the folks in Cupertino still can’t quite understand that ActiveSync clients should not update the organizer field for a meeting.
Evidence of strong feelings from Microsoft employees who have been affected by the bug come from a number of meetings involving literally hundreds of people that have been cancelled, simply because one of the potential attendees received a meeting request and then decided not to go, not realizing that iOS6 would go ahead and cancel the entire event. This resulted in everyone on a very large attendance list being spammed with a cancellation notice, which then led to the meeting being removed from their devices, in turn generating a further flood of cancellation notices. Clearly this kind of behaviour does not create a good user experience.
Of course, you might wonder why quite so many Microsoft employees roam the Redmond campus equipped with Apple devices rather than showing allegiance to the wonders of Windows Phone, but let’s say that they’re doing in-depth hands-on competitive analysis for now. What’s clear though is that the problems created by the iOS bugs have affected Microsoft and that this has now gotten the attention of some relatively senior individuals, who have made their feelings clear to the Exchange development group that enough is enough and that steps should be put in place to stop badly-written ActiveSync clients screwing up user calendars, which is essentially what iOS is doing.
I’ve been looking for Microsoft to take a more assertive role in dealing with ActiveSync licensees for a while now, so I’m happy that “something will be done” to stop clients messing with data when they should not. The problem Microsoft faces is that the profusion of ActiveSync clients means that cannot realistically ask ActiveSync licensees to eradicate bugs and produce better code in the future (well, they could, but you would imagine that the conversation would terminate pretty abruptly). The right way to fix the problem is to update Exchange so that the server enforces suitable checks and prevents clients wreaking havoc.
Updating Exchange seems pretty simple, but when you think about the problem in a practical sense, making such a fix effective will take a lot of work. First, it would not be good enough for Microsoft to simply update Exchange 2013 and declare success. Few if any deployments of exist in the real world to date, so the fix wouldn’t do much to help users. Microsoft has to fix the problem in Exchange 2010 and Exchange 2007 as well, not to mention the small matter of Exchange Online ( ).
Next, a decision has to be made as to what version of these products should Microsoft fix. The obvious answer is to incorporate the fix in the next roll-up update for Exchange 2010 and Exchange 2007, so that would be Exchange 2010 SP2 RU6 and Exchange 2007 SP3 RU9, but then you’d also need to think about the soon-to-be-released Exchange 2010 SP3 and perhaps even consider whether it’s a good idea to release a standalone fix for more elderly versions of Exchange that still run in customer deployments.
And once the software engineering is done, the testing begins. Making a change to stop a particular behaviour exhibited by one high-profile ActiveSync client brings risks of its own. What happens if the change adversely affects other ActiveSync clients? You might anticipate that this is unlikely to happen but you cannot be sure until testing is performed and results are analyzed. This work is complex and takes time.
An obvious course of action is therefore not quite as simple as first anticipated. The problem from Microsoft is that they have to undertake all the engineering effort and incur all the cost to make the fix. But if they don’t, the possibility always exists that some other ActiveSync client will come along and mess with calendars in the future. Maybe that client won’t be quite as high profile as iOS 6, but that’s no reason not to make the fix. I hope Microsoft just does it.
Follow Tony @12Knocksinna