« Disrupting the Venture Capital Industry | Main | Internal Protectionism »

January 30, 2006

How MAPI Beat VIM (an historical footnote)

In a post on ZDNet today, David Berlind points out that Microsoft’s grip on the desktop market is due not only to the Office Suite but also to MAPI.  MAPI? You ask if you’re not a messaging nerd.  Yup, MAPI – Messaging Application Program Interface. David is kind enough to ask “Tom Evslin where are you?” when he first mentions MAPI (and then even kind enough to point to this blog in answer to his question).

So I thought I’d also answer another question for history buffs: how Microsoft fought back a coalition of Lotus, Apple, Borland, IBM, MCI, Novell, Oracle and WordPerfect who were pushing VIM (Vendor Independent Messaging), won the messaging API war, and, partly because of this victory, overtook Lotus, which offered Notes at the high end and cc:Mail at the low end, to become the world leader in messaging.

I was running the Microsoft Mail group when we developed MAPI and defeated VIM. So you can blame me (partly) if you hate your Exchange Server or your Outlook client.

Just as a refresher, APIs are the interfaces by which one program tells another one what to do.  A good set of APIs turn a product into a PLATFORM.  Other developers write and MARKET their own products which use the platform.  Platforms (like Microsoft Exchange Server or Windows itself) can achieve long-lasting dominant market positions. I wrote more on APIs here. 

David says that MAPI was better than its competitors because  it combined mail and calendaring instead of just addressing strictly messaging issues.  He’s right but that isn’t why MAPI won.  MAPI also was more complete than VIM.  It not only allowed other clients to access the server functions of Microsoft messaging, calendaring, and directory products; it also allowed other server products to be accessed by Microsoft clients (technically, it included SPIs or Service Provider Interfaces). But SPIs, which VIM didn’t support, weren’t why MAPI won, either.

As a matter of fact, we almost lost.  Our PR position was terrible.  All the other important vendors had agreed on a common “Vendor Independent” API.  We were stubbornly holding out for our own proprietary API. Our power customers – MIS managers from big corporate clients – were beating us up for being the holdout and denying the user community the indubitable benefit of a single API supported by all vendors and proprietary to none. Somehow, even though there were only about 10,000 people at Microsoft then, we were perceived as the bully even against giant IBM and the rest of the industry.

I was booed when I tried to explain the technical virtues of MAPI to a subcommittee of the EMA (Electronic Messaging Association – used to be the Electronic Mail Association but that was judged too sexist).  And I had been popular there before I joined Microsoft.  My fellow members– many of whom were customers – demanded that we give in. Yikes!

The next meeting of the EMA was coming up – in Houston, I think, although I could be wrong. It looked like we would really get a lot of heat. Giving in wasn’t really an option.  APIs are important!  MAPI was part of the foundation of Microsoft Mail and the upcoming Exchange product. Of course, it was also better than VIM and VIM really hadn’t been implemented anywhere but in cc:Mail. But, in the days when Notes was the 800 pound gorilla, we were losing the perception war and in real danger of a user revolt. Did I mention that giving in wasn’t an option?

Without authorization from Redmond – better to beg forgiveness than waste time asking permission, I used my keynote to make an offer. We would submit MAPI to XAPIA, a committee chaired by Lotus employee Ed Owens, as a candidate for the next generation messaging API. We committed ourselves to implementing whatever XAPIA decided (although we didn’t say that we would stop implementing MAPI. After all, we had to support the developers who were already using it.) We invited the VIM consortium to do the same with their standard.

VIM refused to take the pledge!  We were the good guys, again (for a little while). Eventually VIM was submitted begrudgingly but the war was over. XAPIA later published a subset interface called CMP (Common Mail Protocol) based mainly on MAPI. But, by then, the developer community had invested in MAPI and further battles didn’t matter.

There were two key pieces of information we had when we made that proposal to EMA:

  • Ed Owens is a very fair minded guy who, if anything, would have to lean over backwards not to support his employer’s API; and
  • the VIM Consortium (whose members didn’t trust each other much more than they trusted us) had to be unanimous in order to take action.

Our gamble was that VIM wouldn’t be able to respond to our offer because that many bureaucracies wouldn’t be able to coordinate at the executive level during the remaining day of the meeting.  They weren’t; so they attacked the idea of submitting to an unimpeachable standards body and pissed off the customers.

I’ll let Dave Berlind finish the story: “Today, Microsoft's Exchange email and calendaring server remains one of the important reasons that organizations remain committed to other Microsoft technologies such as its operating systems (Exchange Server only runs on Windows) and Active Directory.” APIs do matter.

But, if you read his whole post, you’ll find that the real point is that there are challenges abrewing.

| Comments (View)

Recent Posts

An AI Debate

I’m Gonna Be MAGA-Canceled

English is Now the Most Powerful Programming Language

A Cease Fire in Gaza Will Not Make Hamas Go Away

How Not to Control Disease


TrackBack URL for this entry:

Listed below are links to weblogs that reference How MAPI Beat VIM (an historical footnote):


blog comments powered by Disqus
Blog powered by TypePad
Member since 01/2005