r25 - 07 Feb 2006 - 16:38:14 - LisaDusseaultYou are here: OSAF >  Journal Web  >  ContactsCapplet? > ContactsDesign20040727

Contacts Design Doc


Table of Contents


Example Use Cases #

These are just a few example use cases, to give a feel for the topic. This is not meant to be a comprehensive list.

When Use cases
canoga_in.png Canoga Create a contact
canoga_in.png Canoga Edit a contact
canoga_in.png Canoga Delete a contact
canoga_in.png Canoga Find a contact (free text and attribute-based search)
canoga_in.png Canoga Send mail to a contact
canoga_in.png Canoga "Send" an item to a contact
canoga_in.png Canoga Share something with a contact
canoga_in.png Canoga See the IM presence of a contact on your buddy list
canoga_in.png Canoga Share and "address book" of contacts
canoga_in.png Canoga Share my "me" contact
canoga_in.png Canoga Add ad-hoc attributes to a contact
canoga_in.png Canoga See all the mail from/to a contact, regardless of email address
canoga_in.png Canoga See all the calendar events involving this contact
canoga_in.png Canoga See all tasks involving this contact
canoga_in.png Canoga See all the items I've shared with this contact
canoga_in.png Canoga See all the items this contact has shared with me
canoga_in.png Canoga See all the items this contact has shared with me


Overview #

Terminology

  • Contact? - A Contact is an item that appears as an entry in a Chandler address book. A Contact typically represents either a person or a company.

  • user? - The term user has recently been replaced by the term Principal?. Principal? is a specific Chandler term, with a clear technical meaning. In contrast, the word "user" is now just a fuzzy English language work, with no specific technical meaning in Chandler. A "user" is just a person who uses computer, and uses Chandler.

  • Group - A Group is a named collection of Contacts (and their associated Principals). In many ways groups will look and feel very similar to the more general notion of Item Collection. For example, you can put a group in the Sidebar to make it easy to get to. However, a group is a special kind of collection. A group differs from a collection, because:
    • you can share items with the group, and assign permissions to the group almost as if it were a contact
    • you can go beyond just specifying which contact items are in the group, by also specifying, for each contact, which email address, or sharing address to use for that contact in the context of this group
    • a group can only contain contact items, not any kind of Content Item


Feature List #

# When Feature Description
1 canoga_in.png Canoga detail view A simple default detail view for a single contact.
1 canoga_in.png Canoga list view A simple summary list view, showing a list of contacts.
1 canoga_in.png Canoga "me" contact Special-case handling for the "me" contact. For example, we might make it impossible to delete "me".
1 canoga_in.png Canoga groups Full support for all of the features having to do with groups, as described in UsersAndGroupsDesign2004
1 canoga_in.png Canoga contacts are content items Contacts are just another type of content item, so I can take a contact and do with it all the same things that I can do with other content items. I can put contacts in projects, I can put contacts in collections, I can see contacts in mixed viewed, I can bookmark a contact, I can share a contact.
1 canoga_in.png Canoga primary attributes If a contact has several phone numbers, I can mark one of them as "primary", so that it's the one that will show up on a phone list. Ditto for other attributes, like "postal address", "email address", "IM address", etc.
1 canoga_in.png Canoga unlimited contact sections I am not limited to just having "home" and "work" sections. I can create as many contact sections as I want to, without limit.
1 canoga_in.png Canoga incremental search When you type "P", the result set shows the entries that begins with "P". If you add another two character to get "Pat", the result set shows the people named "Pat". (To see examples of this interface, look at SBook or the Mozilla Address Book.)
1 canoga_in.png Canoga edit all attributes In detail view, I can edit all the dozens and dozens of attributes that are available in the contacts content model
1 canoga_in.png Canoga printing I can print a single contact item or a list of contacts. There are a variety of print formats to choose from: complete contact info (all attributes); phone list (name and phone numbers); summary "cards"; table format; etc.
1 canoga_in.png Canoga two detail views I can open two detail views at once, and copy and paste text from fields in one contact to fields in another.
1 canoga_waitlist.png Canoga Waitlist templates I can create "templates" for different types of contacts. Each template can define a different set of attributes that are visible by default for this type of contact. For example, I can have "student" type contacts that each have a "mid-term exam grade" attribute and an "attendance record" attribute, as well as well as "university" type contacts that by default have visible attributes for "name", "address", "web page", and "chemistry dept chairperson". When I create a new contact, I can create it based on a template. For example, instead of just having a "New Contact..." menu item, I also have menu items for "New Student..." and "New University..."
1 canoga_waitlist.png Canoga Waitlist actions for attributes Attributes like "email address", "IM address", "phone number" all represent contact methods. For these attributes, I can click on the attribute and there's some affordance for initiating contact via that contact method. For example, I can click on the email address and get a new email compose window, or I can click on an IM address and launch a chat session.
1 canoga_post.png Post-Canoga contact recognizers When I'm in a non-contact view, if I type the name of a contact it will automatically be recognized and a link will be created that points to the contact item. For example, recognizers will be available if I create a calendar event and type "Jane" in the list of invitees, or if I create a new e-mail composition window and type "Smithers" in the "to:" field, or if I compose a Note and type "Edward Teller" anywhere in the body.
1 westwood_in.png Westwood LDAP integration LDAP integration
1 open_issue.png Open Issue import/export I can import contacts from other PIMs, like the Mac Address Book, the Mozilla address book, or Outlook. I can export to some format.
1 open_issue.png Open Issue sync I can sync my Chandler contact list with the address list on my PDA.
1 no.png Never free-form detail page I can view and edit a single contact on a "free-form" detail page -- something with just a single text box, similar to the interface offered by SBook.
1 open_issue.png Open Issue Export to vCard  
1 open_issue.png Open Issue Simple import from vCard  
1 open_issue.png Open Issue Import vCards with auto-merging  
1 open_issue.png Open Issue Contacts API available to other parcels  
1 open_issue.png Open Issue sync compatibility  
1 open_issue.png Open Issue IM integration  
1 open_issue.png Open Issue Support for printing labels  
1 open_issue.png Open Issue Support for printing mailing lists  
1 open_issue.png Open Issue Change of address notification  
1 open_issue.png Open Issue Custom attributes and categories  
1 open_issue.png Open Issue Automatic formatting of phone numbers  
1 open_issue.png Open Issue Sync with Microsoft Exchange Servers  
1 open_issue.png Open Issue Speech recognition searching  
1 open_issue.png Open Issue Merge two contact items into a single contact items  


See also


Contributors


Comments Welcome

  • Questions from ChaoLam, 18 Feb 2004
    • How do we deal with default or preferred contact methods (e.g. default email address, preferred phone number)? Does this vary by context?
    • I think we need to model and specify requirements for nicknames


Projects.PageInfo
Projects.PageType DesignOverviewPage
Projects.MaintainedBy BrianDouglasSkinner
Projects.PageStatus Work in progress -- this page is still being drafted? no.png
Trash.CommentsWelcome2 Feel free to contribute comments?, either by adding to the Comments Welcome section of this page, or by posting to the dev list, or by sending mail directly to the person listed as maintaining the page.
Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r25 < r24 < r23 < r22 < r21 | More topic actions
 
Open Source Applications Foundation
Except where otherwise noted, this site and its content are licensed by OSAF under an Creative Commons License, Attribution Only 3.0.
See list of page contributors for attributions.