Contacts as first class objects in the browser
Update: The most recent Contacts release is 0.3. Read about it here
Today, we’re announcing the release of an experimental version of our new Contacts addon. With Contacts, we’ve enhanced your browser by making it aware of your online contacts and friend lists. You can then search and browse your contacts in the browser, and a website can ask for permission to access them through an API.
Why is this information important? Address books and buddy lists have become an integral part of how we manage our relationships online. Your email addresses, twitter handle and openID are used in hundreds of ways as you connect, follow and share online.
Every desktop operating system, and hundreds of web-based service providers, has some way of representing “who-you-know”. Managing all of this information can be a lot of work. There are multiple copies of your data, and they are inconsistent and disjointed.
This information is also special, because it represents the boundary between “my data” and “your privacy”. When you disclose your friends’ email addresses on a website (maybe you want to invite them to a cool new site you just joined), you are trusting the website to keep that address private. At most sites today, you do this by sharing an entire contact list from some other website (say, your Yahoo address book), and don’t have much ability to restrict what information gets shared. The disclosure of your friends’ contact information is an important step: we think you should be in control of it.
How it works:
The Contacts prototype consists of these pieces:
- A browser-based Contacts database that stays in sync with your address books (so far, it supports GMail, Twitter and Mac OS Address book)
- A generic importer system for Contacts from desktop or web-based address books (so you can implement missing ones)
- An email autocompletion feature, which demonstrates how the browser can auto-complete email addresses on any website. The autocompletion is performed entirely in the browser, without sharing the your list of contacts with the website.
- A Javascript API that websites can use to access the Contacts database, with explicit user permission and filtering
Try it out!
There is an experimental, pre-alpha version of the addon available for download here.
Please be aware that this experimental code. If you are not comfortable with running software that can crash your browser, or cause you lose work, you may want to wait. Please read the Release Notes first.
This version has support for importing from Gmail, Twitter, and, on MacOS-based machines, the local Address Book. This list of importers is far from final — it simply represents three interesting classes of address book data. We’re going to keep working on the list of supported importers, and we will be documenting an open importer API to let everybody join in (and, of course, if a site uses an open standard like Portable Contacts, everybody’s job is much easier!)
Dig deeper
As with all Mozilla projects, Contacts is developed in the open, and we welcome participation from everyone.
Hack on the project sources.
Discuss on our forums.
Chat with us on IRC (irc.mozilla.org, #labs)
Learn More
- We’re indebted to our friends and colleagues at Mozilla Messaging, who have been working on address book integration in Thunderbird for years, and have the exciting new Raindrop messaging application in experimental development now. We are working on integrating the Raindrop project with the Contacts API!
- The Portable Contacts initiative is an important effort to define a common data definition for contact data. We use the Portable Contacts definition internally for Contacts.
- The W3C Contacts initiative is defining an industry-standard, cross-platform API for access to contact data in the browser. The spec is new and evolving, and now is the time to experiment and provide feedback!
Yvaine
wrote on
:
Sebastian Halbig
wrote on
:
Shah Khan
wrote on
:
Romi
wrote on
:
rodin
wrote on
:
Bruno
wrote on
:
JOHNMOSES
wrote on
:
Andy Mabbett
wrote on
:
mozilla_labs
wrote on
:
Urbano
wrote on
:
Rin
wrote on
:
mhanson
wrote on
:
Cef
wrote on
:
the-edmeister
wrote on
:
mbk28
wrote on
:
mhanson
wrote on
:
Kirill Maximov
wrote on
:
Ganeshram Iyer
wrote on
:
Andrew Lewis
wrote on
:
Shrijit
wrote on
:
beriberikix
wrote on
:
mhanson
wrote on
:
Mark
wrote on
:
Will Peavy
wrote on
:
mhanson
wrote on
:
Yva
wrote on
:
Andreas
wrote on
:
mhanson
wrote on
:
keithy397
wrote on
:
newbeewan
wrote on
:
Andy Mabbett
wrote on
:
Andy Mabbett
wrote on
:
Andy Mabbett
wrote on
:
RJ
wrote on
:
Richard Tibbett
wrote on
:
Phil
wrote on
:
Stefano Maffulli
wrote on
:
Dave
wrote on
:
mhanson
wrote on
:
mhanson
wrote on
:
TurboFool
wrote on
:
Johannes Ernst
wrote on
:
bcj
wrote on
:
Josh Bjornson
wrote on
:
Glenn Brooks
wrote on
:
wH1sp
wrote on
:
ken
wrote on
:
mhanson
wrote on
:
jonathan
wrote on
:
mhanson
wrote on
:
AM
wrote on
:
John
wrote on
:
Amit Banerjee
wrote on
:
mhanson
wrote on
:
Chicha
wrote on
:
mhanson
wrote on
: