User:Clarkbw/Xobni Like Extension

From MozillaWiki
Jump to: navigation, search

Goal

This is a break down of the Xobni extension available for Outlook. Each screenshot below comes from the Xobni Demo, the code besides each screenshot is pseudo-code for possibly generating the screenshot.


The intention of this set of screenshots and pseudo-code blocks is to pseudo-test the API design of the STEEL interface libraries. Xobni was chosen for this example because it is an interesting extension to Outlook and I believe we would like to see it or others like it attempted inside Thunderbird's Extension system.

This is all attempting to come from an extension developers view point

Initial Contact View

Xobni-contact-view.png
 Application.defaultAddressbook.search(Person).displayName
 
 Application.email.search(Person, [Email.FROM]).forEach(function(mail){
   mail.received
 });
 
 Application.email.sent.search(Person, [Email.TO, Email.CC]).count()
 Application.email.search(Person, [Email.TO, Email.CC]).count()

Comments

Contact Information

Xobni-contact-information.png
 Application.defaultAddressbook.search(Person).defaultPhone
 P = Application.defaultAddressbook.search(Person)
 P.phone.all.forEach(function(phone){
   phone
 });
 
 Application.defaultAddressbook.search(Person).defaultAddress

Comments

People Connected to Person

Xobni-people-connected.png
 Application.email.search(Person, [Email.TO, Email.CC, Email.FROM]).forEach(function(mail){
   email.to + email.cc + email.from
 });

Comments

Conversations With

Xobni-conversations-with.png
 Application.email.search(Person, [Email.TO, Email.CC], me, [Email.FROM]).forEach(function(mail){
   mail.subject
 });

Comments

Files Exchanged With

Xobni-files-exchanged-with.png
 Application.attachments.search(Person, [Attachment.FROM]).forEach(function(attachment){
   attachment.fileName
 });

Comments

from davida via IRC: Add automagic detection of URLs mentioned in emails from people in my address book, with a quick view on URLs which are "implicit bookmarks" iow, like what xobni does for attachments, but for URLs instead.

Using syntax from above this might look like:

Application.links.search(Person, [Link.FROM]).forEach(function(link){
  [link.href link.title]
});