Skip to content
This repository


This is where I answer questions that have cropped up about the address book.

General implementation questions

Are you planning to implement the front-end in HTML or XUL?

The plan is to use almost 100% HTML. There will have to be a little bit of XUL in order to get the contacts tabs to play nicely with Thunderbird's tab strip, but the tab will then load HTML.

Communication between the chrome UI layer and the underlying HTML will likely be via message passing a la postMessage.

XUL is amazing for to be expanded by add-ons… I don’t feel much enthusiast by the selected html approach for the front-end.

XUL is nice for add-ons, but it has some very serious drawbacks:

XUL is simply not as well known as HTML. Check out how many StackOverflow articles have been tagged with XUL. Compare that to how many StackOverflow articles have been tagged with HTML. Remember that I'm really going to need help on this, which means that I want to make it easy for new contributors to hack on it. Favoring HTML over XUL greatly lowers the barrier to entry, and also allows web developers to use familiar libraries like jQuery.

Also, unless I'm greatly mistaken, XUL takes a completely different code path than HTML. Gecko's HTML parser is heavily, heavily optimized. XUL's is not. This means faster performance, and better responsiveness.

I agree that XUL is excellent for add-ons because of overlays. My goal with Ensemble is to include enough hooks for developers to inject the elements they need within the HTML (once those needs are discovered).

How do you envision adding more tags to a contact? I feel like that'll be the most confusing aspect (and it isn't mocked up, as far as I could tell). Also, there's no list of tags for each contact?

We will, of course, list the tags per contact.

The UI for adding tags to a contact needs solidifying, but if you've ever used Google Contacts for contact group management, that's more or less the way I'm thinking.

What about interoperability (android and zimbra in my case) and the capacity to merge?

Creating the infrastructure to communicate with external contact providers is a P1 goal for this project.

I also plan on making sure Ensemble ships with some number of default "connectors" for some popular provider types. Add-ons should be able to register more contact provider types.

Will the categories be realized as tags somehow, so I can flag my contacts with something?


Will it be possible to customize some of the labels?


But what about if we wanted to Keep our address book in folders like : Clients, Vendors, Hotels, Resorts, Production Houses, Event Managers, Casting Directors etc. etc.

This is what the tags are for. You tag the contacts into those partitions, and then you can view the contacts for each particular tag.

Is the format of the address book something that can be exported easily as a text or even Excel file? One of the failures of Eudora was that it shuffled the fields when one did an export (for reasons best known to them).

I'm targetting to export to at least vCard 4.0 and CSV. LDIF as well, if possible.

Specific questions about the mockup

Lot of empty space on side of contact photo & name. Will some information come there?

I plan on putting name, and possibly org / company information to the right of the contact picture.

Something went wrong with that request. Please try again.