The most annoying thing about articles involving Exchange is that most people don't understand what it is

Exchange, a product primarily for the enterprise, has been in consumer tech news a lot lately. And on each article, the amount of ignorance on what Exchange and its features does is staggering. But I expect this. Not everyone here is an IT administrator who works with Exchange. At most, they merely know it as that-email-thing-I-connect-to-at-work.

Let's take yesterday's article of the Exchange calendar bug with iOS 6.1. Microsoft's support article is intended for an IT audience, but of course, that doesn't stop normal folk from reading it wrong.

What is a transaction log?

The first thing I've noticed are some people are misinterpreting what a transaction log is. A transaction log is not a log in the traditional sense of an app writing commands and errors to file to be read by someone at a later time if needed. An Exchange transaction log is the server's lifeblood. It holds the commands to commit the changes to the database later, at a safer time. It's what allows versioning of items happen (think Apple's local Time Machine or Microsoft's Volume Shadow Copy on a much grander scale). If the server crashes, transaction logs are crucial to the server's recovery since there's a copy of the data that can be used to restore the database to a known good state.

What iOS 6.1 is doing is getting stuck in a loop that keeps creating versions of the same calendar item. This causes excessive transaction logs. To protect itself, if an Exchange server is close to running out of disk space, it will unmount its database, halting itself before you're really screwed. Transaction logs have to be committed to the database and the database manually remounted to get things going again.

Microsoft sux! Something's wrong with the server!

So the next thing people are saying is "lol Micro$oft's terrible coding shouldn't be allowing a client to run rampant". First, you're an idiot for using the dollar sign. Second, Exchange can already prevent a client from going crazy.

See, a major selling point of Microsoft's products, especially among the enterprise, is how much control the administrators have over how the system works. In Exchange's case, you can set policies to control how Exchange reacts to certain events. If people actually got further into the aforementioned support article, you would notice in the workaround section, the first suggestion is to throttle iOS clients, meaning making Exchange cut off the client's connection if something runs rampant! I'm willing to bet most on-premise Exchange installations never had a throttling policy set because excessive transaction logs were not an issue. At least, not until a very popular client with a big flaw came along.

But this is typical throughout Microsoft's history: Third-party app/component breaks due to not following guidelines or genuine missed bugs. Solution: Blame Microsoft.

What is Exchange ActiveSync?

Now let's go back to late last year when Google said it was dropping support for Exchange ActiveSync (referred to as EAS from here on in). Once again, comment sections were filled with people who have probably never heard of EAS, but it had Microsoft's name on it, Google said they were dropping it, therefore let's hate Microsoft.

Exchange ActiveSync is a protocol for exchanging (hmm, product name tie-in much?) data between a server and a client. What Microsoft does is make the protocol specifications, then licenses the technology and patents to its licensees.

Unlike at least one person I saw in the comments thread about this, EAS is not something hosted by Microsoft that all your email is filtered through. Google licensed EAS from Microsoft, implemented it on their own servers, then let their customers access Google mail/contacts/calendars using this protocol to communicate with the server.

Some of the benefits of EAS over CalDAV/CardDAV/IMAP are:

  • Push sync for all contents of the account. The *DAVs sync at least every 15 minutes. IMAP has IMAP_IDLE for push email, but it's not widely used. I hear it's also really bad, but again, no one really uses it to say for sure.
  • Security policies that can be set by admins. The *DAVs and IMAP have nothing on this.
  • Remote wipe. This is not an issue for iOS, Windows Phone or BlackBerry 10 as they all have Find My Phone tools built-into the OS, but Google has done nothing for Android in this regard. While possible, it's a bit more complex to set up for Android since it involves third-party apps and services.

Sure, not everyone needs their contacts and calendars changes immediately, or the security policies, but there's a reason why Google merely put it behind a paywall (so its business customers still had it) instead of getting rid of it altogether.

The other argument against EAS was that it's not an open source protocol and therefore it's bad. Spoiler alert: Most of the world runs on paid software in some form of another. There is no rule that says all software must be free, as in money or as in beer. Exchange is a popular mail server. People want to connect to their work mail server. Exchange uses EAS. Therefore, EAS gets popularity. If Google wants to drop EAS, that's fine. If their customers don't like it, they'll go elsewhere. If they don't care, they'll stay. If Microsoft lets the protocol stagnate, it'll lose customers. That's just the way the world works. There's nothing wrong with closed or open-source software. It's different mentalities and ways of business, each with their pros and cons.

We're lucky enough to live in a time with enough choice about what we want to use. But to insult a product with no understanding of it or based on who made it makes you an idiot. It makes you a fanboy. And your opinion is not worth hearing.