Udostępnij za pośrednictwem


Why doesn't Microsoft Entourage use the Apple Address Book?

A fairly common question that comes up in mailing lists and other forums is “Why doesn’t Entourage use the Apple address book?” I’ll give you my take on that here. As a disclaimer, I want to make sure it’s clear that this is my personal opinion, and doesn’t necessarily reflect the opinion of the MacBU, where I used to work. For background on the Address Book APIs, see Apple’s developer documentation here.

I’ll break down the problem into 3 levels of integration that could take place. First, I want to talk about the benefits of integration – they are significant. Having a universal address book means that you only have to manage a single contact list – you don’t have to keep multiple contact lists in sync and up to date. It also means you plug into iSync and can sync your contacts to any devices/services that iSync supports. You also get integration with other applications that build on the Address Book, like iChat. If you were writing a new application, you’d also get the additional benefits of not having to write a bunch of Address Book related code. However, in the Entourage case, we already have a rich contact experience backed by a powerful database.

The 3 levels of integration are:

1. Remove all contact related UI from Entourage and use the Address Book completely

This would mean we remove the address book tab from Entourage, and all of our contact related UI. When a user wanted to manage contacts, we’d have some entry point into Apple’s Address Book. On Panther, when choosing contacts, we could use the new People Picker dialog (confusingly, only mentioned in the reference section of Apple’s documentation). The advantage to this approach is that it gives the most UI consistency. We would use Apple’s Address Book APIs to do things like autofill when addressing messages. However, the Address Book application itself is not very extensible, so we’d have to loose a bunch of features including:

  • Project Management (a huge new feature in Office 11)

  • The ability to categorize contacts

  • The address book fields we support but Apple doesn’t (there are a bunch)

  • The ability to link to contacts to other items

  • Custom views that include contacts

  • Messenger integration

I could go on, but there are several show stoppers there already. I also believe that there is a lot of value to having everything in one app with a consistent UI.

2. Keep the Entourage UI, but talk to Apple’s Address Book database instead of the Entourage database

This one seems straightforward at first. The APIs support some simple database like functionality like searching (but not sorting?). It also allows you to put arbitrary properties on contacts. In many ways, this would be ideal because we could keep the Entourage UI with all of the fields we support, but still have that same data available in Apple’s Address Book application and to all other applications built on it.

However, there are lots of complications. For example, Entourage supports multiple “Identities”, where each identity has its own database and its own set of contacts. How would this work in this scenario? You’d switch identities, but have the same set of contacts available with identity? That would be really confusing.

And how would links of various sorts (including categorization and projects) work? Things could get easily out of sync because the user can independently swap the two database files. This will easily lead to inconsistency.

Also, Apple’s Address Book database is missing many features that would allow us to have the scalability, reliability and performance required. For example, in Entourage, when you look at the contact list, we only have the contact in data in memory for the contacts being displayed. This means that when you have 10,000 contacts, we only have to load in the 20 or so that would need to be displayed. With Apple’s APIs, I see no way to do this. We’d have to load all 10,000 contacts in memory. There are also no APIs to do optimized sorts. With Entourage’s database, we can very quickly sort the contact list on fields we choose to index (and others are slower). We can also do highly customized searches which are used for things like our address autofill and custom views. And, Apple’s Address Book does not support locking of records while making changes or atomic commits.

It would also be a lot of work to pull this off. Entourage’s code is built around the Entourage database model. Plugging in a different database, especially one so different would be a huge undertaking. We’d have to make major changes to the table code, the contact edit dialog, the AppleScript support, custom view code, and everything else that touches contacts. The opportunity cost would be huge.

3. Sync the Entourage and Apple Address Books

This is actually the solution I think makes the most sense. The basic idea is that Entourage continues to use its own store, but the contacts are kept in sync. This has all of the advantages of #2, except that there is some window when the stores may be out of sync. It’s orders of magnitude less work than #2, and you don’t have the disadvantages mentioned above. I’ll break this down into 3 options:

  1. Use iSync: One great advantage to this would be that we could apply the same work to sync tasks and calendars so you’d gain all of the benefits for those object types as well. The drawback is that the iSync APIs are closed L I think this would be the ideal way to go if it were a possibility.

  2. Write code in Entourage that syncs using the Address Book APIs: This is a reasonable alternative. We could be smart enough to know when things change in Entourage or the Apple Address Book to sync as needed, and only what’s needed.

  3. Wait for a third party to write one: This already exists! Paul Berkowitz has written an AppleScript solution available here. So, if you can download this today and the Apple Address Book and Entourage in sync for only $15!

I hope this clarifies the question for everyone. As I am now working on the people and groups platform in Longhorn, the tables have been turned on me. Now, I’m left wondering how 3rd parties will build on top of the solution we will be offering on Longhorn. This entry has already gone on far too long, so I won’t ponder that now.

 

[Update: Fixed link to Paul's script. Thanks Dave!]

Comments

  • Anonymous
    April 07, 2004
    Disclaimer: I don't use Entourage (I can't afford it).

    Surely one question has got to be, do Mac users WANT all of the extra functionality that Entourage offers over AAB. On the whole I believe we're much simpler people - if harder to satisfy ... is there really a need for anything more than AAB?

    Also I wonder do you have any sort of data to quantify how Identities are used (if at all)?

  • Anonymous
    April 08, 2004
    I can't share any data, but we do extensive customer research. I don't buy your comment that Mac users are simpler people. Mac users demand simple, well thought out user interfaces, but they want the power underneath.

  • Anonymous
    April 08, 2004
    You left out another major option! Support the major contact export format types (FOAF and vCard). It has the obvious benefit of not forcing every app-to-app integration to go through the Address Book and doesn't preclude apps (including web apps) that use FOAF exclusively.

    Apple would have seen much greater adoption of the Address Book API if they were to have done any of the following: a) open-sourced the code, b) allowed share governance of the API with interested parties, c) not tied a full-featured Address Book app to the OS.

    Instead of building trust with developers who had cultivated or were innovating in the people-centric app space, they chose a path that destroyed trust!

  • Anonymous
    April 08, 2004
    Entourage does support vCard, but I'm not sure how this is relevant. You can easily import/export between Apple's Address Book and Entourage, but that doesn't help the universal address book problem. You still have to manage your contacts in multiple places. Also, both Entoruage and Apple's Address Book have rich APIs for getting the data out.

    I don't see how any of the things you suggest Apple have done to improve adoption would have helped. In fact, I think not providing a full-featured Address Book app would have made the platform useless.

  • Anonymous
    April 08, 2004
    Dan, I don't believe the benefits of centralization outweighs its costs (e.g., security and privacy). It's an all or nothing proposition. Either every app that deals with people adopts the API or there's no guarantee of radically simple (e.g., direct manipulation) interoperability between two apps (without involving a bridge app like AddressBook.app).

    Also, centralization tends to be a large drag on innovation and social software is currently a hyper-innovative market. Developers (and thus users) wait around breathlessly for the platform vendors for new functionality and use it as an excuse for not working together. Any of those developers (and their investors) willing to take the risk of innovating are often rewarded with the platform vendor incorporating the innovation and tying it to the OS (ie, not making the functionality available separately for a price), thus dramatically devaluing the innovation.

    Now is the need for shared governance of this API clear?

  • Anonymous
    April 08, 2004
    So, it sounds like you think in the ideal world everyone should have their own contact store, their own feature sets, and their own UI. I disagree, but I'll take that as your opinion. Given that, I see no need for any APIs or shared governance. Just let everyone do their own thing and you should be happy.

  • Anonymous
    April 08, 2004
    The comment has been removed

  • Anonymous
    April 08, 2004
    No, I'd like to see everyone work together more like peers. As I said in your initial post about the analogous Microsoft API, shared governance would likely be an acceptable compromise for me as a MS developer.

    Imagining myself as a decision-maker at a platform vendor operating in today's context, it's difficult to imagine not recommending shared governance as a compromise for this particular API, given its significance.

  • Anonymous
    April 08, 2004
    I understand the development and cost concerns, but frankly, this discussion is a prime example of simplifying things for the developer at the cost of simplicity for the customer. The poles are reversed, here.

    There are a variety of shareware and freeware products such as label-makers, mass mailers, and others that make use of the Apple Address Book (and databases such as Now Contact). If I'm not using Entourage at all, the other Office products must provide access to the Apple Address Book for Data Merge and other uses.

    Syncing is an interesting idea, but only if I use Entourage. I stopped using Entourage because a) searching for information in emails was so annoying, an b) because it does not use Apple's Address Book.

  • Anonymous
    April 08, 2004
    The sync would not be manual. It would be automatic. Basically, Entourage would detect a change on either side and kick off a sync. The time where the address books are out of sync could be a mater of seconds.

    There are users with 10k contacts in Entourage. They would not be happy if it suddenly became much less usable.

    It is not actually a single user system. Multiple applications can be accessing the database at once. For example, iSync may be syncing contacts with .mac while you are editing it in Entourage.

    In response to Jim, the sync could actually happen without Entourage running or without the user being an Entourage user if it was so designed.

  • Anonymous
    April 08, 2004
    I really cannot see any "show stopper" in the list of things mentioned as a reason not to use AddressBook exclusively, if one desires.

    One more reason not to use Entourage.

  • Anonymous
    April 08, 2004
    Huh?

  • Anonymous
    April 09, 2004
    The comment has been removed

  • Anonymous
    April 09, 2004
    Dan:

    You mentioned Project Management as a feature in Office 11. Could you please elaborate? Is there going to be interoperablity between MS Project and Office 11?

    Also, one of the features that hasn't been mentioned on the AB / OS side of things is AB's leveraging Services. Is Entourage taking advantage of this functionality available in the OS?

    Thanks

  • Anonymous
    April 09, 2004
    The comment has been removed

  • Anonymous
    April 09, 2004
    The comment has been removed

  • Anonymous
    April 09, 2004
    An Entourage X is available standalone now: <http://www.amazon.com/exec/obidos/ASIN/B000078CTT/>. I can't speak for MacBU's plans on offering an Entourage 11 standalone.

  • Anonymous
    June 01, 2004
    I think that the real future of an address book, be it Apple's Address Book or Microsoft Entourage, should become more of an LDAP editor rather than just a simple database. The ability to be a stand alone application or a network resource editor is where both of these products should be going.

    I am not an entourage user yet, but I would assume that in both applications a user can view LDAP network resources. The next step to focus on is becomeing a resource editor for this.

  • Anonymous
    June 02, 2004
    Dan,

    May be off post, but this is what I'm looking for. Would it be possible to sync Entourage directly with external devices through iSync? I don't have a need for Address Book or iCal, if I could just get my appointments and contacts directly from Entourage to my Nokia 6600. Now I have to go via importing in iCal (which isn't a sync) or the Paul Berkowitz script. If iSyncing to external devices is not made possible, why not?

  • Anonymous
    June 03, 2004
    iSync is a closes system and isn't open for 3rd party developers to write adapters to sync to/from other sources/devices. Hopefully this will change some day, but what that means is that in order to sync your data to a device that iSync supports, you have to get that data into the Address Book or iCal. You could use Paul's script to get your data into Apple's data stores and sync them to your phone, even if you don't use those applications.

  • Anonymous
    June 05, 2004
    I for one couldn't care less if Entourage syncs with Address Book. I tried the Apple Apps as soon as they came out and went right back to Entourage. I don't like having to go to all these different apps for my info, Calendar, Address Book, and Email. I like having it all together in one nice neat package. I find Apples Cal and Address Book to be inferior to Entourage anyway and I have no problems syncing Entourage with my Treo 600. It just makes more sense to me!

  • Anonymous
    June 17, 2004
    Hi there, I am just about to evaluate the new Entourage 2004.
    Back in OS9 times, I used Entourage and loved it, then came iSync - and the handy way to sync a calendar and the addresses with my sony mobile and the ipod was overwhelming. That killer feature was the reason to go away from Entourage (not to forget to mention the ugly violet/gray logo :)

    Dan, the new Entourage looks so promising, but there is no Sync at all to anything now? (I didn't even find an initial import for the addresses and calendars at setup.)

    Don't you think that the missing sync feature might be not only for me the main reason to stay away from your great app but also for many others?

    You tell us that I need two 3rd party scripts first to sync to ical and to addessbock and then sync the rest and then run those scripts again to finally receive the update calendar entries from the phone? - If there isn't a better way now, why is that script 3rd party and/or why does Entourage not uses its own way to communicate with common handys and PDAs.... I really cannot follow your policies...

  • Anonymous
    June 17, 2004
    It includes built in Palm sync support. It also has import (File->Import), and export.

  • Anonymous
    June 27, 2004

    I have to agree with the author that Entourage handles a lot more than AddressBook, which I regard as the least of the iApps that have been bundled into OS X. I use Entourage 2004, and I enjoy the very nuanced ways I can connect things — and I bet I only use a third of the app's potential. The only thing I wish Entourage had was direct access to iSync's APIs (or whatever they are called) so I could sync directly to my iPod. There used to be a conduit that took over syncing with a Palm device; is there anything like that in the works for Office 2004 and with the wider variety of devices now available to Mac users?

    By the way, congratulations on the improved interface in Entourage, but there is still some miles to go there. It's considerably improved from Office X, but it does not yet possess the simplicity of design that apps like Safari or Mail have. (And, yes, I know Entourage does a heckuva lot more; it's just a bigger interface design challenge that's all.)

    I don't particularly care for all the comments that somehow make everyone in the MacBU out to be microserfs or part of the larger conspiracy — and, by the way, I do think there's plenty of validity to much of the conspiracy talk, just not at the developer level. Entourage is much improved. Word is improved a fair bit. PowerPoint still has huge pluses balanced out by an equal number of equally huge minuses and Excel is still Excel. (What can I say? It's the spreadsheet which tries to be everything to everybody.)

  • Anonymous
    June 28, 2004
    Great news! Apple is opening up the API's for iSync in Tiger! Yahoo! So perhaps Microsoft WILL build in synchronization between Entourage & Address Book.

  • Anonymous
    June 30, 2004
    I am disappointed with Apple's address book. It is seriously under powered for my needs. Apple needed to beef up the Address book, possible with an easy "user mode" And entourage is better because it is one program, there is better integration between all the things which go together--tasks, calender, contacts and email. this is three different apps under Apple.

    But it is annoying the the two cannot agree on a file format.

    I like having the idea of a central database, but up until now Apple has not been able to carry it out better than microsoft, despite the fact that entourage is clumsy somehow with the windows, the project center is a bit lacking.

  • Anonymous
    July 05, 2004
    The issue of Why doesn't Microsoft Entourage use the Apple Address Book? has some interest to me - in the last 6 months I have gone back and forth between using Apple Mail and Microsoft Entourage. It's a dead heat...

  • Anonymous
    August 20, 2004
    I've been trying out the trial version of Office 2004 for the Mac (and should have a real copy of it on the way very soon now). I have to say Microsoft has really done some cool things here. The...

  • Anonymous
    February 09, 2005
    The issue of Why doesn't Microsoft Entourage use the Apple Address Book? has some interest to me - in the last 6 months I have gone back and forth between using Apple Mail and Microsoft Entourage. It's a dead heat...

  • Anonymous
    June 08, 2009
    PingBack from http://insomniacuresite.info/story.php?id=2937

  • Anonymous
    June 16, 2009
    PingBack from http://fixmycrediteasily.info/story.php?id=664