Feb 10

Short Update on Sunbird 1.0b1

I should have mentioned this in my previous blog post, but I do have a status update for Sunbird 1.0b1:

I have fixed 2 small packager errors yesterday, which now cause the automated builds to actually run. The first builds that succeeded are available on the ftp server, but we need to do another run that contains the second packager fix. If all goes well, gozer will have time to take care of this today, but the Thunderbird 3.0.2 builds have priority.

If all goes well, the upcoming build will become Sunbird 1.0b1 rc1. We will give another two weeks of QA time, if no critical errors show up then this build will become the final

Feb 10

Whats going to happen in the next 6-8 weeks

As you may have noticed, not much has happened since the release of Lightning 1.0 beta 1. One reason for this is that I’ve had 8 Exams in the last three weeks, all of which needed quite an amount of preparation. I haven’t gotten grades for all of them yet, but those I received so far were pretty good.

Now that all of this is through, I have a lot more time for Calendar. I will be enjoying semester vacation until April, which means I can catch up on all the calendar work I have missed.

I’d like to give you a short overview of what my next steps are, so you know what to expect.

  • Planning for 1.0 final. We need to firm our goals for Lightning 1.0 final. I’m going to define some toplevel goals I think would be good for the final and go through bugzilla to identify the most important bugs to fit those goals. Afterwards, I will discuss these goals with the Calendar Team more closely.
  • Reviews. My review queue has filled up and is now at 35 requests. I have already tagged each patch with its length and will now be taking care of these one by one. I can’t dump in all patches at once so it might take a while until they are all in the tree, but I’ll be pushing more than one a day if the patches come from different areas and the reviews are done.
  • Improve Localization Infrastructure. This step is long overdue, we wanted to have this working before 1.0b1 already. It would be a great advantage for Localizers if they could see how their changes affect Lightning builds. To make this happen, I need to work on the buildbot code so it builds localized Lightning packages automatically for the nightly builds.
  • Patches. I do have a few patches in the works that need more elaborate testing and also some coding, I would like to complete these soon, as long as they make sense for the next version.
  • Planning for 1.0b2. Depending on what the outcome of the 1.0 final planning is (i.e if we think the next version should still be a beta), we will also spend some time planning for 1.0b2. This includes top level goals and also some driving work to get the blocking list into shape.

This should keep me busy for a while, I’ll post again when I have new goals to share. Let me know what you think!


Feb 10

Automated Testing For Lightning!

When Standard8, Dmose and others on the Thunderbird team started using Mozmill for their test automation, we watched with envy and discussed how awesome it would be to do something similar for the Calendar Project.

But there were huge technical roadblocks in the way: could Mozmill automate the XBL-heavy calendar user interface? How reliable would any such automation be due to the way the views were drawn on the screen? How much time would it take someone to do it? None of us had the time or bandwidth to figure it out, so Philipp and I proposed it as a Google Summer of Code project and hoped that some brave soul would choose to volunteer for our project.

The brave soul that answered was Merike Sell, our Estonian localizer. She proved herself an incredibly skilled hacker, finding ways to make these tests work reliably on the Lightning UI across Windows, Linux, and Mac operating systems. She’s even created a complete shared module of calendar utility functions to make it much easier for anyone to add new tests in the future.

To give you an idea of what types of automatic testing she completed, we have the following tests checked in to calendar/test/mozmill.

  • Event Creation, Verification of Events in all Calendar Views
  • Event Dialog Input Testing, including UTF-8 Input testing
  • Task Dialog Input Testing
  • Task Pane View testing
  • Today Pane Testing
  • Recurring event testing for Daily, Weekly, Monthly, and Yearly recurrences
  • Recurring events are displayed properly in horizontal views
  • Extremely detailed Timezone tests to check for the most common timezone bugs

Underlying these tests are a basic set of APIs in the shared module testCalendarUtils.js. These APIs can help you do everything from fill in an event dialog to verify that an event is in the correct location on the screen in each view. Merike has written some excellent documentation for the API as well.

We’d like to thank both Frank Hecker and the Mozilla Foundation as well as David Ascher and Mozilla Messaging for making this possible. And we’d like to thank and congratulate Merike on a job well done. She braved through completely uncharted waters, found a dozen Mozmill bugs and created the first complete set of calendar automated tests in the history of our project.

Thanks Merike!

Feb 10

Taking a closer look at Lightning download numbers

It’s now been thirty days since the release of Lightning 1.0 beta1 and so far it’s been a blast.

Daily Lightning downloads

I regularly take a look at our download numbers and wanted to share some recent developments with you. First of all, let’s take a look at our daily download numbers since 2009-01-01:

What’s easy to see here is the huge reception that Lightning has gotten from our users since the 1.0 beta1 release. You can see it with the small spike in mid-December 2009 (announcement of the 1.0 beta1 release candidate) and the large spike 30 days ago, that marks the final release of 1.0 beta1. The corresponding moving averages show even better how much our daily download numbers have increased. To give some hard numbers: We’ve gotten more than 310,000 unique downloads within the last 30 days. That’s 50% more than we’ve gotten at any time since we measure our daily download numbers (which we do since September 2007).

I should add two things here:

  1. The regular downward spikes are the weekends and holidays, which always show much smaller numbers.
  2. The numbers only contain actual downloads. They do not contain add-on updates.

Lightning active daily users (ADU)

Another good indicator are our number of active daily users, which we’ve been measuring since late May 2009 and which can be tracked on a daily basis at addon.mozilla.org.

Again, it’s easy to see the steady upward trend that started around late August 2009. The downward spikes on every weekend are also easy to see, as are our low numbers around the year-end holidays, which seem to indicate, that Lightning is mostly used for business purposes and not so much for private use.

Thunderbird 3 adoption among Lightning users

Lastly, let’s take a look at what our users are actually using. How many people have already updated to Thunderbird 3?

The chart starts in late November with the first release candidate of Thunderbird 3 and it’s easy to see the first large increase on the day of the Thunderbird 3.0 release (December 08 2009). The release date of Lightning 1.0 beta1 (January 12 2010) is harder to spot here, but the uptake is still noticeable. What is pretty clear is the steady increase of Thunderbird 3 users and the corresponding decline of users of Thunderbird 2. Interestingly, the ratio of Thunderbird 3 users is much higher on the weekends compared to the Thunderbird 2 users. One possible explanation would be, that normal users , which also use Lightning during the weekend, are faster with upgrading than business users, which only use Lightning during the work week.

One interesting additional fact, that cannot be gleamed form those charts is the fact that Lightning users seem to be much more eager to update to Thunderbird 3, than Thunderbird users which do not use Lightning.
The last available numbers speak of a total of 6 million active daily users of Thunderbird during the week of which 1.4 million are already using Thunderbird 3. That would put the ratio of Lightning users at 15.5% overall (calculated with a value of 930,000 active daily Lightning users during the work week). However if you take a closer look at the various versions of Thunderbird, you can see that the ratio of Lightning users among Thunderbird 3 users is much higher (22.8%), while it is much lower among users of earlier Thunderbird versions (11.4%).

I’d be interested in your thoughts on this.

Feb 10

[February 08, 2010] Lightning Status Update

Now that we’re moving full-steam towards the Lightning 1.0 beta2 release, it’s also time to make clean slate and show you in terms of fixed bugs, what has happened since the last status update back in late November 2009.

Overall we have fixed an impressive 55 bugs since then, keeping in mind the whole release process hassle, the holidays and Philipp’s exam schedule. Here’s the complete list of fixed bugs:

  • Bug 313822: Make Lightning work on SeaMonkey
  • Bug 357332: Holidays in Chile for 2010
  • Bug 364487: Argentina Holidays 2008-2009
  • Bug 376139: Sri Lanka Holiday 2010
  • Bug 397180: South African Holidays 2010
  • Bug 432440: Israel Holidays 2010
  • Bug 472466: No small icons in edit event/task dialog available
  • Bug 489882: Building with “NECKO_DISK_CACHE=” fails with unresolved external symbol
  • Bug 500399: Event Dialog: Help Menu is uselesss and could be removed
  • Bug 509100: Holiday file for Namibia
  • Bug 511193: [Mozmill] Recursion tests
  • Bug 518610: Tasks no longer work in TB3/Lightning with Kerio Mailserver
  • Bug 524574: Polish holiday 2009-2020
  • Bug 528676: e-mail list not updated when using next/prev button in New Calendar wizard
  • Bug 529810: Views borked using wcap: dayHeaderBox.mItemBoxes is null
  • Bug 529853: Creation of local calendar fails (DB Error no such column: recurrence_id_tz)
  • Bug 530096: Tracking bug for Sunbird/Lightning 1.0b1 release
  • Bug 530097: Create release notes for Lightning/Sunbird 1.0b1
  • Bug 530100: Bump version numbers for 1.0b1 release
  • Bug 530165: [Mozmill] Timezone test
  • Bug 530842: Upgrade Sunbird/Lightning 0.9 to 1.0pre fails
  • Bug 531028: Linux: Delete Task button in Task view is missing its icon
  • Bug 531418: Allow building lightning with all locales at once
  • Bug 531685: Build problems on linux and win32 due to insufficient disk space
  • Bug 531699: Spanish Holidays 2007-2010
  • Bug 532656: Fix Sunbird official branding on Mac.
  • Bug 533070: Sunbird nightly builds fail with |No rule to make target
  • Bug 533089: Malta Calendar 2010
  • Bug 533259: Sunbird website does not validate to its doctype
  • Bug 533324: Finnish Holidays 2010
  • Bug 533329: [Mozmill] Verify that Calendar is working properly with UTF-8 characters
  • Bug 533458: Fix mac and windows trunk builds
  • Bug 533466: calendar-multiget REPORT should not specify the calendar collection URL
  • Bug 533498: Build config changes for Cocoa Printing
  • Bug 533713: gdata-provider.xpi should support SeaMonkey 2
  • Bug 533747: Mention required version of Thunderbird in system requirements of Lightning
  • Bug 533943: CalDav access to my calendar doesn’t work on RC2, lightning 1.0, using CGP
  • Bug 534969: Add sq to calendar/locales/all-locales
  • Bug 535379: Create more l10n.ini files to builds against 1.9.1 and central
  • Bug 535574: [Mozmill] Writing to a local ICS calendar
  • Bug 535812: [Mozmill] Event with no changes shouldn’t prompt to save
  • Bug 536185: Update calendar/ copyright dates to 2010
  • Bug 536189: Wrong Lightning version in install.rdf
  • Bug 536354: getItem doesn’t set calendar for items
  • Bug 536525: Turkey holidays for 2010
  • Bug 537066: Scrape dead bits out of credits.xhtml
  • Bug 537470: Russian Holidays 2010 and onward
  • Bug 537628: Building localized Sunbird l10n nightly builds fail since 02-Dec-2009
  • Bug 537885: Add Arabic (ar) to Calendar builds
  • Bug 538170: Mac trunk builds failing running merge-installrdf.py
  • Bug 538439: static Sunbird builds from comm-central/mozilla-central fail
  • Bug 538576: Singapore Public Holiday 2010
  • Bug 539681: Puerto Rico Holidays
  • Bug 539943: Set up builders for Lightning 1.0b2pre for Thunderbird 3.1
  • Bug 543359: Adjust Lightning version and required Thunderbird version

As always, our thanks go to all developers, contributors, localizers, testers, and supporters that have made this possible.

Feb 10

Lightning builds move towards supporting Thunderbird 3.1

Some people have already noticed that we no longer release nightly builds that support Thunderbird 3.0 and SeaMonkey 2.0. As of January 31st, our nightly builds will no longer live in the latest-comm-1.9.1 folder, but in the latest-comm-1.9.2 directory.

The main difference between the 1.9.1 builds and the 1.9.2 builds is, that the latter will only support nightly builds of the Thunderbird 3.1 and the SeaMonkey 2.1 development branch. This also means that our next Lightning release (1.0 beta2) will not support Thunderbird 3.0.x and SeaMonkey 2.0.x and users of those releases will have to update to be able to get the latest Lightning release then. For now, users that want to test the latest Lightning fixes should either download Lanikai 3.1 alpha1 or a recent nightly build of Thunderbird (also called Shredder) or SeaMonkey.

The reason for this decision is (again) one of (developer) resources. Currently the following development areas/branches are available to us:

  • The comm-1.9.1 branch, where development for Thunderbird 3.0 and SeaMonkey 2.0 took place.
  • The Gecko 1.9.2 branch (home of Firefox 3.6) that in combination with the (soon to be created comm-1.9.2 branch) will be the basis for Thunderbird 3.1, which is currently scheduled for a release in April 2010.
  • The so called trunk, on which the release after Thunderbird 3.1 will be developed. The SeaMonkey folks are targeting the trunk for their 2.1 release.

With our current resource situation we are not able to fully support all three areas/branches. We have therefore decided to only fully support the Gecko 1.9.2 branch and give a somewhat limited support to the trunk. Those of you who want to follow our work are encouraged to download the Lightning Nightly Updater add-on, which should make updating Lightning much easier for you.

Thanks for staying with us.

Feb 10

On the state of Sunbird 1.0 beta1

Four weeks ago we released Lightning 1.0 beta1. At the time we also said, that we would make a 1.0 beta1 release available for Sunbird as well, the last Sunbird release from us as previously announced.

Now what’s holding it up? The answers are: technical stuff and real life. To elaborate more, we’re still having problems to produce the Sunbird 1.0 beta1 release builds in all our supported locales. The only two people who could fix that (Philipp and Gozer) are either too busy because they have to learn for their university exams (Philipp) or too busy, because they have to work on getting other (higher priority) releases out of the door (Lanika 3.1 alpha1 and Thunderbird 3.0.2).

The good news is that Philipp’s exams will be done in the coming week and Gozer’s main time consumer is either already done (Lanikai 3.1 alpha1) or will be done from his side in the coming week (Thunderbird 3.0.2). So expect a Sunbird release shortly thereafter.