Address Book Status at Thunderbird 3.0 Alpha 1

Now that Thunderbird is in 3.0 Alpha 1 Code Freeze, I want to point out some of the changes since Thunderbird 2 to the Address Book back-end code and where it is likely to be going post-Alpha 1.

First, though, for all of those wanting to see improvements to the UI – we are starting to discuss these in more detail (keep an eye on the newsgroups), and are planning for them to be included Thunderbird 3.0 – the back-end improvements have currently taken priority as they will give us a much better basis for us to improve the UI.

So what are the main changes so far in the address book between Thunderbird 2.0 and Thunderbird 3.0alpha1?

Continue reading “Address Book Status at Thunderbird 3.0 Alpha 1”

Leak and Bloat tests for MailNews

For those of you that have passed by the SeaMonkey tinderbox tree recently, you’ll probably have noticed some new tests taking place: Mail RLk, Mail Lk, Mail MH, Mail A. These are the first part of providing performance tests for MailNews.

The new tests take similar measurements to the Browser leak and bloat tests. Rather than loading lots of pages, we (currently) simply start up and close the Main Mail, Address Book and Compose Windows with a basic profile in place (for those of you who may have noticed the big jump in numbers that’s when we added the Compose Window in).

I’d like to say thank you to Andrew Schultz (one of my co-members of the SeaMonkey Council) for allowing me to try out the patches on his tinderbox.

If you want to know more about how do the tests and what the numbers mean, I’ve already documented that on the wiki page.

These tests will hopefully be appearing on the Thunderbird tinderbox tree soon as well

At the moment, this is just the early version of these tests – we wanted to get something going so that we had a basic set of numbers. As mentioned on the wiki page we have ideas for running more extensive tests, so don’t be surprised if the numbers vary a bit over the next few weeks.

I’ll also be taking a look at starting to get other performance tests together soon – based on how we have implemented the Leak and Bloat tests has already given me some ideas.

Another area I’ll be looking at is getting xpcshell tests running for Thunderbird – currently some of the tests won’t pass, and then there is how to do mochitest-like-tests. Again, I’ve got a few ideas, just need some time to look into them.

On a slightly different note, I’ll be attending the Calendar Face-2-Face meeting next weekend in Hamburg.

Starting at Mozilla Messaging

Today is my first day working for Mozilla Messaging. This will be very different to my old job, for starters, I will be working from home (in the UK). However I’m looking forward to it, and I already have lots of things to do. Currently I have on my list:

  • Address Book Reorganisation – Based on some ideas I put together, Joshua has already done a lot of work on actually implementing the first major parts of this. There’s more work on some of the interfaces to do, especially to support writeable LDAP directories. Once I’ve done that, I’ll blog a bit more about what we are doing and why.
  • Password Manager in MailNews – currently, MailNews requires the old “wallet” password manager, this is largely unmaintained code, and we want to move to using toolkit’s password manager. I have already implemented the necessary interfaces in toolkit’s password manager, I now need to work on the required changes to MailNews to complete this.
  • Automatic xpcshell unit testing – in the last few months, we have started adding some basic xpcshell unit tests to MailNews, however the SeaMonkey trunk tinderbox is the only one that runs these tests. We want to get the Thunderbird trunk tinderboxes running them as well, however that requires some issues fixing to do with the way Thunderbird is configured (because it is not a browser).
  • Automatic UI and Performance testing – Additionally we want to expand the capabilities of MailNews to include Mochitests (or something similar) and performance testing. I think these will take some time to set up properly, but I wanted to let you all know we are thinking about them.

Alongside those items, I’ll also be handling most of the “normal” background tasks, e.g. reviews, bug fixes, backend-improvements, helping the community, helping on bug days etc.

There’s lots of work for me to do, so I’d better stop writing the blog and get on with it 😉