Main

January 6, 2012

Lightning 1.1.1 fixes a critical error on Windows XP

Due to a critical issue that some Windows XP users are experiencing, we have decided to release Lightning 1.1.1, an intermediate release compatible with Thunderbird 9/Seamonkey 2.6. We recommend all users to upgrade, especially those who cannot see their calendar data and are getting an error console message "Failed to load native module at path ...\calbasecomps.dll".

You can get the builds on addons.mozilla.org, as always.

November 24, 2011

Localization Schedule for Lightning 1.1 and beyond

Now that Lightning 1.0 has been released, we can move forward and adapt to the rapid release schedule that Thunderbird and Firefox are using. In terms of development we will do this gradually but for localization we will do so right away. From now on, if you are already used to the Firefox/Thunderbird localizations you can think the same for Calendar.

Here is an overview of where to get the sources and see the translation progress

en-US source locale source dashboard current version until merge
comm-beta l10n/mozilla-beta cal_beta Lighting 1.1 / Thunderbird 9
comm-aurora l10n/mozilla-aurora cal_aurora Lighting 1.2 / Thunderbird 10
comm-central l10n-central cal_central Lighting 1.3 / Thunderbird 11

Specifically for Lightning 1.1, we have managed to open a milestone for Lightning 1.1. I'd like to encourage you to sign off on this milestone until December 5th so we can be ready in time for the release on December 20th.

Help Lightning understand email, in your language!

As a Lightning user I often wish that all events would arrive at my Inbox as invitations in the iCalendar format. This way I could just click the accept button and it would be added to my calendar. But they don't. Often people just write you a text-based email when they want to invite you somewhere. So you right-click the email, choose convert to event and a new event dialog opens with start date set to next full hour. Not quite correct unless you're really lucky.

This is why I'm working on an extension to Lightning which would fill in dates and times automatically from email content. The basic idea is that localizers can define most common ways dates and times are referred to in their language similarly to how they localize Lightning itself. Using these patterns event dialog can be much smarter about setting start and end times and in most cases you wouldn't need to correct them at all.

Since Lightning is localized into 38 languages and language variants I need your help. If you fluently speak a language other than English and would be willing to spend some time to localize the patterns and test this prototype on your emails then please leave a comment below. Be sure to include your email and language of choice so I can send you a customized pattern file and prototype. Do so even if you speak only English as you can still help with testing. Feedback on when it guesses correctly and when not is crucial to improving the extension. What works great in English may not work well in your language and of course everyone's email is different too. With your feedback I can improve my extension so that this functionality can be included into Lightning later on (the curious can follow bug 403222 where more technical information will be posted).

Merike Sell, Mozilla Calendar Team

November 22, 2011

Update on Lightning usage numbers

It's been over a year since we last posted about the current state of Lightning usage. Since that day Thunderbird 5, 6, 7 and 8 have been released with their Lightning counterparts 1.0 beta4, 1.0 beta 5, 1.0 beta7 and finally Lightning 1.0.

Now it's time to look at things again and I'm happy to report, that Lightning is more popular as ever before with nearly 30% more daily users than one year before. Right now we average nearly 1,400,000 users each day during the workweek and about 775,000 users on the weekends, which brings to more than 1,200,000 users on average over the course of a week.


Most of our users (64.2%) are now on Thunderbird 8. Most of the rest still uses Thunderbird 3.1 (15.0%) and Thunderbird 7 (13.4%). The remainder (7.4%) is mostly distributed to Thunderbird 2 (still at 2.3%), Thunderbird 6 (2.6%), Thunderbird 5 (1.0%) and other installations (other Thunderbird releases, SeaMonkey and Firefox) at 1.5%.

November 7, 2011

Lightning 1.0 is here!

So, this is it! My early birthday present, Lightning 1.0, has finally been released. For quite some time now we have had so-called "beta" releases, that were in no way different to our other releases. With Lightning 1.0 we can finally say good bye to the betas and hello to exciting new releases!

When planning for this release, we mainly focused on rounding off any sharp edges you may find in Lightning. Just as an example, you can now press Escape to cancel creating an event via dragging. Sounds like a simple, intuitive feature that should have been there all along? You bet! There is one exception though, Lightning now supports full offline editing using the cache feature you can find in the calendar properties. This great big feature has been in the works during the past Google Summer of Code and has now finally made it into the release.

As always, you can get the latest release from addons.mozilla.org. If you are using the Provider for Google Calendar, make sure to upgrade too. Please note that Lightning 1.0 is compatible to Thunderbird 8, which is also being released today.

So, whats happening next? I will be gathering some ideas during the upcoming EU MozCamp 2011 and will present you my plans shortly after. If you have any suggestions, please do use the newsgroups to get in touch.

October 24, 2011

Lightning 1.0rc2 is available, with full offline support

I'd like to present you with Lightning 1.0rc2. You can find it at its new location on the addons.mozilla.org beta channel (If you still get 1.0rc1, then please try again in a few hours when the page cache has been updated).

There is a big new feature in this release which needs your testing. Thanks to the hard work of Mohit, who has joined us through the recent Google Summer of Code, we have extended the cache with full offline support, which means you can write your events while in offline mode. If you are using a CalDAV calendar, it will even retry events that failed.

If you encounter any issues, please file a bug at bugzilla.mozilla.org.

Note, if you are using the cache with the Provider for Google Calendar, please stay tuned. I will soon post a development version of the provider containing a patch that corrects offline support.

September 14, 2011

Plans for the next release

Plans for the next release

Its about time to give you an update on what is planned for the next release. As you may have noticed, we have had a lot of trouble calling our releases "beta". For one thing, some users and especially corporate users are cautious when they read beta and don't see that it has the same quality as all our other releases. Aside from that we also had trouble with uploading releases to addons.mozilla.org (they are automatically marked beta and require admin intervention to make them public for everyone) and we are constantly in need of new sub-version numbers. For example, if we want to release a matching build for Thunderbird 7.0b2, what do we call it? Lightning 1.0 beta 7 beta 1? Thats too much, do you agree?

To relieve that issue we're going to bite the bullet and call either our next release or the one after 1.0. Afterwards we can newly decide on version numbers and I'll tell you one thing: I'm not going to go into the version number trap again. If at some point the next available version number is 2.0, then that's the way it is.

What this means for Localizers?

We have taken great care to avoid patches with string changes for the next release. Therefore as it is right now, if you have all strings translated for Lightning 1.0b5, then you are good to go for the next release.

According to the l10n dashboard, there are 13 locales with missing strings. This information is quite old so a lot may have changed in between, but it would be splendid if all of the remaining locales could have their strings translated. I will be contacting the localizers personally to make sure things progress

Update: Likely the l10n builds are not working yet. I'll also post here and in mozilla.dev.l10n when that is fixed!

What this means for you?

For you? Yes, for you! We need help testing Lightning to make sure there are no unpleasant surprises in the next two weeks. Now you'll surely want to know where to get a build compatible with Thunderbird 7.0 Betas. Unfortunately I must admit, this is not quite ready yet. Our goal is to automate the release process a bit more, otherwise at least a day of my time is taken just for producing a full set of release (candidate) builds. It may easily happen that a detail is forgotten, which will only make the process more painful.

So what to do in the meantime? Well you have two options. First of all you could test Thunderbird 8 Prerelease with Lightning 1.0b8pre. This may be a different Thunderbird version, but the Lightning code is the same between those versions.

Then we have the first set of test builds for Thunderbird 7 beta and Lightning 1.0b7. These builds might have their quirks since not all parts of release automation went well. Please stay tuned, I'll be posting an update when its advisable to move from testing with Thunderbird 8 to Thunderbird 7.

Conclusion

We need you now more than ever to make sure Lightning 1.0 is a success. This version will likely get more PR than the previous versions so it would be a pity if it weren't in good shape or needs to be skipped for an urgent fix. I'm counting on you!

July 27, 2011

Having trouble with 1.0b4? Try 1.0b5rc3!

Unfortunately, some major errors slipped through in 1.0b4. You might have noticed the alarm window disappearing and a lot of misplaced beeps from the alarm system. You might have also noticed, that some of your calendars are no longer working (specifically, webcal:// calendars).

To fix these issues we are releasing 1.0b5 in the next 1-2 days, which contains 10 bugfixes.

As another highlight, 1.0b5 will now be compatible with both Thunderbird 5 and Thunderbird 6 to ensure you can continue using Lightning without extra hassle. If you are using Thunderbird 6.0b1 it would be great if you could give these test builds a spin.

Update: Another issue slipped in, I've modified the packages to fix it. If you have already downloaded, please try the following links!

You can get the builds here. If you get a 404, its likely they have not been propagated to all mirrors yet, check back in a few hours.

If you are using the Provider for Google Calendar, I have marked the current version compatible with Thunderbird 6. You can get it as usual from addons.mozilla.org

Thank you for your support!

July 2, 2011

Lightning 1.0b4 has been released

I would like to announce the release of Lightning 1.0b4, which is now available via addons.mozilla.org.

Since our last release, we have fixed 140 bugs. Notable improvements for this release are:

  • Accept/Decline Events and Tasks directly via context menu
  • Improves CalDAV's webdav-sync robustness and scalability
  • Event creation is now possible via click and drag in the time scale, even with a full schedule
  • Reminder window is now sorted ascending, the most important alarms are at the top
  • When moving events in the day and week view, you can now use shift to move by single minutes instead of 15 minute intervals.
  • Some representation problems have been fixed
  • Some problems with events and calendar have been fixed
  • New design, especially for Vista/Win7 with Aero support

Lightning 1.0 beta 4 is available for Windows, Mac OS X and Linux in 37 different languages including English. Please read the release notes for Lightning 1.0 beta 4 before downloading.

As the release has been out since Tuesday, we have noticed that there is an issue with alarms and are working hard to fix this behavior. A new release will be ready in the next few weeks.

Thank you again to all our developers, contributors, localizers, testers, and supporters. You are an essential part of our success, so keep up the good work!

June 24, 2011

Lightning 1.0b4 Release Candidate 1 is available

The Thunderbird 5 release is just around the corner so its about time to provide a release candidate for the Lightning extension for calendaring. The upcoming version of Lightning will be called 1.0b4 and will be compatible with Thunderbird 5.

Unfortunately, this round of testing will be very very very short. Thunderbird 5 is slated for this Tuesday, the 28th and its critical that we have our release ready for this date. To compensate for the short period, we will be ready to spin another release if something major is broken, so if you are reading this after the release, please do file bugs as quick as possible if you find some.

Candidate builds for Lightning 1.0 beta4 in 36 languages are available as of now for:

A corresponding build of the Provider for Google Calendar is also available at those locations.

Note you will need Thunderbird 5 (or a beta thereof) to try it out. You are encouraged to back up your profile before upgrading. To install these builds in Thunderbird 5, please follow these steps:

  1. Download the build for your operating system to a folder on your hard disk.
    NOTE:Please make sure, that you right-click on the links above and choose "Save Link as...". Otherwise Firefox will try to install Lightning and you will get an error message like "Lightning 1.0b4 could not be installed because it is not compatible with Firefox."
  2. Open Thunderbird, then open its add-on manager via Tools --> Add-ons (or the corresponding entry in your language)
  3. Click on the Tools Icon, then select "Install Add-on from File..." and navigate to the lightning.xpi file that you just downloaded.
  4. Restart Thunderbird after the add-on installation has been performed. Voila!

Remember, testing is very important. The earlier errors are found, the faster we can react and possibly post another release on short notice.

Please tell us what you think of these candidate builds and file bugs in Bugzilla as you go. Thank you very much for your support, we couldn't do it without you!

March 11, 2011

Lightning Trunk Version Change

As you may have noticed if you are running a Thunderbird 3.3 alpha or nightly, Lightning has changed its version number from 1.1a1pre to 1.0b4pre. I'd like to take a moment and explain why we changed this and what effects it may have.

As mentioned on the Calendar Versions page, we need to follow the release cycle of Thunderbird. Users will (and have, in the past) massively complain if a new version of Thunderbird is released without a corresponding Lightning version. Although there is no final plan yet when Thunderbird 3.3 will be released, the ballpark figure is some time in April. This would mean we have something between 3 and 7 weeks to complete our next release.

If we continue our previous plan and release Lightning 1.0b3, which would work on Thunderbird 3.1 and 3.2, we would have just enough time to complete that release and would need a near to equal amount of time to prepare for a Thunderbird 3.3 compatible release. As you can imagine, this is not feasible.

Therefore we have decided to leave out 1.0b3 and concentrate on releasing 1.0b4, which will be compatible with Thunderbird 3.3.

For localizers, this means they will have to make sure l10n-central is correctly translated. Resulting l10n builds can be found here. Pike is working hard to make sure the l10n dashboard can keep up with our branch switching. As soon as he is done, we can officially announce string freeze and accept sign-offs. This of course doesn't mean you need to wait. We have checked in all bugs that require string changes, so go ahead and translate!

For Seamonkey, this means that Lightning 1.0b4 will support Seamonkey 2.1, which is currently in its beta phase.

In turn, we no longer have a need for 1.0b3pre nightly builds. This might be unfortunate for Thunderbird 3.1 users that want to stay up to date with the latest Lightning features. On the other hand, the list of bugs to be fixed for the next beta doesn't contain any more new features. We will concentrate on fixing bugs and regressions to make sure Lightning 1.0b4 doesn't cause any surprises for your daily work.

February 9, 2011

Lightning trunk is back on track!

For those of you using a Thunderbird 3.3 Alpha version or later, we have great news! I have finally managed to fix bug 591744, which was the last of the many bugs that had to be fixed to recover from the major changes to the mozilla-central platform.

If you would like to give it a try, you will need either a nightly or alpha version of Thunderbird, together with the nightly version of Lightning. You can get these using the following links:

Update: As noted in the comments below, the trunk versions of Lightning also work with the following beta versions of SeaMonkey:

* To avoid misunderstandings, even though it is named 1.1a1pre, this does not mean we have release 1.0 yet! Lightning on trunk (labeled 1.1a1pre) uses a different Mozilla platform than Lightning from the 1.9.2 branch (labeled 1.0b3pre). We have chosen differing version numbers to make that difference obvious.

January 24, 2011

Lightning Mac/Linux 64 bit nightlys are here!

After a fair amount of duplicates (19 as of now!), we finally have the hardware set up so we can provide Linux 64 bit nightlys on Trunk. On a related note, we now provide mixed x86/mac64 nightlys for the Mac OSX Platform, in turn we have dropped support for PowerPC.

After Thunderbird started providing nightly 64 bit builds it was time to follow. Unfortunately, our Mac builder was a G5 with a PowerPC processor, which doesn't support OSX 10.6. Thanks to Mozilla Messaging, we have now received a new mac and linux builder with 64 bit support.

Also I'd like to thank gozer from Mozilla Messaging for setting things up for us. Thanks to him, we now have the builders running comm-central (Thunderbird 3.3 Alpha compatible) builds.

You can get the new builds here, they are compatible with the current Thunderbird nightlys from comm-central:

If you are looking for Thunderbird 3.1.x compatible nightly builds, you can get them as usual from here.

December 5, 2010

Migrating the Lightning help documentation to the Mozilla Messaging Support Knowledge Base

In our last blog post we were asking for help with migrating all support documentation from the Mozilla Wiki to Mozilla Messaging's Knowledge Base.

Unfortunately the traffic in the #calendar-website channel was quite low, or in other words: we didn't get any help, so the migration process took us a bit longer than we've expected - but we're finally done! :-)

The calendar website team was checking, updating and migrating all articles and we're happy to announce that users who need help with Lightning can use the Mozilla Messaging Support KB!

You can view a list of all Lightning articles here.


--The calendar website team
(Tobbi, Jan, TMZ)

November 5, 2010

The growth of our download numbers and active users

About one month ago we shared our download numbers and we announced the majority of the lightning users are on Thunderbird 3.x. The numbers showed that roughly 75% of our users now used a Thunderbird 3.x. During the last month some things have changed: Even more users have downloaded lightning for Thunderbird and the number of users who use Thunderbird 3.1 has grown.

In this chart you can see that most users are still using Thunderbird 3.0, but the number of users who use Thunderbird 3.1 is steadily growing and it will lead very soon. The number of Lightning users on Thunderbird 3.1 has been growing very fast in the last two months, which shows that Lightning is a great add-on and people just love it as much as we do. While the number of Thunderbird 3.1 users is growing, the number of Thunderbird 3.0 users has literally collapsed, although the number of Thunderbird 2.0 users is going down very slowly.

Chart

In this chart you can see the active daily users of Lightning on Thunderbird. You can see, that the number is still growing, but in the last few weeks the number has been falling a little bit. Chart

That's all about Lightning - let us move on to Sunbird!

In this chart you can see the active daily Sunbird users. The average is still moving up, but earlier last month the number was moving down for some weeks. This chart explains itself pretty well, so let us move on again... Chart

Sometimes people are still using an outdated version of Sunbird. Although the development of Sunbird has stopped, you are still able to update Sunbird. Now, you may ask how much the daily growth of updates is. In this chart you can clearly see that the numbers are really random... Chart

So, let us finally compare the download growth of Lightning and Sunbird. You can clearly see that we got more Lightning users on Thunderbird than Sunbird users. While the number of Lightning users is still growing, Sunbird is almost dying. In the 35-day moving average you can see that the download number was rising for a short while, but suddently just dropped again. Chart

Now, what do these numbers mean for us, the calendar software and its future? To find this out, you need to have some different angles of view on the download numbers: The future of Lightning seems really good so far, while the future of Sunbird looks very dark. But what have we learned from this? Well, we learned lots of things, for example that some users don't want to use an application for mail and for calendar - they don't want to use more than one program, they want to use an add-on that brings the calendar-function to Thunderbird, an awesome mail client, while some users prefer using multiple applications. We also learned that people really like to have the latest version of software installed, although some people just want to stay on the old versions.

The future of our calendar software seems obvious, but even if you take a closer look at it you can't really predict what the numbers will look like...

October 11, 2010

Lightning 1.0b3 Release Planning

As you may have noticed, that blog posts are not as common as they were before. This doesn't mean that development has slowed down, but as you may remember, Simon has reduced his work on the project to an absolute minimum, due to job and real life restrictions.

Nevertheless, we are working as hard as we can to get the next release out of the door. If you are currently testing a 1.9.2 branch nightly (labeled as 1.0b3pre), you will not have noticed any improvements over 1.0b2 yet. Our current work has happened on comm-central (labeled 1.1a1pre, this is not the final version number though), which uses the latest version of the Mozilla Platform. Mozilla has done loads of changes to the platform with far-reaching consequences for the Calendar Project. We've decided to follow these issues to reduce the work needed later on.

We've also been working on lots of new features and bugfixes though and will be porting our fixes to the 1.9.2 branch very soon. If you'd like to see the list of fixes beforehand, check out this link.

We haven't decided on a firm release date yet, but our goal is to release 1.0b3 towards the end of the year. Currently, there are 22 bugs left to fix for the release. 6 of them are in review and I'm confident that we'll be able to fix the others soon.

But what can you do to help us towards the release? Yes, exactly! Testing! There is no way we can make a stable release without the help of our testing community. If you'd like to help out, you have two options:

  • Testing for adventurers: You're up for a challenge? You make regular backups of your calendar data? Then this is for you! You'll need the latest nightly of Thunderbird from comm-central, together with the latest nightly of Lightning from comm-central. Be sure to create a full backup of your Profile.
  • Testing with some safety ropes: You'd like some safety? Maybe you don't want to upgrade your Thunderbird just yet? Thats fine too, but you'll have to bear with us! Use your stock Thunderbird 3.1 together with a nightly version of Lightning from comm-1.9.2. Currently, this version doesn't bring much advantage over the 1.0b2 release, but we will soon be porting patches so that you can take advantage of the new fixes. Note you should be backing up your profile in this case too, but its a lot less likely that something will break.

In any case, be sure to check out the Lightning Nightly Updater Extension to make sure you're getting the newest testing version(s) on a daily basis

.

Thank you for your help and remember: We can't do it without you!

September 2, 2010

Lightning on the Shiny new Try Server

After reading about Thunderbird getting a new Try Server, I thought it would be nice if the same would be possible for Lightning. After just a few failed builds, I successfully built Lightning using the Try Server and had a lightning.xpi uploaded to the right target directory.

If you want to try this on your own, you need a hg account and this patch file. Note also that you should be using mercurial queues. This not only makes managing multiple patches easier, it also makes using the Try Server a piece of cake.

  1. Set up your ~/.hgrc. This is not strictly needed, but makes life easier. Add the following lines:
    [alias]
    push-to-try = push -f ssh://hg.mozilla.org/try-comm-central
    This will allow you to simply start a try build by calling hg push-to-try
  2. Get the calendar tryserver patch and import it into your mercurial queue.
    hg qimport -n tryserver-calendar.diff https://bugzilla.mozilla.org/attachment.cgi?id=471566
  3. Apply (with hg qpush) any amount of patches that you'd like to test.
  4. Call hg push-to-try (yes, with all those patches applied to your tree!)

Thats all! If you want to watch your progress, see the Thunderbird Try Tinderbox. You will get email when your builds have completed, together with a link to the ready built lightning.xpi. Thunderbird files will not be uploaded.

For more information on the Tryserver, especially on how to exclude certain platforms or provide extra mozconfig options, please read the Thunderbird TryServer Guide or the Firefox TryServer Guide.

How are Lightning users doing in terms of Thunderbird usage

Six month ago, I shared our usage statistics for Lightning with you, which showed that Lightning users on Thunderbird 3.x had surpassed Lightning users on Thunderbird 2.x for the first time.

Now it's time to look at things again and I'm happy to report, that as of yesterday roughly 75% of our users now use a Thunderbird 3.x build as can be seen in the chart below.

It's also important to note that nearly 60% are already using the latest Thunderbird 3.1.x builds, while users of the old Thunderbird 3.0.x series are decreasing fast. This is mostly due to the major update offers of Mozilla Messaging for users of Thunderbird 3.0.x.

Major update offers have recently (last week) also started for users of Thunderbird 2.x, but haven't really been unthrottled yet (throttling means, that currently only 1 in 5 users of TB2 gets a major update offer to Thunderbird 3.1.x). Once major update offers go out to every TB2 user, we expect their numbers to decrease much more heavily. The current state of things (showing the last six months) can be seen in the chart below:

As frequently noted in earlier articles, the ratio of Thunderbird 3.0.x and TB 3.1.x users is much higher on the weekends compared to the Thunderbird 2 users. The graphs show that very well.

For those interested: The "other" number contains users on older Thunderbird 1.5.x builds, SeaMonkey users and users, who have mistakenly tried to install Lightning into Firefox. Generally that number always fluctuates between 0.35% and 0.5% of our total active users.

I hope that you will find this as interesting as I do.

June 24, 2010

Lightning 1.0 Beta 2 Finally Released

The Calendar Project is proud to report, that (finally) the 1.0 beta2 release of Lightning has been completed and is now available via addons.mozilla.org.

About 6 months after 1.0b1, we have managed to complete 86 further bugfixes and improvements for the benefit of our users. Notable improvements for this release are:

  • You can now print out your tasks
  • Improved calendar view navigation, performance improved
  • Better error handling when adding or subscribing to calendars
  • Allow setting different start and end timezones for events and tasks
  • CalDAV support and interoperability with various CalDAV servers have been improved
  • Performance improvement and reduced network load when accessing certain CalDAV servers (webdav-sync specification)
  • The application stability, performance and memory consumption have been improved

Lightning 1.0 beta2 is available for Windows, Mac OS X (universal builds) and Linux in 35 different languages including English. Please read the release notes for Lightning 1.0 beta2 before downloading.

Thank you again to all our developers, contributors, localizers, testers, and supporters. We would not be able to do this without your assistance!

June 20, 2010

Lightning 1.0 Beta 2 Release Candidate 3 is available

This new release candidate contains fixes for a few locales, no further code changes. Since the Thunderbird 3.1 release is scheduled for this week, I assume this will be the final release candidate.

Candidate builds for Lightning 1.0 beta2 in 33 languages are available as of now for:

A corresponding build of the Provider for Google Calendar is also available at those locations and will be uploaded to addons.mozilla.org once the release cycle completes.

For install instructions, please see one of the earlier blog posts.

Please tell us what you think of these candidate builds and file bugs in Bugzilla as you go. The release is near, and we are glad we can finally concentrate on the next one!

June 17, 2010

Lightning 1.0 Beta 2 and Compatibility

A few people have asked me different compatibility questions around Lightning 1.0b2. I'd like to take a moment and tell you about what applications Lightning 1.0b2 will support.

What version(s) of Thunderbird will Lightning 1.0b2 support?
This version of Lightning will only support Thunderbird 3.1. To go a bit more into the technical details, Lightning 1.0b2 and Thunderbird 3.1 use the Mozilla Platform version 1.9.2. The previous versions (Lightning 1.0b1 / Thunderbird 3.0.x) use the Mozilla Platform version 1.9.1. Therefore we cannot provide a version of Lightning that is compatible with Thunderbird 3.0.x

Will Lightning 1.0b2 support Seamonkey?
As you can see in this blog post, Seamonkey does not support the Mozilla Platform version 1.9.2. Therefore, Lightning 1.0b2 cannot support Seamonkey 2.0 or 2.1. Note however, the next version of Lightning will most likely use the Mozilla 1.9.3 Platform, which means the next release (due in about 4 months) will be compatible with Seamonkey 2.1. Until then you can still use Lightning 1.0b1 together with Seamonkey 2.0.x.

Which version of the Provider for Google Calendar should I use?
Together with Lightning 1.0b2, I will release a new version of the Provider for Google Calendar. This version will be called 0.7 and will be available on addons.mozilla.org together with Lightning.

Why don't you use the latest Mozilla platform, verion 1.9.3?
The 1.9.3 platform contains the newest features and bugfixes to date, but this also means that some Mozilla components we use, as well as some UI features, have changed and require us to adapt our code. Changes in the platform can happen every day, which means it doesn't make sense to rely on it for a release. Just imagine something big changes between now and next week: this would postpone the release indefinitely, which is obviously bad. Another factor is that the newer platform has binary components that have a different interface. If we build Lightning with Mozilla 1.9.3, it won't be compatible with a Thunderbird on the Mozilla 1.9.2 platform. It makes sense to use the same Mozilla platform version that Thunderbird does, this causes the least amount of headaches.

Why are you releasing betas, and not 1.0 final?
There is a certain level of stability that people expect from such a major release such as 1.0. We have decided on a certain set of bugs that we think should be fixed before 1.0 final is released. Back when we released 1.0b1, we had a few possibilities on what we should name it. There was 0.10 (as in 0.8, 0.9, 0.10, ...), but people could think this is similarly mature as 0.1 was. There was 0.9.5, but we wanted to make clear that the Mozilla platform used has a different minor version (1.8.x vs 1.9.x). So we ended up with 1.0b1. Now we have no other choice than to continue with betas until we've fixed all the bugs we think make sense for 1.0 final.

I hope this gives a bit of insight, if you have any further questions, please comment!

June 15, 2010

Lightning 1.0 Beta 2 Release Candidate 2 is available

With some delay, we are happy to announce Lightning 1.0b2 release candidate 2. With this release we've mainly fixed bug bug 570464, but also made sure we were using the right localization files.

Please re-test if Lightning works in your language! Back with rc1, I accidentally used the newest version of the localization files, but not the version that the localizers suggested. I did notice some further change to the localization files, so it would be great if you could double check.

Candidate builds for Lightning 1.0 beta2 in 33 languages are available as of now for:

A corresponding build of the Provider for Google Calendar is also available at those locations.

Note you will need Thunderbird 3.1 (or a release candidate thereof) to try it out. You are encouraged to back up your profile before upgrading. To install these builds in Thunderbird 3.1, please follow these steps:

  1. Download the build for your operating system to a folder on your hard disk.
    NOTE:Please make sure, that you right-click on the links above and choose "Save Link as...". Otherwise Firefox will try to install Lightning and you will get an error message like "Lightning 1.0b2 could not be installed because it is not compatible with Firefox."
  2. Open Thunderbird, then open its add-on manager via Tools --> Add-ons (or the corresponding entry in your language)
  3. Click on the "Install..." button on the lower left and navigate for the lightning.xpi file that you just downloaded.
  4. Restart Thunderbird after the add-on installation has been performed. Voila!

We will be releasing the final version of Lightning together with Thunderbird 3.1. There is not much time left before this release, so I encourage you to do the testing rather sooner than later.

Please tell us what you think of these candidate builds and file bugs in Bugzilla as you go. We are really looking forward to this release, I hope you are too!

June 7, 2010

Lightning 1.0 Beta 2 will have a second release candidate

Due to (at least) bug 570394 and bug 570464, we need to respin for rc2. This will happen quite soon (in the next few days), since we need to keep up with the release dates for Thunderbird 3.1.

If you are a localizer and would like to do any further changes for 1.0b2, please file a bug and contact me as soon as possible.

June 3, 2010

Lightning 1.0 Beta 2 Release Candidate 1 is available

This time around, we had a lot less trouble then last time when preparing 1.0b2 release candidate 1. The most trouble this time was again release automation. We managed to work around the issues by producing manual builds on the same machines as our usual releases are built on.

Candidate builds for Lightning 1.0 beta2 in 32 languages are available as of now for:

A corresponding build of the Provider for Google Calendar is also available at those locations.

Note you will need Thunderbird 3.1 (or a release candidate thereof) to try it out. You are encouraged to back up your profile before upgrading. To install these builds in Thunderbird 3.1, please follow these steps:

  1. Download the build for your operating system to a folder on your hard disk.
    NOTE:Please make sure, that you right-click on the links above and choose "Save Link as...". Otherwise Firefox will try to install Lightning and you will get an error message like "Lightning 1.0b2 could not be installed because it is not compatible with Firefox."
  2. Open Thunderbird, then open its add-on manager via Tools --> Add-ons (or the corresponding entry in your language)
  3. Click on the "Install..." button on the lower left and navigate for the lightning.xpi file that you just downloaded.
  4. Restart Thunderbird after the add-on installation has been performed. Voila!

The candidate builds will be available for testing for up to 2 weeks. We want to release the final Lightning 1.0b2 together with Thunderbird 3.1, so we may choose to shorten this period by a few days.

Please tell us what you think of these candidate builds and file bugs in Bugzilla as you go. Thank you very much for your support, we couldn't do it without you!

Update: Windows link fixed, thanks for the note!

May 20, 2010

[Reminder] Localization sign-off deadline for Lightning 1.0 beta2 is on May 24

As announced nine days ago, the sign-off deadline for Lightning 1.0 beta2, the Lightning release that will accompany Thunderbird 3.1 is on May 24th at 23:59 pacific time.

Right now the picture looks like this:

  • 22 locales have already signed-off
  • 7 locales are green on the dashboard but have not yet signed off for their locale
  • 1 locale is orange on the dashboard indicating that some obsolete strings still need to be removed or commented out
  • Of the remaining 14 locales, many have only a limited amount of missing strings to catch-up. So it would be great if those locales could still join us

I will contact every locale that has not yet signed off their locale individually as well, so that everyone is aware of the current status.

May 11, 2010

@Localizers: Please sign-in for Lightning 1.0 beta2

As announced by Philipp two days ago the strings for the next Lightning release (1.0 beta2) have been frozen and you can now start to sign-in for this release.

We will be accepting sign-in requests until May 24 @ 23:59 pacific day time, so you have a little less than two weeks time to get your locale in shape.

Lightning 1.0 beta2 localizations will be taken from the l10n-1.9.2 repositories, so please work from there.

If you have any questions, feel free to ask them in the mozilla l10n newsgroup or send me an e-mail.

May 8, 2010

String Freeze for Lightning 1.0b2 Release Today

I want to make those of you, who are actively translating Lightning aware, that we are now ready to freeze our strings for the approaching 1.0b2 release.

After the string freeze we are currently planning for two and a half additional weeks before we try to release our first release candidate on May 25th. We would really appreciate it if you could have your locales in shape for the first RC, as I do hope we will only need one release candidate. Please also note that we have to stay in sync with the Thunderbird schedule, so we might have to prepone our rc1 release to an earlier date.

That gives you 2-3 weeks to get your localizations in shape.

The 1.0b2 release will come from the comm-1.9.2 release branch, which means you should commit your work to the l10n-mozilla-1.9.2 repositories. If any of you will not be able to keep his or her locale updated for the 1.0b2 release, please let me know beforehand.

I am aware that we still don't have bug 346278 fixed, I am really sorry this is still the case. If rc1 is released and you notice any localization problems, please do let me know as quickly as possible so I can coordinate a second release candidate. I do hope to fix this bug in the next two weeks though!

Please let Simon Paquet or me know if any of you wants to join us for 1.0b2.

If you have any questions, please do not hesitate to ask them here

Thanks,
Philipp

Update: It seems the calendar10x dashboard is not correctly updated. Please use the latest version of the dashboard to find out how many strings are missing!

March 22, 2010

[March 22, 2010] Lightning Status Update

As we're moving closer towards our next release, Lightning 1.0 beta2, it's time to talk more about our recent accomplishments and bugfixes. We've been pretty active in the last six weeks and over 40 bugfixes have made it into our code repository.

Overall we have fixed an impressive 43 bugs since February 8. Here's the complete list of fixed bugs:

  • Bug 349996: Multiselection should be enabled to remove more than one category
  • Bug 351321: Italic and bold font for high and low priority
  • Bug 359016: JS error 'this.currentItem has no properties' in calItemBase propertyEnumerator
  • Bug 392737: Event dialog: No 'save and close' function in the new event file menu
  • Bug 395287: Event dialog: Cannot enable timezone option for ending time
  • Bug 405439: Recurring task -> repeating rule shows wrong start/end time
  • Bug 413296: Leaking object on window-close
  • Bug 416614: Doesn't show completely an alarm when need to slide to select it
  • Bug 455232: Query for supported-calendar-component-set in case servers don't support tasks/events
  • Bug 460030: Get rid of resize handler, use flex to draw view columns
  • Bug 465317: Today and Navigation Buttons need to be polished
  • Bug 476227: Drop shadow for multiday events has incorrect length
  • Bug 490169: Should be an easily-accessible option to fire an alarm "on time"
  • Bug 490303: Invites aren't sent when using Sun Calendar Server and the meeting arranger is wrong
  • Bug 491254: Some languages need weekdays in plural form for some sentences in Recurrence Summary
  • Bug 498690: Support for webdav-sync spec
  • Bug 500283: Keyset in event-edit-dialog should be localizable
  • Bug 510930: Titlebar text is wrong when switch between Month/Multiweek
  • Bug 515643: Lightning messes up Thunderbird's File->New submenu
  • Bug 519225: Shared calendar still shows events deleted by other calendar participants
  • Bug 525430: Task view doesn't show the attachments for selected tasks
  • Bug 529813: Invite Attendees dialog: icons are messed up in case of missing participation role
  • Bug 533414: Drag shadow of events that span multiple days, doesn't show the position of the whole event
  • Bug 534045: Invite Attendees dialog: icons are messed up in case of participation role NON-PARTICIPANT
  • Bug 538589: Remove button removes the reminder following the selected one in the list
  • Bug 538873: CalDAV: Cannot Delete Event
  • Bug 539512: Font Color changes with Persona's Skins
  • Bug 539681: Puerto Rico Holidays
  • Bug 542210: Lightning does not update Sun Calendar
  • Bug 543698: Moved occurrences of repeating all-day events are displayed on new and original date
  • Bug 543744: Add calendar name to event tooltip information
  • Bug 544082: Update failing Mozmill tests
  • Bug 544682: Months should be viewed with different color to avoid confusion
  • Bug 544842: Nothing appears as "checked" when submenus "Progress" & "Priority" are opened
  • Bug 544858: Adjust Lightning version for GData provider on mozilla-1.9.2/mozilla-central
  • Bug 546300: Octal Numeric Constants are deprecated
  • Bug 546943: Don't display drop shadows when dragging back to original date
  • Bug 550291: AsyncPromptAuth method is not implemented in calAuthUtils.jsm
  • Bug 550789: Update links for Lightning nightly builds
  • Bug 551147: Remove obsolete lightning/nightly/latest-comm-1.9.1 folder from ftp server
  • Bug 551231: Make xpcshell-based unit tests pass in JavaScript strict mode
  • Bug 552042: Calendar registry not written after creating/deleting calendar
  • Bug 552303: Errors while threading disabled

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

March 19, 2010

Reducing the Calendar bug count

We (mostly our lead developer Philipp) have done some heavy lifting with our bug database in recent days. During the last month, we waded through hundreds of bug reports (some of those being several years old) to see whether those bugs had been fixed by all the work that we've put into Lightning 1.0 beta1.

The result of this exercise was a reduction of our total open bug count by nearly 18% or in absolute terms, we've reduced the number of open bugs by 276 from 1552 to 1276. This chart illustrates our total open bug count from the start of 2010 until mid-March:

It's important to note that not every bug in our database is a real program error. Our bug list also contains lot of enhancement request, project management issues and enhancement requests. Basically everything that comes up in our project that needs to be tracked somehow is entered in our bug database, so that it can be easily tracked.

March 5, 2010

How to solve incompatibility problems when upgrading to Thunderbird 3.0.3

Some of our users currently seem to experience problems with Lightning becoming incompatible when they update their Thunderbird installation to the 3.0.3 release.

The reason for this seems to lie in the fact that those users use a Lightning nightly build and update it on a daily basis with the Lightning Nightly Updater add-on or manually update to the latest available nightly build. But because we moved our Lightning nightly builds to only support the current Thunderbird 3.1 development builds, as reported earlier, this leads to the incompatibility.

The solution is simple though:
Just uninstall your current nightly build and install the Lightning 1.0 beta1 release. This release is identical to the latest available Lightning nightly builds for Thunderbird 3, but fully compatible with the Thunderbird 3 release. And to be on the safe side: Please backup your profile folder, before doing this!

March 4, 2010

Lightning users on Thunderbird are in the majority for the first time

Three weeks ago, I shared some usage statistics for Lightning with you.

One of the things that I looked at then was the adoption of Thunderbird among Lightning users. Back then Thunderbird 3 users were still lagging behind, but now I can report that on the last weekend, the ratio of Lightning users on Thunderbird 3 was higher than the ratio of Thunderbird 2 users for the first time. Here's the graph showing the steady increase of Thunderbird 3 usage since November 25th in 2009, when the first release candidate for Thunderbird 3 was released.

As already noted in the earlier article, the ratio of Thunderbird 3 users is much higher on the weekends compared to the Thunderbird 2 users. But even during the workweek we're catching up pretty fast, even faster than on the weekends.

Interested observers will notice that the graph in this post and the earlier graph differ slightly. The reason is that in the current chart I've also incorporated the numbers of pre-release versions, like 3.0 beta3 or 2.0.0.24pre.

And if someone is asking himself why I only list Thunderbird 3 and Thunderbird 2 ratios here, the answer is that all other versions, e.g. users of Thunderbird 3.1 nightly builds, Thunderbird 1.5 users, SeaMonkey users and people that installed Lightning into Firefox all taken together account for not more than 0.5% of our total active daily users.

I hope that you will find this as interesting as I do.

February 16, 2010

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!

Philipp

February 11, 2010

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.

February 8, 2010

[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.

February 7, 2010

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.

January 21, 2010

Lightning 1.0 beta1 users - Please upgrade to Thunderbird 3.0.1

Yesterday, Mozilla Messaging released Thunderbird 3.0.1, its first security, stability and maintenance release after the initial Thunderbird 3 release.

While it's always a good idea to quickly update to such a maintenance release for security reasons, this release also contains one important fix for Lightning users, who like to use Lightning in combination with other popular Thunderbird extensions (Enigmail, Quick Folders, Buttons!, etc.). Without this fix, some of our users were affected by bug 398702, which caused the File, Edit and View menus to disappear.

This bug has now been fixed in Thunderbird 3.0.1, which is why we recommend this update to all our users of Lightning 1.0 beta1.

January 15, 2010

Statement on the recent Lightning 1.0 beta1 release

There seems to be some doubt in our community regarding the status of the recent Lightning 1.0 beta1 release in our release hierarchy.

So let me unequivocally state for the entire Calendar developers team:

  • We (the Calendar developers) consider Lightning 1.0 beta to be the best Lightning release, that has been released to the public so far.
  • We consider Lightning 1.0 beta1 to be the stable release built for users of Thunderbird 3 and SeaMonkey 2.
  • It contains numerous bugfixes and improvements (nearly 500) over the 16-month-old 0.9 release, that improve the add-on's stability, performance and memory consumption.
  • We encourage everyone to update to this release from Lightning 0.9 or earlier Lightning releases.
  • We are not planning to release any updates to Lightning 0.9 users, that want to remain on Thunderbird 2. Thunderbird 3 is the future as far as we are concerned.

January 13, 2010

More news on the Lightning 1.0 beta1 update

The two most asked questions regarding the new Lightning release so far were:

  • Where is the x86-64 build for Linux?
  • Is there also an update available of the Provider for Google Calendar (GDATA) add-on?

I'm happy to report that both issues could be resolved successfully:

Our thanks go to the Calendar lead developer, Philipp Kewisch, who provided the x86-64 build and who maintains the GDATA add-on. Great work, Philipp!

January 12, 2010

Lightning 1.0 beta1 now available for download

The Calendar Project is proud to report, that (finally) the 1.0 beta1 release of Lightning has been completed and is now available via AMO.

Nearly 16 months after the 0.9, this release is more than overdue and we're more than happy to get the nearly 500 bugfixes and improvements into the hands of our users. Notable improvements of this release are:

  • Seamless integration into the new Thunderbird 3.0 user interface
  • The different modes (calendar view, task view) are now displayed in tabs
  • Lightning now supports SeaMonkey 2.0 as a host application
  • You can now define multiple alarms for a single event
  • CalDAV support and interoperability with various CalDAV servers have been improved
  • The application stability, performance and memory consumption have been improved
  • Estonian, Frisian, Galician, Hebrew, Indonesian, Punjabi, Sinhala, Tamil, Turkish and Vietnamese were added as new languages. Unfortunately no builds in Traditional Chinese, Slovenian, Swedish or Ukrainian are available for 1.0 beta1

Lightning 1.0 beta1 is available for Windows, Mac OS X (universal builds) and Linux in 37 different languages including English. Please read the release notes for Lightning 1.0 beta1 before downloading.

Thank you again to all our developers, contributors, localizers, testers, and supporters. We would not be able to do this without your assistance!

December 21, 2009

Questions and answers for the Lightning 1.0 beta1 release candidate

Since my announcement, that we've released a first release candidate of Lightning 1.0 beta1, there have been a few questions here in the comments, which I'd like to address:

  • I am getting this error when trying to install Lightning: "Lightning 1.0b1 could not be installed because it is not compatible with Firefox 3.5.6." What's wrong?
    This happens when you just click on the link to the Lightning add-on file in the announcement post in Firefox. Firefox is unable to distinguish between add-ons designed for Firefox and add-ons designed for other Mozilla applications. Please make sure, that you right-click on the link to the add-on file and choose "Save Link as...". After that follow step 2-4 in the announcement post.

  • The Google Calendar Provider add-on from the links in the announcement post gives the following error message: "0.6b1 requires additional items". What's wrong?
    This is a known bug and will be fixed shortly.

  • Are 64bit builds for Linux available?
    Not yet, but our lead developer Philipp Kewisch is in the process of creating them and will post an announcement here on the blog once he's finished.

  • Does the lightning-all.xpi file contain all localizations, and does the lightning.xpi in the en-US folder contain only the English strings?
    Yes.

  • Will this release candidate build automatically update itself to the final version of Lightning 1.0 beta1?
    No. Once Lightning 1.0 beta1 is released in its final form, we will make it available on addons.mozilla.org. You will need to download it again then.

  • I have an error "An error was encountered preparing the calendar located at moz-profile-calendar:// for use. It will not be available." I cannot create events or tasks. What can I do to fix this?
    Please take a look at this blog post here.

  • There's no release candidate for Sunbird yet. When will that be available?
    As said in the earlier post we are having problems with our Sunbird build machines. Once those are fixed, we will make a release candidate for Sunbird available.

I hope that answers most of your questions.

December 20, 2009

Lightning 1.0beta1 release candidate is available

After all the trouble that we went through to prepare the Lightning and Sunbird builds for 1.0 beta1 (see Philipp's posts here and here, we have finally succeeded (at least on the Lightning front).

Candidate builds for Lightning 1.0 beta1 in 37 languages are available as of now for:

A corresponding build of the Google Calendar Provider is also available at those locations.

To install these builds in Thunderbird 3, please follow these steps:

  1. Download the build for your operating system to a folder on your hard disk
    UPDATE: Please make sure, that you right-click on the links above and choose "Save Link as...". Otherwise Firefox will try to install Lightning and you will get an error message like "Lightning 1.0b1 could not be installed because it is not compatible with Firefox."
  2. Open Thunderbird, then open its add-on manager via Tools --> Add-ons (or the corresponding entry in your language)
  3. Click on the "Install..." button on the lower left and navigate for the lightning.xpi file that you just downloaded.
  4. Restart Thunderbird after the add-on installation has been performed. Voila!

What is missing right now are two things:

  • Linux builds for the x86-64 platform. We need someone from the community to provide those to us. Please contact our lead developer Philipp Kewisch (contact details are available here) if you can help out.
  • Sunbird builds. We still have problems with those but hope tho have those fixed before Christmas. Watch this space for more information.

Please tell us what you think of these candidate builds and file bugs in Bugzilla as you go.

December 13, 2009

Release Status - Lightning for Thunderbird 3

I'd like to give you guys another update of how our release process is going, especially since Thunderbird 3.0 is now released and we are not ready yet. To take the interesting details up front, I believe we will be able to release rc1 before Christmas. If no urgent issues show up, we will be able to release the 1.0b1 final for or shortly after Christmas. This release will be compatible with Thunderbird 3.0.

From the product point of view, we are ready. We have all the patches in that we think should belong in 1.0b1rc1. Therefore, the nightly builds should be of the same quality that the release candidate 1 will be.

If you cannot do without Thunderbird 3 and are brave enough to try pre-release grade builds, I'd suggest to take a look at our nightly builds. Be sure to do backups first though! Otherwise please bear with us until we have the beta released and stay with Thunderbird 2 in the meanwhile.

From the release engineering point of view, we are constantly running into Problems. I believe the biggest and most unsolvable problem is that I am in a different timezone than Mozilla Messaging's release engineering, which means there is only a small timeframe where we can communicate about build issues. All other problems are at least solvable, but need some time to identify and find a solution for. Each attempt for building the release candidate has a build number. Let me summarize what happened during our builds:

pre-build1:
Various problems before we could start building, including but not limited to missing access and l10n problems.
build1/build2:
Build system problems caused first mac/win32 to fail, then linux/mac to fail, and so on. The reason was that a script only used for calendar was called with the wrong path, but only in the rare case that the build is called with the packaging target needed for the release.
build3:
We noticed, that Thunderbird 3.0 has some storage changes that are not on the normal 1.9.1 branches, so we needed to make sure the calendar release branch is based off of the Thunderbird 3.0 release branch.
build4:
Lightning version number was incorrect, the version bump script doesn't take care of install.rdf changes
buld5:
Mac's lightning.xpi is not universal, which means we need to respin. Also checked in some last minute caldav and wcap patches we probably would have taken for rc2 anyway.
build6:
Normal Sunbird builds succeeded, localization repack failed. I hope gozer knows why this is happening and can tell us tomorrow.

Another "problem" is that gozer needs to trigger and upload the Lightning builds manually, which also takes extra time once for each build. I do hope we can finish off the last problems soon. I'd like to again note that next time around this process will be much shorter. We don't need to fix the small build system issues, all we need to do is update the release config and trigger a build.

December 3, 2009

1.0 Beta 1 Progress

We are working hard on getting the first release candidate for Sunbird and Lightning 1.0 Beta 1 out and since our nightly testers have surely noticed that the latest nightlies have been named "1.0b1pre" I wanted to give a short update.

We have been working on releasing the beta since last Wednesday. To make releasing easier, we have decided to make use of the Thunderbird release automation scripts. This is also the reason the version number changed to 1.0b1pre. Since the directory structure of Calendar is a bit different to what Thunderbird and Firefox use, we had some complications that need to be mangled out first. Unfortunately, building is a lengthy process (it takes a while until we are able to find out what went wrong) and Mozilla Messaging's Release Engineering is in a different timezone (6 hours difference), things are taking a bit longer than I anticipated.

Nevertheless, I am confident that we will be able to publish our release candidate in the next week, and depending on if we find further blocking issues or not, release 1.0 Beta 1 in the next 2-3 weeks. Also, for the next release the process should be much quicker since we've now had the time to take care of the one-time issues (missing access, minor bugs in our build system, etc.)

Update: Linux and Windows builds of RC1 have succeeded! The fix for Mac is on its way, we now just need to take care of some branching issues and let the Mac box build.

November 24, 2009

[November 24, 2009] Lightning/Sunbird Status Update

Finally another status update. We're down to zero (0) blockers for our upcoming beta release. It's taken us some time to prepare all the necessary release bits for various reasons:

  • We've decided to pull bug 529326 into this release, because we hope that it will significantly improve the performance for all our users, that use the local (storage) calendar. That bug was fixed today.
  • We've started our outreach into the localizer community to get everyone onboard
  • Our lead developer Philipp basically has to learn all the stuff that's needed for a release from the release engineering side on-the-fly. In the past we always had a dedicated release engineer who did this for us.

So please be patient and bear with us. The release is coming :-)

Since the last status update seven weeks ago, a number of bugs were fixed. Here's the list of the 35 bugs that were fixed since the last status update:

  • Bug 298097: Rename calIRecurrenceRule endDate to untilDate
  • Bug 350845: Implement relevant parameter methods (enumerate, exists, set)
  • Bug 367359: Attendees Dialog: Zoom buttons don't work
  • Bug 392194: Incorrect time and shadow is shown when draging an event in week/day view
  • Bug 392734: Event dialog: start/end time get lost if 'all day event' is ticked/de-ticked once
  • Bug 411540: No dialog asking to save event if mouse is used to quit Calendar
  • Bug 413799: Thailand Holidays 2009-2011
  • Bug 413847: Timezone preference changes require restart to take effect
  • Bug 466938: Strange dump statements
  • Bug 468846: Recurring all day event -> duplicate event created after editing a single all day event
  • Bug 470430: Upgrade 0.3.1 to 0.9/1.0pre fails
  • Bug 484089: Google Calendar fails in Shredder 3.0b3pre if a master password is set
  • Bug 493304: Scrolling more than necessary to bottom needs hidden upscroll until pane scrolls again
  • Bug 494140: Multiple reminders,relations,attachments created by modifying repeating event
  • Bug 504029: installer has to consider new mozjs.dll for mozilla-central
  • Bug 512436: Unconditional removal of 'disabled' state
  • Bug 517700: Lightning Categories Pref pane not showing any categories
  • Bug 517757: Small calendar-statusbar.js cleanup
  • Bug 517805: Move printDialog to calendar/base/content
  • Bug 517979: Links for contributed Lightning 0.9 builds are broken
  • Bug 518865: Calendar Properties item missing from the SeaMonkey Edit menu
  • Bug 521815: Fix a few provider warnings
  • Bug 522125: List all tabs dropdown is empty with Lightning installed
  • Bug 523621: Update internal timezone database to version 2009p
  • Bug 523943: Timezones Definitions needs SeaMonkey minimum correcting
  • Bug 523987: Dismissing alarms doesn't work with Provider for Google Calendar
  • Bug 526172: Rename communicator-overlay-preferences.xul
  • Bug 526264: 'No timezones found' error during startup, calendars not visible
  • Bug 527057: Port bug 519357 - Only load known binary components from app directory to comm-central
  • Bug 527065: Create Lightning build servers for comm-central/mozilla-central repo
  • Bug 528506: In SeaMonkey Account Central pane, the "create new calendar" icon is misaligned
  • Bug 528540: Adjust version numbers to distinguish builds from comm-1.9.1/comm-central
  • Bug 528788: Feed the crowds, fix Calendar breadcrumbs
  • Bug 529326: Create indexes for the local calendar cache
  • Bug 529945: Build problems on Linux and W32

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

November 3, 2009

1.0 beta 1 is One Step Closer!

Finally! Since July, we have been working on bug 470430. After lots of testing, reviewing and frustration, we have finally checked in the bug's patch. This bug is of quite central importance since we want to make sure that calendar data is not broken on an upgrade between versions, which was sometimes the case.

I would appreciate if everyone could take a look at the current nightlys to see if anything fails. Especially if you have an old profile (i.e from Sunbird/Lightning 0.8 or earlier) around, it would be nice to find out if upgrading from that profile works flawlessly.

If you have ever used Sunbird, please also check if you have the following directory:

  • Windows Vista: C:\Users\<your username>\AppData\Roaming\Mozilla\Extensions\{718e30fb-e89b-41dd-9da7-e25a45638b28}\calendar-timezones@mozilla.org
  • Windows XP or earlier: C:\Documents and Settings\<your username>\Application Data\Mozilla\Extensions\{718e30fb-e89b-41dd-9da7-e25a45638b28}\calendar-timezones@mozilla.org
  • Linux: ~/.mozilla/extensions/{718e30fb-e89b-41dd-9da7-e25a45638b28}/calendar-timezones@mozilla.org
  • MacOS: ~/Library/Mozilla/Extensions/{718e30fb-e89b-41dd-9da7-e25a45638b28}/calendar-timezones@mozilla.org

If you do have this directory and it is empty, please report on bug 470430. Having it causes the upgrade process to fail, since the timezones files can not be found. My hopes are that this directory was created in error due to something in the development build process.

Now all we have left for our beta release is bug 494140, which will hopefully make it into the tree a bit sooner. Also, some locales need a few more strings. When all that is taken care of, then we can finally bring out release candidates for this beta release!

I'm looking forward to hearing from you and am excited that the beta is now one giant step closer.

UPDATE: We had a small regression, bug 526264. Upgrading from an older profile should work again after tomorrow's nightlys.

October 3, 2009

[October 03, 2009] Lightning/Sunbird Status Update

Ok, I have seen all the comments declaring the project is dead. Let me just say that rumours about our death are slightly exaggerated. Over the last six weeks we have fixed 31 bugs, which are listed below.

  • Bug 351321: Italic and bold font for high and low priority
  • Bug 397888: Get rid of anonymous functions
  • Bug 401032: Would be nice to be able to view calendar in a separate toplevel window
  • Bug 413387: Today-pane is broken in SeaMonkey+Lightning
  • Bug 443752: Dialog specific files should be moved into /calendar/base/content/dialogs/
  • Bug 461744: Missing icon on minimonth dropdown button in miniday in today pane
  • Bug 466288: Make use of type="number" for textboxes representing integer preferences
  • Bug 466439: calIRelation/calIAttachment need proper cloning facility
  • Bug 482131: UTF-8 encoded invitation subject not displayed correctly
  • Bug 485890: Splitter styles vary. Splitter between mini-month and calendar view is too narrow.
  • Bug 494783: Switching view range or editing events doesn't update view content and displayed events
  • Bug 500244: Update internal timezone database to version 2009l
  • Bug 502337: Menu "View > Today Pane" always disabled in Mail tab, Today Pane can't be configured
  • Bug 506322: Today pane collapse/expand buttons should always react to first click
  • Bug 507215: Creating repeating event/task fails
  • Bug 507432: Hong Kong Holidays update (2007-2010)
  • Bug 510348: Sunbird Mac l10n builds failing due to requiring license unpack
  • Bug 511246: All-day events don't get deleted from calendar-multiday-view onCalendarUnregistering
  • Bug 511412: Vietnam Holidays for 2009 - 2013
  • Bug 511476: Calendar-event-dialog-freebusy.xml: Remove obsolete range check
  • Bug 511505: SOGo not listed on the "Calendar Related" links page
  • Bug 512123: Lebanon Calendar 2009
  • Bug 512811: React to tab controller parameter change in bug 500506
  • Bug 514843: Xpcshell unittest fails in file test_relation.js line 59
  • Bug 515178: Luxembourg Calender
  • Bug 515399: Cannot add attendees to event invitation
  • Bug 516398: No Lightning pref UI in SeaMonkey
  • Bug 516405: Lightning error in SeaMonkey because of missing gFolderDisplay
  • Bug 516407: Lightning 1.0pre doesn't install in SeaMonkey 2.0b2
  • Bug 516681: Lightning disables SeaMonkey's throbber
  • Bug 517013: Package nssdbm3.chk and update the Windows packaging file

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

September 2, 2009

Radio interview covering the Calendar Project (in German)

Two weeks ago, I was interviewed by the Bavarian broadcasting station here in Germany for their weekly computer radio show. The interview went pretty well and we covered a lot of areas, including:

  • Current project situation
  • History of the project
  • Major pain points of radio listeners with our applications (enterprise features vs. small business feature set, mobile phone synchronization)
  • Project roadmap
  • Contributing to an open source project

You can listen to the podcast of the show by downloading the mp3 file (the interview covers the last eight minutes). As this was a German radio station, the interview was conducted in German as well. Sorry to all our non-German-speaking folks about that.

Nevertheless, this gives us some much needed publicity, for which we are grateful. We are already discussing some followup actions with the radio folks. More about this, when things get more concrete.

August 24, 2009

[August 24, 2009] Lightning/Sunbird Status Update

More than one month has gone by without a status update. Obviously it's vacation time :-)) We're hard at work to finally get our next release out of the door for Lightning and Sunbird. More on that in a separate post. Over the last six weeks we have fixed 22 bugs, which are listed below.

  • 328216: It is not possible to assign duration to a task
  • 378951: [Mac] non-functional button in About Sunbird dialog
  • 411849: Default date for add New Task is current day rather than the selected day
  • 430090: Collapsed state of Today pane is not remembered when dragging the splitter
  • 445304: Today-pane: width should be set mode-dependently
  • 459381: Calendar and task tabs should be persistent
  • 471860: Use .trim*() in Calendar
  • 483643: Strict JavaScript warnings "reference to undefined property"
  • 500718: (scalability) useless refresh of unchanged calendars in onCalendarAdded/-Removed
  • 501402: Day View not updated correctly after deleting multiple events
  • 501613: Croatia holidays
  • 506461: Change the menupopup id in messenger-overlay-toolbar.xul
  • 506608: View, task list, and toolbar broken after startup
  • 507105: Task list doesn't update correctly when adding/removing calendars
  • 507170: Removing calendar breaks unifinder
  • 507700: WARNING: Illegal character in window name calendar-properties-dialog
  • 508295: Task list: creating new task via double click or context menu entry fails
  • 509335: Make use of zoom controls for calendar views
  • 509345: US Holidays file uses inconsistent categories
  • 509405: Calendar builder tinderboxen down? starting 2009-08-10
  • 509936: Warning: undeclared variable in minimonth.xml
  • 510499: Correcting grammar on Sunbird homepage

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

August 6, 2009

Merike's developer comments: Writing smoketests for Calendar

In February 2008 I wasn't even a user of Lightning yet as it becomes obvious from looking at my home calendar. Four months later I was researching how to translate it so I could have Thunderbird and Lightning in the same language because an Estonian localization didn't exist. A year later being familiar with the localization side of Mozilla and using Lightning regularly the option to write tests for calendar looked really appealing when I noticed it in the wiki. In April I found myself participating in the testday for Mozmill 1.1. (There's another one coming where you could participate by the way!)

Now that I've written smoketests for bug #500469 I find Mozmill relatively similar to Selenium as I expected. Both of these tools test user interface functionality and therefore the basic three types of steps are common to both:

  • Locating elements to act on
  • Specifying actions to be done
  • Checking the results

Element location in a Mozilla application can be done either by using Mozmill's inspector which gives you a ready to use locator or with the help of DOM inspector if you need to access an element that is further down in the hierarchy of UI elements than what Mozmill's inspector gives you. Locators in Lightning are quite long but mostly relatively easily accessible. There are exceptions to this though: bug #505336 being an example of an element that is fighting against automation.

As UI responsiveness is always slower than script speed pauses between test actions are essential to let UI load properly. Failing to do that can result in an otherwise fine-looking test not working and once in a while I'm still able to forget that despite of knowing it. There are also some inconsistencies between platforms support of Mozmill which made it impossible to stick to the Linux environment I mostly use but it also gives both the Mozmill and Calendar development version stress on both platforms which can only make these more bulletproof.

Result checking is the most important part of functional tests even if running a test without any asserts can reveal some of the bugs too. This is also the part of Mozmill code that recently reminded me of just how quickly Mozmill is developed. I was looking for a way to assert that a certain element is not hidden and found a assertPropertyNotExist function by scrolling through the available methods on Google Code. This seemed like a good way to make sure that there's no hidden attribute attached to an element. To my surprise the first call to this method caused a failure which stated that there's no such function. It had been added only a couple of hours earlier and the version installed didn't have it yet!

Active development of Mozmill and fantastic people on both the #qa and #calendar IRC channels make the difference between a person merely checking things out and a new participant in the project. That's what it takes to get a new person to participate.

July 17, 2009

Donations update - How we spend our money

It's been three months since I last posted a donations update. And it's more than time to update our community on the current state of things, because two exciting things have happened or are about to happen.

  1. Back in April we had accumulated roughly 1150$ of donations and we were heavily contemplating what to do with it. At the same time, a long-term localization contributor, Merike Sell, offered to create an automated testing framework for the calendar applications as part of Google's Summer of Code. Unfortunately the project was not accepted (only a few of the dozens of worthy projects were accepted by Google), but the offer was too good to let it slip.

    So we decided to use our money to fund Merike's project outside of Google's summer of code. Unfortunately our money was not enough to fund Merike for the three months period, but David Ascher (CEO of Mozilla Messaging) graciously agreed to cover the remaining 3350$.

    Merike is already hard at work. You can watch her progress in Bug 500469. Her mentor, Clint Talbert, will post an introductory posting explaining the overall goal of her project. And hopefully Merike will post here as well with a short introductory post and a status update once in a while.

  2. The mozilla.org add-ons site has finally introduced the possibility to ask for donations (or contributions as they call them) directly on the add-on page of each participating add-on. The Calendar Project to participate in this program in the hope of increasing its donations through this avenue. Let me state clearly that these donations/contributions will be optional.

Let me close by aying "thank you" to everybody who has donated to the Calendar Project so far and to everyone who is planning on doing this in the future. As you can see, these donations can really do some good, so donate now!

July 14, 2009

Announcing Lightning "Inverse Edition" 0.9.5

Our friends over at Inverse are pleased to announce the immediate availability of Lightning "Inverse Edition" v0.9.5. This is a maintenance release of Mozilla Lightning based on our 0.9 release which focuses on stability and includes many bug fixes, several small enhancements and some new features of the upcoming Mozilla Lightning 1.0 extension.

What is Lightning "Inverse Edition"

The Inverse Edition of Mozilla Lightning is based on the last official release for Mozilla Thunderbird 2 from the Mozilla Calendar project - which is 0.9. Inverse's strong desire to continue supporting and improving Lightning for Thunderbird 2 consists on the following activities:

  • Backporting bug fixes or security fixes from upstream versions
  • Backporting important features from upstream versions
  • Improving Lightning and sending contributions for the upstream versions

It is important to note that this is neither a fork nor an official release from the Mozilla Calendar Project. Also, keep in mind that the Inverse Edition of Lightning is not supported by the Calendar Project. Support is rather provided directly by Inverse.

Getting Lightning "Inverse Edition"

The "Inverse Edition" of Mozilla Lightning can be downloaded from this page:

http://www.scalableogo.org/downloads/frontends.html

You can also download the sources by following the instructions on this page:

http://www.scalableogo.org/development/source_code.html

Getting Support

For any questions, please do contact Inverse directly by writing an email to: support@inverse.ca.

Continue reading "Announcing Lightning "Inverse Edition" 0.9.5" »

[July 14, 2009] Lightning/Sunbird Status Update

Three weeks after the last status update, it's time for another. We're hard at work to finally get our next release (1.0 beta) out of the door for Lightning and Sunbird. Over the last three weeks we have fixed 12 bugs, which are listed below.

  • Bug 392021: Event dialog: Option to delete event/task
  • Bug 413594: move alarm indication icon to the extreme right
  • Bug 431126: Revise calIItipTransport::defaultIdentity
  • Bug 435168: New Calendar Wizard shows empty focus box next to "Show Alarms" check box
  • Bug 455281: Color of drag-and-drop shadow in day/week and multiweek/month view is different
  • Bug 459478: Tooltips in main view don't work anymore
  • Bug 460967: Sorting of tasks to their title in the task-tree is not working
  • Bug 483582: Multiple requests for master password on startup of Sunbird
  • Bug 485912: Recurring events with monthly rule: "every" + "day of the month" show wrong recurrence summary
  • Bug 499542: View menu entries Rotate View and Workweek Days Only are always disabled
  • Bug 500488: Can't open Calendar and Tasks tabs; adopt Lightning to openTab API changes in Bug 467768
  • Bug 500908: Find events button keeps its own state and may work invertedly

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

June 23, 2009

[June 22, 2009] Lightning/Sunbird Status Update

It's time for another status update again. We're hard at work to finally get our next release (1.0 beta) out of the door for Lightning and Sunbird. Over the last three weeks we have fixed 31 bugs, which are listed below.

  • Bug 273279: no visual status mark on tentative or cancelled events/tasks
  • Bug 387014: While reloading remote calendars, Thunderbird windows are unresponsive
  • Bug 389088: Use default alarms defined in Google Calendar
  • Bug 395281: Attendee icons in Free Busy Pane need tooltips to be understandable
  • Bug 404902: View calendar while refreshing remote calendar
  • Bug 410050: description is taken from wrong e-mail message
  • Bug 433847: Update w.m.o build guide
  • Bug 448291: Optionally disable scroll through calendar months
  • Bug 449197: 'Calendar -> Publish' menu item is always disabled
  • Bug 453067: Eventboxes with and without icons have different height
  • Bug 453122: Newlines not trimmed from description when converting from email
  • Bug 453145: Using ctrl+s or 'Save' while editing a occurrence changes whole series
  • Bug 456385: Thunderbird3: Integrate Calendar and Task mode menu items into new menu
  • Bug 459018: 'self.stopEditing is not a function' while creating an event
  • Bug 462824: clean up calendar/test/homegrown
  • Bug 466170: Extra separator in View menu
  • Bug 480266: Switching mail and tasks tabs duplicates the account list
  • Bug 485891: Bottom Border under Column Day Labels is missing.
  • Bug 489773: Invitation dialog has flaws
  • Bug 491326: Non-ascii calendar names are displayed wrong after restart
  • Bug 491868: print card/contact is completely unstyled and hard to read
  • Bug 492723: Error "favoriteFolderMenu is null" opening the Edit menu from Lightning
  • Bug 494160: Event dialog: Add accesskeys for menuitems in menu "Options - Status"
  • Bug 495859: Lightning notification bar appears at the bottom of the message pane.
  • Bug 496413: faulty PROPFIND will not declare the request as complete
  • Bug 498158: Context edit menu (undo/cut/copy/paste) has got no icons
  • Bug 498700: imip bar is not displayed, error "GetLoadedMessage is not defined"
  • Bug 498779: Outdated information in /calendar/lightning/nightly/README.html
  • Bug 499500: Error "GetFirstSelectedMessage is not defined"
  • Bug 499540: Multiweek View: changing Number of Weeks via View menu fails
  • Bug 499588: TB3 integration: Fix accesskeys for File -> New menu items

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

PS: We've read and noticed the repeated requests for a more high-level plan of our future goals (some call it a "roadmap"). Philipp is currently working on a blog post, that will hopefully satisfy those of you, who were kind enough to get in contact with us and ask us for such a high-level plan. Stay tuned!

June 22, 2009

String freeze for the upcoming Lightning/Sunbird 1.0beta release on June 23

It's been a long time, but it seems that we're finally getting near to a new release. Yay!

Philipp tells me, that we now have only five open bugs on the blocking list that are needed for the 1.0 beta release. All of those bugs have no localization impact, which means that we are ready for a string freeze.

We will therefore freeze all application strings by tomorrow, Wednesday, June 23 at 23:59 PST. That means that all strings will then be entirely frozen until we release Lightning and Sunbird 1.0beta. I will open up a separate opt-in thread for localizers in the mozilla.dev.l10n newsgroup soon.

One additional note to localizers:
Please take a close look at the status of your tinderbox (at http://tinderbox.mozilla.org/showbuilds.cgi?tree=Mozilla-l10n-locale where "locale" must be replaced with your locale code (e.g. es-ES or de). I've seen some locales having a red Windows tinderbox (and therefore broken Windows builds), because those locales didn't follow this change to our installer strings. Please check if this applies to you and make the necessary changes.

June 20, 2009

Our Menu has Changed...

In an effort to better integrate into Thunderbird and also to clean up some very evil workarounds we have reworked the Menu Structure of Lightning. Work on this was completed yesterday in bug 456385.

Previously, we switched the contents of the whole menu bar when changing from mail mode to calendar or task mode. Aside from the fact that this forced us to use very heavy workarounds for certain platform-specific bugs, this only made sense for 0.9, since the modes were very dedicated. I believe this was also a nightmare with regard to accessibility.

To fit better with the new tabbing mechanism available in the Thunderbird 3 betas, we changed this mode switching logic to show each mode in a tab. It looked a bit awkward that the menus change, just because you switched to a different tab.

Therefore we aimed at an integrated solution that has a fixed menu for manipulating events and tasks, and sorted our other menu items into the existing menus. Aside from that, the idea is to provide buttons and other actionable controls right in context - the user shouldn't have to travel far to do what he wants to do.

Please take a look at our latest nightlies together with Thunderbird 3 beta 2 or later to get a feel for the new menus and to find out if there are any missing pieces.

June 17, 2009

Nightly builds now available from a slightly different place

Our regular nightly build testers may already have noticed. If you haven't here's a heads-up for you.

Bug 481685 was just fixed. The aim of that bug was to align the nightly build directory structure on the mozilla.org ftp server of Thunderbird, Sunbird and Lightning. Here's a n overview of the changes:

Sunbird

Application (Gecko version)Old LocationNew Location
Sunbird 1.0pre (1.9.1) latest-comm-central-sunbird latest-comm-1.9.1
Sunbird 1.0pre (1.9.1) localized latest-comm-central-sunbird-l10n latest-comm-1.9.1-l10n
Sunbird 0.6pre (1.9.0) localizedlatest-trunk-l10n-cvsDeleted
Directorylatest-trunkDeleted

Lightning

Application (Gecko version)Old LocationNew Location
Lightning 1.0pre (1.9.1) latest-comm-central-calendar latest-comm-1.9.1
Directorylatest-comm-centralDeleted
Directorylatest-trunkDeleted

May 29, 2009

[May 29, 2009] Lightning/Sunbird Status Update

Sorry for the long hiatus here in the blog. We haven't forgotten you. Here are the 37 bugs that we fixed since the last status update in mid-April:

  • Bug 238632: Dates become 1 day earlier after leap day in non-millenial century years
  • Bug 258551: Alarm should not fire for cancelled event
  • Bug 343268: Uncaught exception if Drag and Drop is aborted with Escape key
  • Bug 388399: China holiday file by Mr. Fu Yang Yong - reloaded
  • Bug 396819: Event Summary Dialog doesn't show important information to user
  • Bug 427617: ics import fails if event has RDATE property with value type PERIOD
  • Bug 450933: Today Pane doesn't remember state between restarts
  • Bug 455939: Offline cache should synchronize in the background (hang every 4 minutes)
  • Bug 459352: No progress bar in '% complete' column
  • Bug 466535: Sunbird/Lightning should get RTL compatible theme
  • Bug 470934: Better handling of server-side deleted calendars when getting the ctag
  • Bug 479973: Agenda List Box Item in Today Pane is always white
  • Bug 482460: Recurrence summary in Edit Event dialog can't be correctly translated
  • Bug 483189: Armenia Holidays
  • Bug 484877: Update internal timezone database to version 2009f
  • Bug 486186: Reminder based on end/due date changes to start date after restart
  • Bug 486678: Calendar summary dialog is borked
  • Bug 487008: Wrong rendering of event invitation
  • Bug 487400: Preference 'calendar.alarms.indicator.show' doesn't work anymore.
  • Bug 488720: Recurrence dialog doesn't work well when editing an event with monthly rule
  • Bug 489590: Make views more extensible
  • Bug 489966: Bogus registry keys added
  • Bug 490240: reference to undefined property this.mData[aName]
  • Bug 490243: reference to undefined property this.mExceptionMap
  • Bug 490309: Implement asynchronous ical parsing
  • Bug 490526: Win2k3 c-c sunbird l10n is orange
  • Bug 491051: Holiday Calendar for Guyana
  • Bug 491207: Icon files for event/task dialog windows
  • Bug 491226: reference to undefined property unifinderObserver.prototype
  • Bug 491270: Holiday file for Iceland
  • Bug 492192: Opening local ics files breaks views
  • Bug 492640: Fix misc js warnings
  • Bug 493250: Greek Holidays file (1978-2045)
  • Bug 493812: Some css file have selectors related to classes\rules that don't exist
  • Bug 493998: Attendee in iTIP REQUEST always have role REQ-PARTICIPANT
  • Bug 494312: Remove the locale from updater.ini
  • Bug 494476: In month/multiweek views, event boxes are misplaced by 1px

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

April 16, 2009

Calendar Project donations update

One month ago, I reported that the Calendar Project is now finally able to accept donations through the community giving program of the Mozilla Foundation. So I guess it's time to reveal how we have done so far.

I currently have only received the numbers for the last two weeks of March (we started accepting donations on March 16 2009) and those numbers look quite promising. In the first five days after the initial announcement people donated $698.05 to Calendar using PayPal. For the remaining 10 days of March we took in another $437.05 bringing us to a total of $1135.10 for March through PayPal*.

We will now discuss internally on how to allocate this money in the most effective and efficient manner for the project. We will also be thinking hard about further fund raising possibilities.

Let me use this opportunity to thank everybody who has donated to the Calendar Project so far and to everyone who is planning on doing this in the future. I would also be interested in any ideas that you (our community) might have on how to raise our fund-raising capabilities.

* Please note that the total donation number should be higher than that since this doesn't include any donations this month (April) or any check donations.

[April 16, 2009] Lightning/Sunbird Status Update

Sorry for the 7-week hiatus. I was quite busy personally and the project is busy as well. That doesn't mean however, that Philipp and his crew aren't fixing bugs anymore. To the contrary, a sizable chunk of bugs was squashed in the last seven weeks.

Here's the total list:

  • Bug 308538: Foreign X-Props in VALARMs are lost during roundtrip
  • Bug 329570: Concurrent editing ICS calendars by multiple users can lose data
  • Bug 353492: support multiple alarms per events/task and absolute alarms with fixed date/time
  • Bug 363085: Not possible to enter a webdav share that requires SSLVerifyClient
  • Bug 367469: ICS x-property should allow VALUE=type parameter
  • Bug 389160: Editing color makes category list loose focus
  • Bug 392572: Correct comments in calIDateTime.idl
  • Bug 428538: Startup notice for calendars of uninstalled/removed providers
  • Bug 447824: Fix caldav ticket-based authentication
  • Bug 455515: Local calendar tasks are not shown when a remote CalDAV calendar is unavailable
  • Bug 460252: Today Pane Integration in the new Thunderbird tab model
  • Bug 463978: Details/Description textbox missing from create/edit event/task dialog
  • Bug 464133: CalDAV deletes against Zimbra server often (always?) fail
  • Bug 465019: Copy, cut, paste from context menu in calendar views do not work
  • Bug 466979: Clicking on the "Today" button in the minimonth doesn't refresh the calendar view
  • Bug 468846: Recurring all day event -> duplicate event created
  • Bug 471774: Update calendar copyright dates to 2009
  • Bug 473366: Basque calendar
  • Bug 474025: Changing a recurring/repeating event to non-recurring doesn't work
  • Bug 474552: Error: Assert failed: TypeError: logins[0].clone is not a function
  • Bug 475715: Create a binding for the calendar list
  • Bug 476132: Impossible to move event by drag&drop if another event is selected
  • Bug 476234: a calendar that shows the Mexican Holidays 2009
  • Bug 477248: Calendar hangs - Syntax error calProviderUtils.jsm (new XML(...))
  • Bug 478612: Add ta-LK to calendar/all-locales
  • Bug 479316: Task list and task view are empty [JavaScript Error]
  • Bug 479614: faq.html: how to publish/serve calendars should mention CalDAV (& WCAP)
  • Bug 480005: Estonian holiday calendar
  • Bug 480383: Creating new profile fails, calendar list and views are empty
  • Bug 480390: Include Lightning BuildID in install.rdf for easier QA work
  • Bug 480702: Add ifdef MOZ_UPDATER for the app update preferences UI and Help menu
  • Bug 480731: Calendar events showing reminder after scheduled event instead of before
  • Bug 480930: Calendar List not sorted according to "calendar.list.sortOrder"
  • Bug 480933: Events are shown transparent, calendar and category color is missing
  • Bug 481428: Error parsing XML streamReferenceError: getTimezoneService is not defined
  • Bug 481450: new XML() to cal.safeNewXML()
  • Bug 481472: Add Vietnamese (vi) to Calendar all-locales list
  • Bug 481499: Rename menu entry "Address Book Card" to "Address Book Contact"
  • Bug 481825: No loading of CalDav Calendar due to errors regarding parsing eTags
  • Bug 482001: Update the Iranian Holidays Calendar (in Persian and English)
  • Bug 482108: "Invalid alarm for item" errors when reading alarms from older releases
  • Bug 482116: Views are not updated after changing category color, restart required
  • Bug 482149: Today pane splitter still showing when pane is hidden in certain cases
  • Bug 482456: empty/blank status of calendar task
  • Bug 482612: too small textbox for custom snooze time in reminder dialog
  • Bug 482636: /usr/lib/sunbird Directory Requires World-writable Permissions
  • Bug 482864: Build does not generate chrome.manifest files for extensions
  • Bug 484160: Migration wizard starts with very small width/height.
  • Bug 484871: Sunbird and Lightning homepage content messed up
  • Bug 485570: absolute alarm with fixed date/time is reset to relative alarm
  • Bug 485571: absolute alarm with fixed date/time is lost after application restart
  • Bug 486676: Unnecessary alarm load on startup for all subscribed calendars
  • Bug 486709: Display of date/time of absolute reminder is confusing
  • Bug 486789: JavaScript Error "exc is not defined" in calStorageCalendar.js

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

March 27, 2009

Heading towards Calendar 1.0 Beta 1

The original plan regarding Thunderbird 3 Beta 2 was to release a beta of Sunbird/Lightning that fits together well. Due to other obligations this goal has slipped quite a bit. We have tagged the list of blocking bugs by bugs needed for the beta and those we can move into the next beta.

Currently, there is only one bug left that we really need to solve for this beta. It has a preliminary patch and will require string changes. Unfortunately, the mentioned bug is not quite trivial, since a lot of UI changes need to be done and we haven't quite agreed on some aspects.

This means we will announce a string freeze as soon as the bug has been fixed and release 2 weeks afterwards, or sooner if all strings have been translated earlier.

Nevertheless, we'd like to provide a beta as soon as possible. To help make this possible what we need most at the moment is testing! Please download Thunderbird 3 Beta 2 at:

http://www.mozillamessaging.com/en-US/thunderbird/3.0b2/

And our latest nightly version of Lightning:

ftp://ftp.mozilla.org/pub/calendar/lightning/nightly/latest-comm-central/

Be sure to back up your data before using this version, since it upgrades your local storage database. Downgrading is not easily possible afterwards without creating a new profile.

IMPORTANT:Note however as we've announced in an earlier blog post this will be the last release for the time being that includes Sunbird. This means that now more than ever, testing is needed to make sure that Sunbird doesn't contain any critical bugs.

If you want future Sunbird releases to happen and either have experience with the Mozilla build architecture or are willing to learn, please do send me an Email and I'll send you some information to get you started.

We will make an effort towards releasing more beta versions of Lightning on the road towards 1.0 to make sure the next release will be as bug-free as possible and still contain the nice new features we have been working on. Remember that we need you to fulfill this goal! Without your valuable testing, we will surely be up for a surprise in case a critical bug has made it into the final version without notice.

March 20, 2009

Scalable OpenGroupware.org 1.0 released

I just wanted to let you know that our friends over at Scalable OpenGroupware.org (SOGo) pushed out their 1.0 release yesterday.

Congratulations fellas!

SOGo is a free scalable groupware server. It offers shared calendars, address books and emails through your favorite Web browser or by using a native client such as our Mozilla Thunderbird with Lightning. SOGo is standard-compliant and supports CalDAV, CardDAV, GroupDAV and reuses existing IMAP, SMTP and database servers.

The SOGo developers are good friends of ours and have helped us with developing Lightning today and in the past. So give their software a try! I'm sure they will appreciate it.

You can download their server software here. The source code is also available.

March 16, 2009

Support the Calendar Project with a donation

One of the most often made statements within the last few years from our users and supporters was that people would really like to support us by donating a few bucks to the Calendar Project.

That wasn't possible until now. But thanks to the Mozilla Foundation and the efforts of its employees, particularly David Boswell, it's now finally possible to support the Calendar Project by donating to our cause.

All the necessary details are on our donation web page. You can support us via:

  • a one time donation online (using Paypal or a Credit Card)
  • a recurring donation each month (using Paypal or a Credit Card)
  • a personal check

If you are a regular user of our software, please consider donating to our cause.

Thanks in advance
The Calendar Project team

March 13, 2009

Lightning is an unusual Mozilla application

Since the start of February, the statistics capabilities of addons.mozilla.org have been upgraded. It is now possible to see the number of active users on a daily basis, where before it was only shown on a monthly basis. This shows some interesting facts about Lightning.

What is pretty apparent from the stats is that Lightning's usage is much higher during the week than on the weekend. This is a stark contrast to Mozilla's main application Firefox, which is usually used by more people on the weekend than during the week.
[UPDATE: As I was informed, Firefox's usage numbers are also much higher during the week than on the weekend. It seems that I mixed up Firefox's market share numbers (which are normally higher on the weekend than during the week) with its total usage numbers.]

On Windows the usage numbers during the week are about twice as high as on the weekends, while on the other operating systems (Linux, MacOS X, Solaris, *BSD, OS/2) the usage numbers are just about 30% - 40% lower on the weekends.

This seems to indicate that we have a lot of business users out there using Lightning and that most of these business users use Windows as their platform of choice.

What we also see is that roughly 87.5% - 89.1% of our users are on the Windows platform, 7.6% - 8.6% use Linux and 3.1% - 3.8% are MacOS X users. Users of other operating systems range between 0.13% and 0.16%.

Those of you, that want to play more with our download numbers, can do this on the Lightning Statistics Dashboard, where you can find much more data to play with.

PS: Don't ask me about the low numbers on five days in early February. These are clearly incorrect and probably a result of an addons.mozilla.org bug, that was fixed later on.

February 25, 2009

[February 25, 2009] Lightning/Sunbird Status Update

After all the bad news in the last few days, here are some good news at last: Our recent bugfixes. Everything considered, the last 28 days were pretty good in terms of the number of bugfixes. Hopefully we can keep this up as more people will step up and help us with bringing the Calendar Project forward.

Here's the list of the 47 bugfixes in the last 28 days:

  • Bug 345607: Copy recurring event and paste to another day appears to work but event is not saved
  • Bug 357332: Holidays in Chile
  • Bug 358217: Catalan holiday calendar
  • Bug 379097: Export should default to ics
  • Bug 405033: Remember last selected task when sorting list in Task mode
  • Bug 421329: Freebusy information is not loaded for multiday events beginning previous to look-up date
  • Bug 429126: Infinite loop at refresh when a calendar is deleted from the server outside of Lightning
  • Bug 449567: 'Dismiss all' alarms of recurring events -> error console output
  • Bug 457823: Mini-month vs datepicker on calendar pane
  • Bug 463273: Error: Failed to read 'repeatDetailsOrdinal0'
  • Bug 463679: Two email notifications sent for cached CalDAV calendar
  • Bug 463960: Cannot refresh cached CalDAV calendars
  • Bug 463961: Unnecessary fetch of all etags for cached calendars
  • Bug 468723: Incorrect doModifyItem for CalDAV servers where the inbox matches the calendar uri
  • Bug 469605: Incorrect handling of mBatchCount
  • Bug 469767: Very slow etags parsing
  • Bug 472314: Add some documentation to calendar code
  • Bug 474361: Remove and rename calendar-decorated panes
  • Bug 474630: Alarms don't work for recurring events
  • Bug 474632: Update internal timezone database to version 2009a
  • Bug 475170: LDAP Lookup broken in Invite Attendees dialog
  • Bug 475549: ICS file for Norwegian holidays 2009-2013
  • Bug 475599: Create the backup files in calendar-data folder instead of the backupData folder
  • Bug 475745: Updated English Holidays calendar
  • Bug 475803: Cal.fromRFC3339 matches fails to set timezone correctly
  • Bug 475887: ${BrandFullName} needs to be quoted in shared.nsh
  • Bug 476219: Drag and drop of event works but MODIFICATION_FAILED dialog is shown
  • Bug 476262: alarms don't fire/show up/no reminder (alarmDate is not defined)
  • Bug 476331: Replace InfoText with Info in updater.ini using sed in locales Makefile.in
  • Bug 476518: Sunbird debug symbols for crash reports seem to be missing
  • Bug 476867: Download links for Sunbird 0.7 and older releases do not work
  • Bug 477009: Unable to get directory path for directories immediately under some symlinks
  • Bug 477064: Recurrence description for weekly event uses repeatDetailsOrdinal* where should be weekday
  • Bug 477207: Remove installer code that adds unused registry key values
  • Bug 477445: What is this "orientation" of which you speak?
  • Bug 477474: Remove searchplugins occurrences from locales/Makefile.in
  • Bug 477664: No vertical space between label and underline indicating accesskey
  • Bug 479327: On startup, icon in statusbar shows offline mode
  • Bug 479513: task description box vanishes when dragging scrollbar in task list
  • Bug 479577: Creating event/task with alarm on end/due date throws exception NS_ERROR_OBJECT_IS_IMMUTABLE
  • Bug 479578: Creating task with alarm doesn't automatically enable the required start or due date anymore
  • Bug 479599: Bugs.html: request review from module owner
  • Bug 479605: FAQ: local file steps are out of date
  • Bug 479606: FAQ: how to tinker: change "cvs" to comm-central
  • Bug 479610: FAQ: netscape server -> sun server
  • Bug 479695: Canceling Custom Reminder dialog trows error "customItem.reminders is undefined"
  • Bug 479707: Error notification dialog: "Error number" should be "Error code"
Many thanks go to all developers, contributors, localizers, testers, and supporters that have made this possible.

February 24, 2009

Even more on the Sunbird/Lightning decision

There have been a lot of questions asked since our announcement, that we're discontinuing Sunbird, because several main contributors can no longer work full-time on the project. I want to use this post to try to answer as many questions as I can.
  • Various people have asked for the Mozilla Foundation or Mozilla Messaging to step in and help us out.
    Short answer: They already are helping us out.
    Long answer: Mozilla Messaging is already helping us out on the build engineering side and the Mozilla Foundation is actively working with us to make it possible for people to donate to the Calendar Project via the Mozilla Foundation.
  • Raffael asked: "How close are you working together with Spicebird? Are there other projects like Spicebird that could contribute code to Lightning?
    We are working together with the Spicebird people. Their calendar code is mostly based on our code. We are also working closely together with the folks from SoGo.
  • Sunbirduser said: "The most important question is not whether sunbird or lightning will be stopped, but how to get new interesting people into the project and how to get more developers. This is the work of the project leader!
    Like Philipp said in his original announcement
    Our next release will include Sunbird, but subsequent releases won't unless new contributors take on the work.
    and
    This is really a tremendous opportunity for anyone who is interested and willing to help make a difference here for the project and its hundreds of thousands of users -- get involved!
    Things will happen if someone actually steps up and makes them happen. That is how it works in the open source space. Philipp is very important as the project's lead developer, but he's not anyone's boss and can't command anyone to do something. Interested people will need to step up and do something, then Sunbird can live on.
I hope this answers most questions. Let me know if you have more.

February 19, 2009

More on the Sunbird/Lightning decision

Our announcement that we're very short on actual developers has already raised quite a stir. I want to give some feedback to some of the questions that were already raised and also elaborate a little more on the situation that we're in. First the feedback part:

  • Cantalou asked: In your opinion, did you get so far enough support from Mozilla Messaging?
    Yes. Absolutely.
  • Various users suggested that we should dump Lightning in favor of Sunbird
    That would be worse than what we're doing right now. Looking at the download numbers, Lightning is about twice as popular than Sunbird nowadays, so dumping Lightning would probably turn away many more people than dumping Sunbird. In addition Lightning, due to its integrated nature, has many features that Sunbird currently lacks, which would need to be re-implemented in Sunbird to make it a viable option (e.g. addressbook integration, LDAP integration, ability to send and receive mails).
  • jakyra asked: Could you make the next version of Lightning work on Ubuntu?
    Lightning already works fine on Ubuntu. The problem is that Lightning needs some system libraries that aren't installed by default on Ubuntu. Our system requirements page lists the necessary requirements. If you make sure everything is in place *before* installing Lightning, everything should work fine.
  • neandr asked: Can Lightning 1.x be installed ontop of Firefox/Thunderbird/XULrunner?
    It would certainly be possible to develop Lightning in such a way, that it would be easily installable into Firefox, Thunderbird or every other XULrunner-based application. However, we do not think that this would be an effective use of our development time. That being said, if you (neandr) or someone else is interested in making this happen, you're more than welcome to do this!

Various users were forthcoming with ideas about feature additions. To answer this let me use a quote from Philipp's blog post yesterday:

This is really a tremendous opportunity for anyone who is interested and willing to help make a difference here for the project and its hundreds of thousands of users -- get involved!

The bottom line is: With no full-time developers on board and only a handful of part-time contributors, there's no way that we're going to implement stuff like Exchange support, improved task management, device synchronization, far-reaching performance improvements, etc. in the foreseeable future.

This can only happen, if you make it happen. New features do not materialize out of thin air, they appear because someone is willing and committed enough to invest time and effort to make something happen. Or to use a famous (and slightly adjusted) quote from JFK: "Ask not what the Calendar project can do for you, ask what you can do for the Calendar project!"

So get in touch, either on IRC (#calendar channel on irc.mozilla.org), our developer newsgroup (mozilla.dev.apps.calendar) or via an e-mail to Philipp or me (our mail addresses can be found on our team page).

I hope to hear from you soon Simon

February 18, 2009

Calendar Project at a critical juncture

The Calendar project, which for several years has been working on the Lightning add-on to Thunderbird and the standalone Sunbird project, is at a critical juncture. We feel it's important to communicate this to our users and contributor community, as your input will determine how the project continues.

Recently, several contributors who were working on the project full-time have left the project or have shifted to free-time contributor status due to other obligations. This means their contributions will be limited to their spare time, which is quite sparse given a full-time job and family. This is a significant change from recent years, and if no new contributors come on board, it means that the rate of change will decrease dramatically. Our releases will necessarily have to become less frequent, and the amount of bug fixes and new features per release will decrease.

As a result of this, we have to take stock, and figure out how we're going to go forward.

First, as much as it pains us, we have decided to step back from Sunbird maintenance. Our next release will include Sunbird, but subsequent releases won't unless new contributors take on the work. Trying to support both takes too much time, so we had to make a painful prioritization decision.

Second, our next major goal is to have a version of Lightning that will work well with Thunderbird 3. Lightning won't be built-in to Thunderbird 3 for a variety of reasons (see this post by David Ascher for more on the topic), but we're still on track to have a release that gives users of Thunderbird 2 & Lightning a migration path. That version will be a significant upgrade from Lightning 0.9, including notable performance and usability improvements.

There's a lot of work to do to reach our goals, and as a result we're not yet planning much beyond that. This is where we need your input, both in terms of direction-setting -- given limited resources, where should we focus and why? and in terms of more directly useful help -- if you've been using Lightning for a while, and know a bit about mozilla technologies (any of XUL, JavaScript, CSS), or want to help test, write documentation, or do something else not listed here -- get in touch!

This is really a tremendous opportunity for anyone who is interested and willing to help make a difference here for the project and its hundreds of thousands of users -- get involved!

I hope to hear more from you soon!

Philipp Kewisch (Calendar Project - lead developer)

January 28, 2009

[January 28, 2009] Lightning/Sunbird Status Update

We're hard at work to fix many bugs in anticipation of our next release, so it's no wonder that 43 bugs were fixed within the last 16 days by our developers.

Of particular importance are 2 bugfixes, which have bothered our users for quite some time:

  • Bug 266249: Can't re-order or sort Calendars list
    This a long-standing request by our users that dates back to the old days of the Calendar extension for the Mozilla Suite. Philipp and Daniel finally made a fix possible. Thanks guys!
  • Bug 460988: OS settings for time format (12H/24H) and date format not respected
    Due to a backend change in Mozilla Core code, we were no longer using the date and time formats of the underlying operating system for a few months. This backend change was reversed last week, so things should again be as they should be.

Here's the list of all the 43 bugs that were fixed within the last 16 days:

  • Bug 266249: Can't re-order or sort Calendars list
  • Bug 328603: Calendar sqlite database issues; renaming of storage.sdb
  • Bug 357980: Slovak Holidays calendar
  • Bug 365404: Updater should use brand name string and not hardcode Sunbird
  • Bug 370519: Calendar file for Peruvian holidays
  • Bug 378754: Calendar Auto Configuration/Deployment
  • Bug 416138: Moving of all-day-events in weekview not possible, but shows possibility
  • Bug 460988: OS settings for time format (12H/24H) and date format not respected
  • Bug 462838: Using the 'Status' column in unifinder to sort events/tasks leads to an exception
  • Bug 463058: Remove remaining traces of Mozilla 1.8 compatibility
  • Bug 465319: Show Short Version of Navigation Pane String for small resolutions
  • Bug 466095: Text description still appears after task is deleted
  • Bug 466283: Remove gopher support from Calendar code
  • Bug 467338: Closing task or calendar tab with other tab focussed breaks the focussed tab
  • Bug 468420: Consolidation of the navigation bar
  • Bug 469146: Drag and drop tasks in month and multiweek views, doesn't change tasks' due date.
  • Bug 469477: Move fromRFC3339 from calGoogleUtils.js to calProviderUtils.js
  • Bug 469664: Selected tasks (with start/due date) are unreadable on windows with black desktop
  • Bug 470197: Update installer for Sunbird
  • Bug 471973: Make use of alarm interface in backend code
  • Bug 473012: Get Lightning to use nsIObserver for overlaying mailContext menus
  • Bug 473431: Latvia Holidays calendar
  • Bug 473518: Vanuatu Holidays Calendar 2009
  • Bug 473547: 'Start the week on' functionality is broken in multiweek/month view
  • Bug 473661: Use popupshowing event to hook Lightning into mailContext menus
  • Bug 473973: Calendar Functions failing (unable to log in)
  • Bug 473980: Colombian holidays
  • Bug 474207: Faked master items are missing calendar
  • Bug 474228: Fix calendar mode borders (again)
  • Bug 474275: Alarms don't store on storage calendar
  • Bug 474276: Add windowtype to all calendar dialogs
  • Bug 474322: Add tests for default alarms
  • Bug 474325: Google calendars disabled on startup
  • Bug 474332: Enable package-compare step on the Sunbird win32 nightly builds
  • Bug 474361: remove and rename calendar-decorated panes
  • Bug 474451: Dragging the scrollbar grip in the calendar list doesn't scroll the list
  • Bug 474561: Add pa-IN to list of supported calendar locales
  • Bug 474576: Error: Error parsing XML streamReference: Error: UTC is not defined
  • Bug 474596: New Task button in Tasks tab displays the icon from the New Event button
  • Bug 474638: Snooze or dismiss of alarms doesn't work
  • Bug 474646: Multiple alarm/reminder windows/pop-ups/popups (should get merged)
  • Bug 474814: Add data: to necko protocols default for Sunbird
  • Bug 475170: LDAP Lookup broken in Invite Attendees dialog

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

January 12, 2009

[January 12, 2009] Lightning/Sunbird Status Update

Happy new year to all our readers!
Here is the first installment of our status update in 2009. We fixed 30 bugs since Silvester 2008, many of those were new and updated holiday calendars, of which I wrote about extensively a week ago. Still a few important bugs were fixed, on which I will write about in more detail in the coming week.

Here's the list of the 30 bugs that were fixed within the last 12 days:

  • Bug 364487: Argentina Holidays
  • Bug 376139: Sri Lanka Holiday Calendar
  • Bug 377845: Decouple calendar manager from storage provider
  • Bug 383470: Russian public holidays
  • Bug 388000: Singapore Public Holiday
  • Bug 389787: Event dialog: Customizing toolbar mode (full, icons, text) not working
  • Bug 395770: Algeria Holidays (without religious holidays)
  • Bug 396881: Holiday Calendar for Pakistan [Only national days]
  • Bug 397180: South African Holidays
  • Bug 401458: Malaysia Holidays
  • Bug 403006: Pref driven calendar registration
  • Bug 410287: calICalendar.getProperty returns always value type string
  • Bug 415247: Support all free/busy time types (FBTYPE) defined in rfc2445
  • Bug 416190: Privacy of a meeting should not impact transparency
  • Bug 439620: Calendars w/o provider deployment should be marked as disabled
  • Bug 447683: Use full weekday name in Day and Week views' captions
  • Bug 456938: Add information about date range for holiday calendars to website
  • Bug 457586: Export calendar to HTML fails if task without due date exists
  • Bug 464705: No notification if attendee deletes a single event of a recurrence rule
  • Bug 469691: Unnecessary refresh of views
  • Bug 471329: Update Dutch Holidays calendar
  • Bug 471807: Italian Holidays calendar for 2000/2020
  • Bug 471813: Remove item attribute from calIAlarm to avoid cyclic references
  • Bug 471860: Use .trim*() in Calendar
  • Bug 472098: Update context menu code after checkin of bug 462684
  • Bug 472300: Consolidation of the Multiday-view and month-view
  • Bug 472306: Brazilian Holidays
  • Bug 472833: Frisian Holidays
  • Bug 472927: Add Indonesian locale for Calendar
  • Bug 473053: Missing QI causes exclamation mark and DAV_REPORT_ERROR

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

January 9, 2009

Calendar leadership changes

Hi,

almost two years have passed since I took over as calendar lead from mvl, and I think it's time for a change. So I am stepping back from this role. There are two main reasons why I think this is necessary:

  • I am going to have less time for calendar work in the future, and I fear I can't meet the requirements of that role in the future
  • I think it's simply refreshening to have a change in lead from time to time, to gather new views on things and do them differently

So who's my successor?
I am grateful that Philipp Kewisch has volunteered to step in. He's both smart and a great guy to work with, and has already done a lot for the project. So he feels like the natural choice to me. Please support Philipp in his new role!

Finally, I'd like to thank the whole team for supporting me during this time. It's been a great time for me and I learned a lot. I am sure we continue to have great releases! Having less time does not mean I am leaving the project ;-) I will certainly do a few features/bugfixes/reviews. Stay tuned!

best regards,
Daniel

PS: Philipp is at the top of the "2008 bug fix ranking"!!

December 31, 2008

[December 31, 2008] Status update and 2008 bugfixing stats

Ok, 34 days without a status update :-( Some of you might think, that there's nothing to report... which is wrong. We're still there, we're still fixing bugs, we're still working hard to on the next release. In fact, even with the Christmas holidays, the Christmas shopping, the year-end preparations and celebrations we still fixed 46 bugs in the last 34 days.

But before I come to that, let's look at 2008 as a whole. 2008 was the year, where we fixed 866 bugs. The highest count since the creation of the project eight years ago. Our leading bug-fixer that year was Philipp Kewisch (Fallen) with 190 bugs fixed. Right on his heels was Daniel Boelzle (dbo) with 176 fixed bugs, followed by Berend Cornelius (berend) with 96 bugfixes on third place. Congratulations guys!

One thing is bothering me though. As I already said yesterday we're way to dependent on very few precious souls, which do most of the development work in the project. If you look at the numbers 53,35% of all fixed bugs in 2008 were fixed by the top3 bugfixers. 63,39% were fixed by the top5 and nearly 77% (76,91% to be exact) were fixed by our top10 development contributors. Hopefully in 2009 we can broaden our base some more while still retaining the extraordinary talent that we have in our current developer base.

That said, here's the list of the 46 bugs fixed since the last status update:

  • Bug 353696: View/Number-of-weeks is not updated with Option weeks-to-show
  • Bug 384554: Kazakhstan Holidays Calendar
  • Bug 402336: Luxembourg Holidays 2008/2009
  • Bug 402365: Tabs break calendar mode view
  • Bug 404039: New added tasks don't appear in task list
  • Bug 405650: Integer overflow during creating custom reminders
  • Bug 420340: Snooze icons not transparent, grey background
  • Bug 432704: Drag and Drop in Month/Multiweek view fails
  • Bug 445729: Enable compare-locales for Calendar
  • Bug 451821: X-Props are not roundtripped (dismiss or snooze alarms doesn't work)
  • Bug 456379: Thunderbird3: Remove lightning calendar/task toolbars
  • Bug 458564: "Mail with no Date header not accepted here" failure
  • Bug 460266: 'Open task' menu via context menu is broken
  • Bug 461124: Mode/Tab doesn't change when using Alt+[1234]
  • Bug 462048: Monthly recurrence rule "Last Day Of Month" breaks Custom Recurrence Dialog
  • Bug 462109: Convert eMail to event/task -> Recipient should not added to the attendees list
  • Bug 462278: Week view should default to being scrolled to the "Day Starts At" time
  • Bug 463014: Columns in task list are not persistent
  • Bug 463050: Slight improvements to calIAlarm
  • Bug 465551: Additional localization comments needed in calendar-event-dialog.properties
  • Bug 466009: Calendar property page is missing Cancel/Ok
  • Bug 466655: Organizer adds an alarm and/or a category -> notification eMail dialog pops up
  • Bug 466664: Using Lightning makes text on Thunderbird's tabs too large
  • Bug 466981: Delete a single instance of a recurring event -> exceptions are gone
  • Bug 467001: itip exception
  • Bug 467069: Consolidate decorated-month-view-binding and decorated-multiday-view-binding
  • Bug 467156: Fix calendar mode borders
  • Bug 467330: Shortcalendarweek and shortCalendarWeek used in the same file
  • Bug 467336: Recurrence dialog: datepicker elements are missing a backround graphic
  • Bug 467351: Get rid of bug fix for bug 348009
  • Bug 467546: Consolidate calendar-multiday-view.xml and calendar-month-view.xml
  • Bug 467652: Reproducible hang when retrieving remote ICS calendar
  • Bug 467724: Sunbird win32 l10n builds missing since 25-Nov-2008
  • Bug 467756: Thunderbird versions on beta1 branch do not accept Lightning anymore
  • Bug 467909: Remove datepicker in Lightning sidebar
  • Bug 468020: Regex used to parse RFC3339 dates is incorrect
  • Bug 468077: Add gl to calendar/locales/all-locales file
  • Bug 468999: Add calendar.debug.log and calendar.debug.log.verbose to default prefs
  • Bug 469355: Frequent hangs of "win2k3 comm-central sunbird" buildbot
  • Bug 469554: Use pluralForm in Task tree - Due In column
  • Bug 469840: Recurring Sundays incorrect
  • Bug 470394: Guard all SQL transactions in case of database corruption
  • Bug 470623: Change the property name WARN_UNSUPPORTED_MSG to WARN_MIN_SUPPORTED_OS_MSG
  • Bug 470894: Finnish holidays for 2009
  • Bug 470987: Sunbird.exe should have the manifest with requestedExecutionLevel="asInvoker"
  • Bug 471195: 2009 Holiday File for India

Speaking on behalf of the Mozilla Calendar project, I want to say a big thank you to everyone, who has contributed to our project in 2008, be it by providing bug fixes, doing QA work, writing documentation, writing bug reports or just telling some friends about our software. Thank you very much! I hope you stay with us in 2009. Happy new year to everyone!

December 30, 2008

Looking back at 2008 from a calendar perspective

We're just two days away from 2009, so this is probably a good time to look back on 2008 and some of the good and some of the not so good stuff that happened in that year from my own perspective.

First the good stuff:

  • We released two fine releases this year with 0.8 in early April and 0.9 in late September. Both releases were well received by our users and had a considerable amount of new features and UI improvements, which most people loved.
  • Our development transition from the MOZILLA_1_8_BRANCH on CVS to the current Gecko 1.9.1 backend on Mercurial (the trunk) went very smoothly. Given the fact, that we had essentially abandoned the trunk for nearly 18 months and had had close to no testing on the trunk during our time on the branch, everything went very well. I think this speaks well with regards to the skills of our developers as well as the maturity of the mozilla platform that this was so rather painless.
  • We're well on our way to our 1.0 release and the integration of Lightning into Thunderbird 3. We've made some great progress on the road to integrate Lightning better into Thunderbird. The emergence of Mozilla Messaging and the energy that David Ascher and his newly assembled team have brought into the Thunderbird community make it much more exciting today to work on extending Thunderbird's capabilities than was the case 12 or 18 months ago.
  • We had some great team-building events this year. The 3rd face-to-face meeting in Hamburg, the Mozilla summit in Whistler and the Mozilla Camp Europe in Barcelona were great highlights of 2008 that both excited the community as well as the developers and other contributors that were part of these events. My thanks go to Sun for hosting the frist event and to the Mozilla Corporation/Mozilla Europe for hosting the last two.

Now the not so good stuff:

  • We have not yet come to the point where Lightning is part of the default Thunderbird installation. We're having some sort of a chicken-egg problem right now. The Thunderbird crew currently does not want to enable Lightning by default in Thunderbird 3 nightly builds because of quality reasons. But we want them to enable Lightning by default ASAP because that would broaden our testing and QA coverage significantly, thereby enabling us to remove those bugs faster and more easily, that the Thunderbird crew currently sees as blocking the activation of Lightning. We'll probably need to work this out early in 2009.
  • We have not managed to increase our development community in a significant way. I'm actually very concerned about this one, because right now the 3,75 people that Sun Microsystems has assigned to the project (2 full-time developers, 1 full-time QA engineer, 1 part-time (50%) build engineer, 1 part-time (25%) user experience lead) do most of the work in the project. That is not bad in itself, but looking at it from a medium- to long-term perspective, we really need to work much harder on attracting new talent to the project to place it on a much more solid foundation. We've started some efforts with regards to that in 2008 with (hopefully) improved communication activities between the core team and the community, but we obviously need to do much more in 2009 to make a significant change happen.

That is my perspective on 2008. I would be interested in hearing your take on the Up's and Down's of our project in 2008. Until that I wish everyone of our blog readers a happy new year 2009!

December 5, 2008

Sunbird/Lightning needs t-shirts!

We need great t-shirts!

Dear designers, we now have a great new community store, where anyone can upload designs, and t-shirts come out the other end.

We would really appreciate it, if you could help us with some cool designs for Sunbird-wear or Lightning-wear.

November 28, 2008

[November 28, 2008] Lightning/Sunbird Status Update

22 days with no update here :-(
Some of you may think that this is, because we're not making much progress, but this couldn't be farer from the truth. Actually we have fixed 57 bugs in the last three weeks, which is is really an impressive feat.

Because of the large amount of changes, we're asking everybody to go and download a nightly build and test it intensively and report all the bugs that you find in bugzilla.

As a reference, here's the list of the 57 bugs that were fixed within the last 22 days:

  • Bug 349892: No validation what (kind of data) is pasted
  • Bug 355927: Make description in install.rdf localizable
  • Bug 357399: Import of iCalendar with (invalid?) RECURRENCE-ID is incomplete
  • Bug 380289: Warning: Error in parsing value for property 'max-height'
  • Bug 390922: File | Exit menu item in Event dialog is misleading and should be removed
  • Bug 392465: Accept meeting invitation fails (has RECURRENCE-ID but no parent item)
  • Bug 405529: Event dialog: Typed start time or end time reset to default after moving focus
  • Bug 417585: Find Event toolbar button doesn't restore collapsed unifinder
  • Bug 419807: After closing task dialog now save-messagebox pops up
  • Bug 423861: No email prepared when the timeslice of an event is changed from the calendar view
  • Bug 437982: No accept/Decline buttons and NS_ERROR_NOT_INITIALIZED in calIItipItem::getItemList
  • Bug 453138: Display 'Last day of the month' recurrence rule as clear text
  • Bug 454933: Move month, day, week mode buttons into calendar view
  • Bug 455752: Update internal timezone database to version 2008i
  • Bug 456671: Hong Kong holidays updated with 2009 holidays added
  • Bug 457467: Sunbird/Lightning 0.9 source missing folder: mozilla/security/nss-fips
  • Bug 458828: Many errors when setting up zimbra calendar
  • Bug 459184: Timezone for Australia/Perth is wrong
  • Bug 459371: Convert eMail to event, try to add attendees -> Attendees dialog is read only
  • Bug 459402: Provide Sunbird l10n builds from comm-central
  • Bug 459645: Open Timezone dialog in attendees dialog -> error output
  • Bug 460041: Modifying an event remove its category
  • Bug 460413: Incorrect mail when accepting invitations with line breaks in subject
  • Bug 462326: Thunderbird with Lightning leaks on Shutdown.
  • Bug 462837: WARNING: Illegal character in window name prompt-occurrence-modification
  • Bug 462990: Outlook 2003 Calendar UID are line wrapped when added to Calendar
  • Bug 463047: Use js 1.7 iterators for properties bag and ical components
  • Bug 463060: Clean-up and move clipboard.js
  • Bug 463195: CalEvent/calTodo icalComponent setter: make sure object is properly reset
  • Bug 463267: Adding or modifying event throws exception
  • Bug 463282: Tasks cannot be created or imported
  • Bug 463401: Invitations dialog is empty
  • Bug 463407: eMail notification dialog on attendee side after first event change is wrong
  • Bug 463507: Add currentAppVersion to extensions.update.url default pref
  • Bug 463680: L10n windows builds are broken
  • Bug 463716: Icon and preview image for default theme missing in add-on manager
  • Bug 463784: Copy and multiple paste is broken, fails with DUPLICATE_ID error
  • Bug 463790: Do not pass compiler flags to --enable-optimize
  • Bug 464102: When closing Edit Task dialog, it will not prompt to save
  • Bug 464344: Deleted events from the server are still shown in Lightning after a refresh
  • Bug 464348: Adding Hebrew locale to Sunbird all-locales
  • Bug 464365: Selecting Write Button -> Message brings up two compose windows
  • Bug 464444: No event notification eMail when organizer deletes the last attendee
  • Bug 464560: Error: "this.setProperty is not a function" in calAttachment.js
  • Bug 464751: Missing button icons in Customize Toolbar dialog of Event/Task dialog
  • Bug 465227: Updated 2009 spanish holidays calendar for Mozilla Calendar project website
  • Bug 465285: Indonesian Holidays 2009
  • Bug 465717: WCAP calendars are not available in lightning/sunbird build 20081118
  • Bug 465739: Attempting to close a new task dialog with no changes asks if I want to save
  • Bug 465896: Many timezone startup errors on fresh profile
  • Bug 465911: Invite Attendees dialog shows no free/busy information
  • Bug 466119: Add Sinhala (si) to calendar/locales/all-locales
  • Bug 466164: Icon for calendar-timezones.xpi
  • Bug 466301: Make it easier to restore collapsed sidebar by adding a grippy to the splitter
  • Bug 466308: Sunbird Mac OS X nightly builds are failing since 19-Nov-2008
  • Bug 466367: Receiving acceptation from a Windows Lightning to a Linux version results in a garbled e-mail
  • Bug 466996: Implement single / plural form in alarmWindowTitle

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

November 6, 2008

[November 06, 2008] Lightning/Sunbird Status Update

Two weeks have gone by and the Calendar developers are fixing bugs like crazy, as evidenced by the 44 bugs that we could fix in the last 14 days.

Because of the large amount of changes, we're asking everybody to go and download a nightly build and test it intensively and report all the bugs that you find in bugzilla.

As a reference, here's the list of the 44 bugs that were fixed within the last 14 days:

  • Bug 281690: Days are shown two times in Minimonth (depending on timezone)
  • Bug 303663: Should ICS calendar always bumps DTSTAMP on all events when writing?
  • Bug 305432: Setting nativeTime sets timezone to UTC
  • Bug 351880: Selecting repeating event in Unifinder does not select events in Main View
  • Bug 358498: calAttendee::icalProperty bug with rsvp
  • Bug 361634: imip-bar should consider local status of iTIP/iMIP invitations
  • Bug 394902: Update libical
  • Bug 401597: Provide Sunbird nightly updates via aus2-community.mozilla.org server
  • Bug 412096: "New Event" button should have the same disabled state everywhere
  • Bug 414949: Add AMO integration pane for Sunbird
  • Bug 418345: Decide how to handle Generation property properly
  • Bug 431127: Move email-specific itip processor code to the transport
  • Bug 431383: Replace GIF with APNG throbber
  • Bug 445769: iMIP bar isn't updated after declining an invitation
  • Bug 446172: Add tentative invites to invites-counter
  • Bug 450565: When accepting an invitation the 'Default alarm setting' is not considered
  • Bug 452759: Tracking bug for 0.9 RC cleanup
  • Bug 456354: Get rid of "Today" toolbarbutton
  • Bug 456377: Integrate New Event, New Task into Write Button
  • Bug 457024: Crash during shutdown
  • Bug 457203: iTIP overhaul
  • Bug 458190: Broken unit tests
  • Bug 460263: Postflight on macosx fails when building thunderbird with lightning
  • Bug 460408: Shutdown crash at nsXPConnect::GetRuntime()
  • Bug 460649: Make use of new search textbox widget in unifinder
  • Bug 461166: e4x parser borks on surrounding white spaces and certain response elements
  • Bug 461328: Errors because chooseCalendarDialog.xul and calErrorPrompt.xul aren't packaged
  • Bug 461337: Sunbird tinderboxen need more disk space to stay green
  • Bug 461628: Failed to load jar:calendar.jar!/content/calendar/calendar-minimonth-busy.js
  • Bug 461709: Remove ctrl-q for quit on Windows (like Thunderbird)
  • Bug 461826: .ics attachments from Thunderbird/Lightning not compatible with iCal
  • Bug 461941: [404] link to http://www.mozilla.org/projects/calendar/lightning/build.html
  • Bug 461944: Selected event in unifinder is not highlighted in calendar view
  • Bug 462026: 301 and 302 redirects not done properly with caldav provider
  • Bug 462317: Crash [@strlen][@icalmemory_strdup] when closing a recursive event
  • Bug 462393: Sunbird tinderboxen busted [Error: mozilla/dist/bin/js: Not a directory]
  • Bug 462426: Throbber icon not visible in Customize Toolbar dialog
  • Bug 462447: Remove CVS leftovers from new buildbot mozconfig files
  • Bug 462490: Today pane -> 'new event' icon is defect
  • Bug 462837: WARNING: Illegal character in window name prompt-occurrence-modification
  • Bug 463060: Clean-up and move clipboard.js
  • Bug 463067: Small icons for Cut/Copy/Paste toolbar buttons are truncated
  • Bug 463079: Assertion failure, can't load any remote calendars
  • Bug 463082: Update screenshot section to Sunbird 0.9 release

Many thanks go to all developers, contributors, localizers, testers, and supporters that make this possible.

October 23, 2008

[October 23, 2008] Lightning/Sunbird Status Update

Another week has gone by and we are making good progress with bugfixing and driving the integration into Thunderbird forward. Here's the list of the 19 bugs that were fixed within the last 8 days:

  • Bug 290747: Use sunbird.jar for sunbird specific files
  • Bug 329582: Remove gCalendarWindow
  • Bug 332796: Incorrect behavior of up/down arrow keys in unifinder
  • Bug 348481: Unifinder: focus is lost when moving between events via up & down key
  • Bug 351145: Entry unreadable in unifinder/task list
  • Bug 404468: Can not review calendar whilst reviewing invitations
  • Bug 412817: Improve ASSERT macro output or remove the macro
  • Bug 415509: Only the last event of a day is selectable by mouse click in day/weekview
  • Bug 451018: Change "Send attendees invitations via email"
  • Bug 452381: Don't pass strings to setTimeout
  • Bug 454543: Calendar Multiday-View: Performance improvement is required
  • Bug 456364: Thunderbird3: Remove Find Events, Delete, Print, Reload from Toolbar
  • Bug 459500: Cleanup packages-static, add missing and remove unnecessary entries
  • Bug 459803: Searching with unifinder causes error output and doesn't work
  • Bug 459908: Error "gCalendarStatusFeedback is not defined" when some dialogs
  • Bug 460234: Sunbird fails to load a calendar if HTTP Auth is required
  • Bug 460994: Crash Reporter is not enabled in Sunbird
  • Bug 461121: Thunderbird3: Move Invitations link into status bar
  • Bug 461162: Port bug 451466 to calendar [make -C calendar/locales wget-en-US]

Many thanks go to all developers, contributors, localizers, testers, and supporters that make this possible.

Meeting minutes of the Calendar developer status call (2008-10-22)

  • Participants: mschroeder, dbo, clarkbw, sipaq, fallen
  • Simon (sipaq):
    • sent email to gozer about l10n builds for trunk: gozer mentioned pretty near to l10n builds for sunbird, lightning more complicated. Localizers keep on asking sipaq about localized builds
    • L10n work on Thunderbird, finding unused strings.
  • Martin (mschroeder):
    • done some cleanup recently, removed gCalendarWindow
    • litmus test case cleanup with Andreas
  • Daniel (dbo):
    • has been left sick most of the week, but started working again yesterday
    • more on iTIP overhaul
    • some investigations into recent tb/ltn crasher
    • thinks about a parentless occurrences solution
  • Bryan (clarkbw):
  • Philipp (fallen):
    • getting rid of the toolbar items, either just removing or replacing them
    • posted bugs about what needs to be discussed
    • everything P1 that's in work
    • probably after barcelona: unifinder tied to gloda/exptoolbar
  • Simon reminds of blogging!
    • Daniel will try to write something up on the iTIP overhaul
    • Philipp will try to blog about the toolbar work or on integrating into gloda
    • Martin will come up with a topic by the weekend

October 15, 2008

Calendar code moving to comm-central and status update (October 14)

It's been a while since my last status update on September 19 and I want to give you an update on what we've been up to in the last four weeks.

But before I do that, I want to move your attention to the fact that all calendar code development has been moved away from the MOZILLA_1_8_BRANCH to our new repository comm-central, that we share with the Thunderbird and SeaMonkey developers.

This benefits us in various ways:

  • We get all the benefits of the Gecko platform development over the last two years (e.g. better memory management, faster javascript execution, better performance, etc.)
  • The platform is actually developed further, while only security and crash fixes were added to the 1.8 branch, which allows us to remove a lot of workarounds and ugly hacks in our codebase
  • We can now actively focus on getting Lightning in shape for the next Thunderbird release (TB 3) in early 2009. Before our move to comm-central Lightning on TB3 nightlies was broken in various ways and it's getting better every day now

There is one major downside as well:

  • As announced earlier on various occasions, Lightning 0.9 was the last release for Thunderbird 2.0.0.x releases and Sunbird 0.9 was the last release for Windows 98, Windows ME and MacOS 10.2 and 10.3.

    The reason for this is, that with the very small development team that we are having, we can only support one platform in an optimal way. For us this is Thunderbird 3, which we hope will feature a fully integrated Lightning extension in its default install. Everything else has to come after this longstanding goal of our project. There will still be Sunbird releases of course and we are planning to release Sunbird 1.0 together with Thunderbird 3

With that being said, it's time to mention the tremendous work of our developers in the last four weeks, where 63 bugs where fixed. Here's the complete list:

  • 386432:
    Unify front-end code of Lightning and Sunbird
  • 393748:
    Active tasks are dimmed in task list while completed tasks are shown in black
  • 405196:
    Unifinder: selecting event in unifinder doesn't select it in day or week view
  • 407961:
    Google sends Email reminders to all non-google attendees, 24 hours before the event
  • 414336:
    Last day in minimonth view is always not bold, independent whether events exist or not
  • 414957:
    Missing link on the Plugins pane of the Add-ons manager dialog
  • 419007:
    Invalid ics files don't trigger INVALID_TIMEZONE error, times are assumed as floating
  • 428091:
    Unifinder close button icon is misaligned/misplaced
  • 431775:
    Remove unused gopher files
  • 432440:
    A new calendar file of Israel holidays - 2008-2009
  • 435166:
    Better error handling for repeating tasks without start date
  • 437418:
    Libical shouldn't add extra linefeed after inner components of VTIMEZONE.
  • 437441:
    Finalize calendar-timezones.xpi
  • 437622:
    Upgrade via update mechanism fails, restart results in error on local calendars
  • 438807:
    Introduce "Meeting" category
  • 438964:
    Closing Edit Event window without modifications prompts Save Event dialog
  • 448753:
    Lightning and GData Provider are incompatible to Thunderbird 3.0b1pre
  • 450147:
    Some locales need to add "of" to the yearly-period-absolute-controls
  • 450391:
    Remove workaround for Task context menu
  • 451035:
    Remove the strings time.1 - time.23
  • 451912:
    Major update not offered when some language packs are installed
  • 453330:
    Make it possible to build Sunbird from comm-central
  • 453422:
    Add et (Estonian) locale for Calendar
  • 455182:
    Problems refreshing multiple Digest-authed CalDAV calendars
  • 455221:
    Graphic glitch on invitations-pane
  • 455262:
    Use PROPFIND instead of REPORT in CalDAV refresh()es
  • 455512:
    Dom_events.xpt differences bettwen ppc and i386 architectures breaks builds
  • 455728:
    Consolidate sort mechanisms in different views and trees
  • 455733:
    Consolidate filter mechanisms in different views and trees
  • 455768:
    Convert calendar/ from application/x-javascript to application/javascript
  • 455837:
    Support for re-enabling disabled calendars
  • 455863:
    Select event in unifinder scrolls multiday-view to time in its timezone
  • 455868:
    Update Sunbird and Lightning version numbers for comm-central builds
  • 455869:
    Remove MOZILLA_1_8_BRANCH ifdefs from calendar trunk code
  • 456037:
    Provide Sunbird nightly builds from comm-central
  • 456102:
    Minimonth should generally be able to show free-busy states
  • 456170:
    Cannot change authentication information for GData Provider
  • 456362:
    Thunderbird3: Move Today Pane Button into Status Bar
  • 456715:
    Remove COMM_BUILD ifdefs from calendar code
  • 456724:
    Add fy-NL to calendar all-locales list
  • 456865:
    Select Calendar dialog doesn't show Google Calendars when accepting invitations
  • 456923:
    Add a build target to compare bin/ and the package list
  • 457078:
    Incorrect Icelandic language name on download page
  • 457692:
    Switch the invites dialog to use local Address Book autocomplete on toolkit interfaces
  • 457755:
    Add l10n.ini file for Calendar for new python-based compare-locales
  • 457830:
    Delete extended properties
  • 457854:
    Drag Shadow doesn't disappear after event resize
  • 457890:
    Lightning 0.9/Google Calendar 0.5 do not synchronize Google Alarms anymore
  • 458078:
    Sunbird-bin shouldn't try and link directly with libtracemalloc anymore
  • 458163:
    Lightning 0.9 source tarball is missing on FTP server
  • 458201:
    Link to 64-bit Linux version of Lightning is incorrect
  • 458368:
    Move and integrate calendar/prototypes to calendar/base
  • 458404:
    Remove -moz-pre-wrap from calendar-views.css
  • 458492:
    Llink to lightning/nightly/latest-comm-central/ builds
  • 458589:
    Drag and drop ical (.ics) attachments onto calendar icon does nothing
  • 458611:
    windows nightly build link is broken
  • 458808:
    Remove some unused entities from calendar.dtd
  • 458830:
    Lightning build instructions are obsolete
  • 458858:
    Lightning keeps asking for password on startup
  • 459107:
    Sunbird startup error (NS_ERROR_FILE_NOT_FOUND - nsIXPCComponents_Utils.import)
  • 459182:
    Syntax error in iCal file for Israeli holidays
  • 459432:
    Please move to Gecko 1.9
  • 459951:
    Update to links and description for CSV to iCal tool

Many thanks go to all developers, contributors, localizers, testers, and supporters that make this possible.

October 14, 2008

Fred's developer comments: Cleaning up the trees - the first step

A few days ago, a new Calendar contributor, Fred Jendrzejewski, fixed bug 455728 and bug 455733. I believe that what he experienced here might be beneficial for other would-be contributors, so I asked him to write about his experience in the calendar codebase. Here is his report:

  • Some introducing things
    Few weeks ago I started to work on the mozilla calendar code. My first interesting patches became available in the nightly builds last week and I would like to report about my experience. As this is my first blog post for the mozilla community, I will introduce myself shortly. I am a German 22-year-old physic student in his last year. Since two years I have the great pleasure to live in Paris and to get to know the French way of life (I love it).

    A few months ago, I started to work on the Spicebird project, but the problems in the calendar code also catched my attention. I began working on the task / event lists and didn't like that everything was written twice. The idea was that tasks and events are very similar. This property is used almost everywhere in the code( by the calIItemBase object), except those trees. So I decided, highly motivated, to rewrite the two trees and to work on the simpler code.

    So, I asked Philipp and Berend for there opinions and they liked it, but over time, the tree code became so complex that it was almost impossible to review the patches nicely. I had to step back and simplify the code first. Following Berends proposition, I started to sort out the hole mechanism for sorting and filtering items in the trees.

  • The new way of sorting and filtering
    So I sorted out functions, modified the code and abstracted it. If you want to sort a item array now, you don't need to write this function completely by your own: you can use a preset of sort functions in the calUtils.js file. Even more practical is the solution for the filtering. We now have a calFilter object, which can handle the most common filtering mechanisms for you. We now have built-in solutions for property filtering and date filters.

    First, you can associate a text field for text search to the filter object, just by passing the id as a string to the text-field to the filter. Another possibility is to set a property filter out of the property filter bag (a predefined set of filter functions) in the calFilter object. This code is just one string away from usage, as the text-field filter. If you don't like any of the built-in functions, you also can write your own filter function and set it as the property filter of the calFilter object. Here again, the date filter can use a predefined set of times (today, this week...). But you can also write your own date filter. To filter out the next 8 days you have to pass the string to the calFilter and it should work already. You'll still have the possibility to set the start and the end date manually. This is done in only one line.

    Why is it nicer? I think that these are some nice functions that developers of the core code and for extensions can use. If they find other very common filter functions the filter bags can be extended easily. So actually I have cleaned up the trees now and we have created a first common set of filter and sort functions in the calendar code, that can be used as a standard implementation.

  • What will come?
    Now I started to work on a unification of observers and tree internal mechanisms. It seems possible to have only one tree implementation with only minor modifications for the event or task tree. Wait and see...

October 2, 2008

L10n dashboard now available to Calendar localizers as well

Thanks to gozer, Mozilla Messaging's build guru, we now have a working l10n dashboard for the calendar localizations. Localizers, who also do l10n work for Firefox or Thunderbird should already be familiar with the dashboard, for the others here's a quick explanation of the dashboard table:

  • Locale: The locale code for each calendar locale
  • Tree: The tree ID, the Mozilla Messaging dashboard currently knows two trees:
    • tb3x: Information on the localization status of the Thunderbird localization of a given locale
    • cal3x: Information on the localization status of the Sunbird/Lightning localization of a given locale
  • %: Percentage of completion of a locale (Please note, that this will probably never reach 100%, because there are some strings in each localization which shouldn't be translated)
  • Errors: Number of localization errors
  • Missing: Number of missing strings
  • Unchanged: Number of unchanged strings excl. access- and commandkeys (this relates to the % number mentioned above)
  • Stats: Graphical history of locale status (H) and compare-locales output (C)
  • Status: Graphical indicator for the current state of the localization

I hope this helps our localizers in working even more effectively than they have already done in the past (if that's even possible). Thanks again, gozer!

September 24, 2008

Problems with updating Lightning 0.8 --> 0.9

To answer all the questions with a single post:

Yes, we are aware that every time you startup Thunderbird, it will try to upgrade Lightning to 0.9 but will fail with a "Download error -288". The reason for this is bug 456710, which Mozilla IT is working on. We hope that this will be resolved soon.

Until then, if you want to upgrade to Lightning 0.9, please uninstall Lightning 0.8 in the addon manager, download Lightning 0.9 and install it. Your calendar data will be preserved. We are sorry for the inconvenience.

September 23, 2008

Lightning 0.9 and Sunbird 0.9 are out!

The Calendar Project is proud to report, that the 0.9 release of Lightning and Sunbird has been completed and is now available via AMO and the Calendar Project website.

Five and a half months after the 0.8 release we move one step closer to our 1.0 release, currently planned for early 2009. Notable improvements of this release are:

  • Events spanning days now have a visual indicator indicating them as connected events
  • When reloading a remote calendar a progress indicator is now shown
  • The so-called "minimonth" (small calendar month in the upper left) has been given a visual overhaul
  • The calendar views (day, week, multiweek, month) have been given a visual overhaul
  • The today pane can now be displayed in calendar mode and task mode as well [Lightning-only]
  • CalDAV support and interoperability with various CalDAV servers has been improved
  • iMip/iTip support (support for email invitations) has been greatly improved [Lightning-only]
  • The application stability and memory consumption has been greatly improved
  • Lightning 0.9 is intended to be the last release for the Thunderbird 2 series. For the future we are planning to integrate Lightning fully into the upcoming Thunderbird 3 release [Lightning-only]
  • Icelandic, Romanian and Traditional Chinese were added as new languages. Unfortunately no builds in Macedonian or Turkish are available for 0.9
  • A full list of all the 397 changes that have gone into this release can be found on the Rumbling Edge website

Lightning 0.9 and Sunbird 0.9 are available for Windows, Mac OS X (universal builds), Linux, Solaris (Intel) and Solaris (Sparc) in 31 different languages including English.

Please use the following links to download the release:

Please read the release notes for Lightning 0.9 and Sunbird 0.9 before downloading.

Thank you again to all our developers, contributors, localizers, testers, and supporters. We would not be able to do this without your assistance!

September 19, 2008

Lightning/Sunbird 0.9 RC2 is out!

The second release candidate (RC2) of our 0.9 release is available! We really think that this is it. If nothing serious shows up during the next few days, this RC will become the 0.9 final release. Here are the links:

The Lightning builds contain all available locales (30). To download a localized Sunbird build, you'll need adjust the link and replace the "en-US" string with the locale code of your locale, e.g. "ko" for Korean.

Here are the fixes that went into this 2nd RC:

  • Bug 416195: Selected calendar not highlighted in import and export
  • Bug 454664: Events not displayed after opening ics file
  • Bug 454691: Exception occuring when multiple transactions are occuring
  • Bug 454757: Wrong usage of this/thisCalendar
  • Bug 454983: Error when editing repeating event with exceptions
  • Bug 454998: Free/Busy lookups don't work
  • Bug 455049: Toggling offline results in uncaught exception
  • Bug 455128: Exception on cached caldav calendars
  • Bug 455130: Potential transaction mismatch between sqlite databases
  • Bug 455132: Pasting event to disabled calendar deletes all events
  • Bug 455133: Dragging repeating event to the date of a previous deletion deletes it too
  • Bug 455182: Problems refreshing multiple Digest-authed CalDAV calendars
  • Bug 455232: Egroupware installation gives error when querying for tasks
  • Bug 455289: Offer WCAP experimental caching
  • Bug 455298: Impossible to load remote caldav
  • Bug 455462: Hovering over event in week view causes visual bug

September 11, 2008

[September 11, 2008] Lightning/Sunbird Status Update

Now that 0.9 RC1 is out, I thought some of you might be interested in the latest news on what patches made it into the RC1. We fixed 34 bugs in the last two weeks and most of the bugs in the list below made it into the RC1 (I'm not 100% sure, which bugs didn't make it, sorry). So that is really good news and with you guys out there testing the hell out of those builds, I'm sure we can make it to the RC2 and the final release in a very short timeframe.

Here are the 34 bugs fixed within in the last two weeks:

  • Bug 202360: Color Coding of Tasks and Events (multiple classification)
  • Bug 348009: Drag and Drop in Month view freezes Un*x desktops
  • Bug 354979: Timezone names sorted by their English names
  • Bug 363218: Migrator: migrating evolution files not working
  • Bug 392561: Need to revise provider error notifications
  • Bug 428544: Unable to dismiss reminder for repeating events that are sync'ed with Google Calendar Sync
  • Bug 428851: Accepting Meeting Invites Does Not Update Google Calendar
  • Bug 433772: Edit/New Task Dialog resets Due Date if Start Date is modified
  • Bug 437318: optimize caldav queries for "long" calendars
  • Bug 437441: Finalize calendar-timezones.xpi
  • Bug 437944: Memory leakage in the calendar Status-Observer
  • Bug 438964: Closing Event window without modifications prompts Save dialog
  • Bug 445736: Wcap event/non-server attendee -> organizer gets no Update button in reply mail
  • Bug 446002: Tooltips in calendar list always show the first readonly calendar name
  • Bug 449574: aDOMWindow errors
  • Bug 450034: Month view shows weekends like out-of-current-month days
  • Bug 450104: insertion of data is extremely slow compared to other platforms
  • Bug 452214: CalDAV provider interop issues with newer CalendarServers
  • Bug 452231: Colliding events: events collide with special invitation status;
  • Bug 452610: Disable CalDAV scheduling (make pref-based)
  • Bug 452759: bump sunbird version
  • Bug 453195: Allow providers to disable imip
  • Bug 453198: Allow arbitrary reminder times
  • Bug 453250: turning calendars off not working
  • Bug 453409: Calendar list scrollbar hides read-only icons
  • Bug 453453: Error in calAttendee.js when opening properties dialog
  • Bug 453454: Principal namespace list will always be empty with multiple home sets
  • Bug 453794: Cannot update/create any event on a Google calendar
  • Bug 454180: Support for server-based auto-scheduling
  • Bug 454195: calendar overlapp when floating timezone is involved
  • Bug 454213: Parsing errors if server doesn't return valid XML on getetag
  • Bug 454478: No drag shadow displayed in month/multiweek view anymore
  • Bug 454540: [CalDAV] Ensuring trailing slash with replace fails
  • Bug 454637: firstInRealm always false

Many thanks go to all developers, contributors, localizers, testers, and supporters that make this possible.

0.9 RC1 Available - We Need You!

Finally! The first release candidate (RC!) of our 0.9 release is available! I know you've been waiting a long time for it, so grab yourself a build. Here are the links:

The Lightning builds contain all available locales (30). To download a localized Sunbird build, you'll need adjust the link and replace the "en-US" string with the locale code of your locale, e.g. "ko" for Korean.

We really need your help to complete the rest of the L10N Checks and the Update testing, as you can see from our Test Plan.

The Update Testing is of special concern to us, because historically this has always been where we have found critical issues in our release candidate builds. So, please take a look. Feel free to update the test plan wiki or leave a comment on this post with what you tested, so we can track what has been done versus what is still remaining to do.

If you have problems or questions, please drop by #calendar-qa on IRC.

Happy Testing!

August 31, 2008

Berend's developer notes: My XBL adventures in the calendar views

I recently fixed some issues around the event boxes in the calendar views (see calendar-multiday-view.xml and calendar-view-core.xml). They are implemented by means of XBL and although they are certainly a very sophisticated use case I found that the implemented bindings do not always utilize all features of this markup language. Probably some of these features are also missing in many other bindings around the world and so I thought this is worth a blog entry :)

Basically an XBL binding contains several elements: One 'content' element where the structure of the binding is defined, one 'implementation' element, that controls the behavior and one 'handlers' element that listens to events.

For the maintenance of an arbitrary XBL binding it is imperative to keep as much information as possible within its 'content' element. This way it is far easier for the developer to perceive the structure and logic of the binding and it also helps to avoid redundant information that may lead to bugs during the development process. If the developer should decide to modify the structure of a binding binding he will most likely run into problems when he then has to adjust the 'implementation' code at many places, too. In this context the 'attribute inheritance' feature executed by the 'xbl:inherits' attribute proves to be very helpful. This attribute takes care that modifications are forwarded down to the appropriate child elements. When it is done like this, attributes may be directly set at the binding without any internal knowledge about it.

In some cases anonymous elements were added unnecessarily to the bindings. For example quite often one box element can be removed just by extending a binding to a 'xul:box' or whatever. 'Spacer' elements may be exchanged by setting the 'pack' or 'align' attribute to the parental element.

I observed that there is also some redundancy in the code. I remember that this has not been resolved with regards to the possible performance loss. From all I have read and heard about XBL this argument is to be taken seriously, but I believe that the use of the 'children' tag within a binding could be an elegant solution, because it allows to add various anonymous content at a defined insertion point.

XBL goes hand in hand with cascading stylesheets - whereupon one should pay close attention to move all style settings to '.css' files. In my struggle with the calendar views I was frequently confronted with completely unexpected problems and side effects caused by seemingly harmless style attributes. For example I could see that setting attributes at certain elements seem to force a distinctive relayout and consequently trash the whole view because of too many other 'compact' widgets involved. This and some other side-effects have made me occasionally become anxious to destroy the layout by merely looking at the .css files!

Last but not least I certainly don't get around to admit that the views have always run quite reliable and offer a vast functionality with an appealing design! As we all know a lot of blood, sweat and tears have accompanied their implementation...

I hope that we will find some time to give the code its finishing touch at the beginning of the next release cycle so that we have time to react to the inescapable regressions that will come up.

August 29, 2008

[August 29, 2008] 0.9 release status update

I guess it's time to give you an update on our efforts to finally nail down the 0.9 release.

The major newsitem is, that we have decided on our last developer conference call that we will cut CalDAV scheduling from the list of 0.9 features. The reason behind this is, that we have found that this feature is still too immature for wide-spread consumption and the list of regressions would likely put the release date a few weeks (or even months) in the future. Therefore CalDAV scheduling will be disabled by default in 0.9, but interested users can enable it, by setting a hidden preference via about:config.

With that out of the way, we are now down to nine release blockers, where only four of the nine blockers will require code changes and the other five covering tasks to be done during the release preparation process by our build and documentation crew.

So hopefully, we can fix the four remaining code issues during the next week and give you first release candidate (0.9 RC1) shortly thereafter. We also have fixed some other bugs (15) during the last week. Here's a list of last week's bug fixes:

  • Bug 326792: 'Next' button doesn't change to active when dragging URL into text field
  • Bug 366482: "Edit as new" for opened eml files results in a broken compose window
  • Bug 409166: Missing crop attribute in agenda checkbox
  • Bug 437412: Zero-length and short events are shown at the wrong times in timegrid
  • Bug 446303: Use the "RELATED-TO" property
  • Bug 447800: Month View is missing a right border
  • Bug 447814: Reloading remote calendars shows wrong progress in status bar
  • Bug 449449: Invitations Link: CPU usage every three minutes
  • Bug 450563: Attendee gets organizer alarm setting if he accepts iTip/iMip invitation
  • Bug 451585: Use ICS service for ics parsing in CalDAV
  • Bug 451827: no local storage calendar, error at startup
  • Bug 451937: Titlebar changes to text of Calendar Mode at midnight
  • Bug 452379: Accepting an invitation on caldav (Bedework) doesn't work (regression)
  • Bug 452392: Minimum height of eventboxes is too little
  • Bug 452417: Readonly events should not show grippies on hover event

Many thanks go to all developers, contributors, localizers, testers, and supporters that make this possible.

August 22, 2008

Philipp's Developer Notes: Using CalDAV with Google Calendar

When I arrived at the Mozilla Firefox+ Summit 2008 on the 28th, I was surprised to hear, that Google announced the release of CalDAV support for Google Calendar while I was up in the air. At first I thought Simon was joking when he told me, but he was not!

I had very mixed feelings on this step. On one side this is a really great step. Supporting CalDAV means that more applications will be able to natively read and write to Google Calendar, without the need for third party applications that proxy the write process through the web-based API. In the long run this means less work for me since at some point the Provider for Google Calendar will not be needed anymore. Instead of fixing the Provider for Google Calendar, I can focus on CalDAV bugs, which benefits both Google users and those of other servers. Also this is something I've been hoping for a while now and have asked Google employees about in the past.

On the other side, I was of course a bit disappointed, that all the work and pain I've put into the Provider for Google Calendar is now being made obsolete. This didn't last long though, since thats just the way it goes with software and I was always aware that at some point something like this would happen. Nevertheless I have no regrets since I think I've done a great deal for users of the Provider and the feedback I've gotten was overwhelming (and mostly positive). Writing the Provider also taught me a great deal about the Mozilla codebase and how the calendar application works, so it was definitely worth it!

Since the above sounds much like I'm going to drop work on the Provider right away and suggest to use CalDAV, let me tell you that it is quite the contrary. As noted in Google's blog post, the release of CalDAV support is developer-focused. There are a number of known issues and application support is currently quite minimal. At the time of release, as far as I know only Apple iCal actually works. Therefore, I'd still suggest to use the Provider for Google Calendar until Google's CalDAV server is more mature.

Using a few workarounds introduced in bug 448561 and bug 451455 I was able to make Sunbird/Lightning's CalDAV work with Google. If you are interested in testing, please feel free to take a look at the latest nightlies (Sunbird / Lightning).

Philipp

[August 22, 2008] Lightning/Sunbird Status Update

We're getting nearer and nearer to our first 0.9 release candidate. With 31 bugs fixed in the last 10 days, many of them release blockers, we're now down to only 11 release blockers at the time of writing. 8 of those 11 bugs currently still need a patch, so if anyone of our readers wants to help out, now would be a great time.

On the localization front it looks like the Macedonian and Turkish localizations will not be able to make it, but Slovenian will, so we'll still be in better shape l10n-wise than we were during the time of the 0.8 release.

For anyone interested, here are the 31 bugs fixed within in the last 10 days:

  • Bug 316927
    Fix dataloss, when importing events/tasks with multiple categories
  • Bug 405222
    Time format not respected in prefs window
  • Bug 406581
    Enhance cal::detectTimezone() to dump errors
  • Bug 409921
    Implement CalDAV scheduling
  • Bug 417629
    Import ICS file to CalDAV server fails to handle recurrence-id correctly
  • Bug 435447
    Today pane events don't change color when calendar color is changed
  • Bug 444532
    Select 'Convert to->Task/event' in the preview pane in mailmode causes an uncaught exception
  • Bug 447996
    Month View doesn't display the full month anymore
  • Bug 448205
    Calendar mode does not set Thunderbird Application title (regression)
  • Bug 448561
    Allow CalDAV provider to work with Google Calendar's new CalDAV
  • Bug 448771
    Open task context menu in calendar view -> output in error console
  • Bug 448946
    Switching calendar views via keys ALT+[1-4] is broken
  • Bug 449019
    Mouse over event in unifinder
  • Bug 449401
    Storage provider does cleanly separate items of the same id across different calendars
  • Bug 449573
    Deleting item/items from local ics file fails with MODIFICATION_FAILED, items missing
  • Bug 450107
    View -> Tasks in View command behaves erratic in Month view
  • Bug 450285
    Startup Error: mozStorage exception: createStatement failed (regression)
  • Bug 450381
    Itip email are not sent while being offline
  • Bug 450398
    Add Icelandic (is) and Chinese Traditional (zh-TW) to shipped-locales
  • Bug 450447
    Remove pa-IN (Punjabi) and mn (Mongolian) from all-locales
  • Bug 450451
    Remove mk (Macedonian) and tr (Turkish) from shipped-locales
  • Bug 450611
    Add space between icon and button text in occurrence selection dialog
  • Bug 451020
    Support for mixed server/non-server attendees
  • Bug 451162
    Organizer's email address isn't in iMIP invitation request
  • Bug 451174
    CalDAV provider can fail to check inbox
  • Bug 451327
    Move mouse to the unifinder, but not over an event -> error output
  • Bug 451353
    Emphasize open/unanswered invitations
  • Bug 451383
    Tooltips are not updated and display wrong information (regression)
  • Bug 451455
    CalDAV provider can delete items mistakenly
  • Bug 451529
    Deleting invitation copy sends out CANCEL to all attendees
  • Bug 451539
    Recurring items and attachments

Many thanks go to all developers, contributors, localizers, testers, and supporters that make this possible.

August 20, 2008

Bruno's developer notes: CalDAV Scheduling Needs You!

One of the things we're excited about for the 0.9 release is the addition of CalDAV scheduling support. CalDAV scheduling is an emerging standard; the first widespread use of it was in Mac OS 10.5, where it allows iCal users not only to store their calendars on a shared server, but also check each other's free/busy schedules, send each other meeting invitations, respond to meeting invitations, and so forth.

With 0.9, people using Sunbird and Lightning will be able to do all these things, using not only Mac OS 10.5 servers but also a growing number of other CalDAV servers, both open-source and otherwise. And they'll be able to do so regardless of whether the other calendar users they are interacting with are using Sunbird, Lightning, iCal - or some other CalDAV client we haven't even heard of yet.

CalDAV scheduling support has just started to appear in nighlies over the last few days. It will be filled out further over the next few, but what it really needs most right now is TESTING! We're really hoping the community will give this new code a serious workout and help us find whatever bugs remain so that it will be rock-solid for the 0.9 release. As Daniel has noted, testing nightly builds can be dangerous to both your profile and your data - so be careful but please do bang at it and let us know what you find.

August 14, 2008

Daniel's developer notes: Be careful when using nightly builds...

There has been some trouble with an accidental SQLite database schema change I've backed out on monday (see bug 446303), which has forced people (which have updated to that specific nightly) to manually restore their storage.sdb.

I'd like to remind everybody that the nightly builds of Sunbird and Lightning are development versions that might break your profile and data. Even though the recent case didn't bring any dataloss (at least I am not aware of any) and a workaround is available, please take care and do backups before updating.

To prevent SQLite database schema trouble in the future, we've decided to require an additional second review on schema changes, and may add a bug keyword to tag those important changes.

I hope you understand...

August 12, 2008

[August 12, 2008] Lightning/Sunbird Status Update

We're getting nearer and nearer to our first 0.9 release candidate. With 34 bugs fixed in the last two weeks, many of them release blockers, we're now down to only 18 release blockers at the time of writing. 10 of those 18 bugs currently still need a patch, so if anyone of our readers wants to help out, now would be a great time.

On the localization front, 30 of our 33 are ready for the release (hopefully Macedonian, Slovenian and Turkish will still be able to make it), so we'll likely be in better shape l10n-wise than we were during the time of the 0.8 release.

For anyone interested, here are the 34 bugs fixed within in the last two weeks:

  • Bug 199732
    Events spanning days are seen as multiple events (display)
  • Bug 311773
    Initial landing of the Islandic Calendar localization
  • Bug 348264
    ORGANIZER property lost after import + export
  • Bug 363932
    Delete Warning should be redesigned
  • Bug 390313
    Tooltip too narrow with some Windows themes, text is truncated (regression)
  • Bug 412606
    Storage provider does not store X-params of attendees
  • Bug 421716
    CalDAV provider should support getctag
  • Bug 434354
    CalDAV provider should cope with multiple principal-collection-sets
  • Bug 435174
    Today Pane not displayed after startup when using Spamato extension [Error: LOG is not a function]
  • Bug 437412
    Zero-length and short events are shown at the wrong times in the timegrid (regression)
  • Bug 437420
    Wrong display of WCAP all day events in the unifinder
  • Bug 440106
    Editing of an event on a cached calendar in online mode isn't possible
  • Bug 444276
    Try to accept a iTIP/iMIP invitation (open Mail in a separate window) -> select calendar dialog is empty
  • Bug 440358
    No WCAP calendar events visible after restart of sunbird
  • Bug 440700
    [Trunk] Cannot switch back from Calendar to Mail Mode [Error: mailToolbarMenuItem is null] (regression)
  • Bug 442915
    Warning: reference to undefined property this.mTaskArray[aRow]
  • Bug 445287
    Cache combined with read-only calendar spawns error flood
  • Bug 445492
    Use 'DEL' key to delete an event of a rule -> 'Deleting Repeating Event' dialog starts two times.
  • Bug 445731
    Editing an saved event with an attendee -> 2 mails were send, one 'Event Invitation', one Event Canceled'
  • Bug 445995
    Event dialog also contains elements from task dialog (regression)
  • Bug 446512
    Recent nightlies of Lightning cause NULL-pointer dereference crash in TB
  • Bug 447997
    Multiweek View doesn't update when changing menu View -> Number of Weeks selection
  • Bug 448206
    Calendar creation wizard acting weird when creating a calendar with duplicate URI
  • Bug 448325
    Today Pane context menu: Delete command inside 'Convert To'
  • Bug 448453
    Caldav Calenders working with 0.8 don't load under 0.9pre
  • Bug 448753
    Lightning and GData Provider are incompatible to Thunderbird 3b1pre (Gecko 1.9.1) builds
  • Bug 448803
    CalDAV provider should not query-by-uid for moved items
  • Bug 448886
    Unable to edit event: comes up with attendee confirmation
  • Bug 448946
    Switching calendar views via keys ALT+[1-4] is broken
  • Bug 449031
    Add meta data API to memory/storage
  • Bug 449177
    Support free-busy querying for the GData Provider
  • Bug 449424
    Error "Component is not defined" in calendar-dnd-listener.js and sun-calendar-event-dialog-recurrence.js
  • Bug 449917
    Opening context menu without having selected an item reveals blank entry
  • Bug 449964
    2008-08-07 gdata-provider is last one that works

Many thanks go to all developers, contributors, localizers, testers, and supporters that make this possible.

August 5, 2008

Daniel's developer notes: How to present infinite recurring event series?

Sunbird and Lightning both have a feature called the "unifinder". It's the box at the top if you click the toolbar "Find Events". Next to the search text field you can select different time ranges to be scanned matching your search (or just present all matching the range if you leave it blank). The drop down box offers several time ranges, such as "All Events", "Today's Events", "Next 7 Days", ...

While the ranges look sensible, they cause me some headache, more specifically the unbounded ranges "All Events" and "All Future Events" w.r.t. infinite recurring events. If you select one of the unbounded ranges (e.g. "All Events"), the current implementation will only show the master items of recurring events, because there's no finite range to expand into. It shows the events in their condensed (unexpanded) form. While this approach misaligns the UI a bit (the other filters show recurring events in expanded form), it looks like a feasible way at first glance (modulo bugs around it). But there's yet a further problem with this approach: You could override´single occurrences of a recurring series, e.g. modify the start and end of an occurrence. Those are currently left out.

The latter and the inconsistent UI let me doubt that showing event series in condensed form is really what we want here, moreover because IMO showing expanded occurrences is far more intuitive. Solving the problem, I can imagine two solutions:

  • We simply drop the unbounded ranges (no "All Events", no "All Future Events").
  • We dynamically expand the list as the user is scrolling it down, if this feels good.

For the moment, until we have a good solution, I'd vote to remove the unbounded ranges.

I hope there are more options that we could consider, and would like to hear your feedback on this topic...

August 1, 2008

Simon's developer notes: Back from Mozilla summit

So I'm back from the Mozilla summit and hope to get out of my jet lag within the next few days. It was really a great adventure with bears, a power outage and a rockslide which got me first floatplane flight ever.

While many people seem to believe that Microsoft is behind all of this, I believe that this was all carefully planned out by Dan Portillo and John Lilly of MoCo :) My hat goes off to dan, who did a perfect job of organizing this whole event for over 400 people.

The summit was great in every aspect. I met lots of people, who I had only known online for years like Gary from the Rumbling Edge, Robert Kaiser (KaiRo) of SeaMonkey fame, Wayne Mery (Thunderbird QA), Axel Hecht (Pike), Mitchell Baker, the hopefully soon to be appointed MoFo Executive Director Mark Surman and many more who I can't possibly all name, because then this post would get a few pages longer.

The sessions were great (I went to most of the Calendar/Thunderbird related ones) and I even got to hold one session myself, where I could introduce myself to a lot of localizers in my new role as Thunderbird localization coordinator.

Besides the sessions, I also got the chance to talk with some people more in depth about some issues, most notably with Mitchell Baker, David Boswell and Mark Surman about sorting out the issues of getting the Calendar Project into the Mozilla Foundation directed giving program, the Mozilla Foundation vision and more ways of cooperating with the Mozilla Foundation and leveraging its assets to move the Calendar Project forward. We also did some product planning regarding the necessary steps for enabling Lightning in Thunderbird.

There's much more, that I could talk about, but I will just close this post by saying that this was a really great event, that many people will likely be talking about for years to come. Thanks Mozilla for organizing this!

July 29, 2008

Simon's Developer notes: Showing our bug fixing progress

Recently I was thinking about how we could show to people the progress in terms of activity, feature work and bug fixing that the Calendar Project has seen in the last few years. I came up with a number of bugzilla reports showing the number of bugs fixed per quarter since the inception of the Calendar Project.

I put all those numbers into a spreadsheet and created a graph from that and here it is:

While it's important to note that not all bugs are equal (A very complex thing like "Support device sync" would be one bug as would be something trivial as "Change window title from 'Edit event' to 'Open event'"), I think it still gives a good sense on the kind of increased activity that one could notice within the last few years in the Calendar project.

If anyone is wondering why we had such a huge drop of fixed bugs in Q2 2007, that was due to one of our key contributors being away for a few weeks in that time frame and the other developers waiting for him fixing a particular bug that was blocking the 0.5 release that was supposed to be released in that time frame.

July 28, 2008

[July 28, 2008] Lightning/Sunbird Status Update

As promised here is a new status update.

As you can see, the last 16 days have brought us a huge load of 45 bug fixes in anticipation of the upcoming 0.9 release. Unfortunately, due to the high amount of remaining blocking bugs (28 at the time of writing) we had to postpone the originally planned release date of 0.9 RC1 to a later date. I'll keep you posted on this.

Here's the list of all the 45 bug fixes:

  • Bug 319909
    Failure to properly serialize/unserialize ics ATTACH properties
  • Bug 352213
    Localizability issues with newevent.recurrence.every.label in calendar.dtd
  • Bug 374464
    Context menu: rename Edit Item / Delete Item entry to Edit / Delete
  • Bug 409845
    'Preferences' and 'Quit Thunderbird' are disabled in Calendar mode and Task mode
  • Bug 409921
    Implement CalDAV scheduling
  • Bug 411799
    fixing potential etag PROPFIND / PUT race
  • Bug 412962
    The filters of task pane should contain 'Open Tasks' or 'Not Completed Tasks
  • Bug 412971
    Bad formating of invitations - Weblinks in invitation unusable
  • Bug 413103
    Unify and localize string building for time intervals [start + ' - ' + end]
  • Bug 416239
    Crash on quit seems to point to libwebdav; eliminate use of webdav extension"
  • Bug 423172
    Leaks in calRecurrenceInfo
  • Bug 426153
    Add link to event page in event editing dialog
  • Bug 428035
    Freebusy requests repeated on related scheduling outbox of every configured calendar
  • Bug 428324
    Creating new profile fails on some systems; error in reading from storage.sdb"
  • Bug 429255
    Lightning not emailing invites for CalDAV calendars
  • Bug 430382
    Updated calendar views
  • Bug 432417
    calRecurrenceInfo::onStartDateChange leaves wrong RECURRENCE-IDs
  • Bug 435390
    Style sheet missing from iMip/iTip (regression)
  • Bug 437441
    Finalize calendar-timezones.xpi
  • Bug 437442
    Update timezone definitions
  • Bug 438534
    Remove processor define for windows x64 build
  • Bug 440017
    include config.mk before using INSTALL_LIGHTNING so that var can be set
  • Bug 440022
    ensure that Lightning doesn't have empty min/maxVersion in install.rdf
  • Bug 442220
    WCAP event: Timezone UTC/GMT changed automatically to Europe/London
  • Bug 442566
    make Lightning build on new shared calendar/mail/suite repository
  • Bug 443722
    Add possiblity to change elements order in Edit Recurrence window
  • Bug 444551
    Select an event in a readonly calendar and use the delete key -> error message
  • Bug 444748
    Get rid of custom timezone service
  • Bug 444822
    Add documentation to UI code and some UI code fixes
  • Bug 444827
    Add binding for calendar captions
  • Bug 445400
    Startup Error: ics-service doesn't recognize own tzid: Asia/Choibalsan
  • Bug 445488
    Mind default alarm setting if replying via invitations or event summary dialog
  • Bug 445527
    Some keyboard shortcuts are not shown in menu (regression)
  • Bug 445545
    Port Firefox/Thunderbird Bug 378598 to Sunbird
  • Bug 445728
    Delete an single event of a recurring event with attendees -> 'Notify Attendees' dialog pops up 2x
  • Bug 445982
    Task invitation via iTIP/iMIP doesn't work (Disable task invitations)
  • Bug 445997
    No email identity in calendar properties selected
  • Bug 446170
    Lightning build bustage from bug 440017, remove config.mk inclusion on 1.8 only
  • Bug 446190
    alarm service should mind disabled calendars
  • Bug 446366
    Header of multiweek view always assumes the week to begin with Sunday
  • Bug 446558
    Show tooltips in summary dialog
  • Bug 446559
    Set CSS classes for invitations
  • Bug 446666
    "Send attendees invitations via email" checkbox is disabled (grayed out)"
  • Bug 447621
    All day event -> tooltip shows wrong date (start and end)
  • Bug 447913
    CalDAV provider should avoid query-by-uid on after-PUT fetches

Many thanks go to all developers, contributors, localizers, testers, and supporters that make this possible.

July 25, 2008

Simon's developer notes: Off to the Mozilla summit

I'll be leaving today for the Mozilla summit in Whistler, Canada. Daniel, Philipp and Martin are also coming from the Calendar team as are hundreds of other key contributors from all major mozilla projects and products.

I hope to have some good discussions on the future of Mail & Calendar, localization and other issues that I've been pursuing. This will be a good time to finally meet in person many of the people that I've only been in contact with via newsgroups, mail and IRC.

You guys can also expect a new status update within the next few days. Until then...

July 11, 2008

[July 11, 2008] Lightning/Sunbird Status Update

With all the developers talking here now, it probably makes sense to also show you, what we've done in terms of real bug-fixing in the last few weeks. So within the last three weeks 28 bugs were fixed. Here's the list of all these changes:

  • Bug 358695:
    Week/Multiday view: vertical time column too wide, should be narrower
  • Bug 370150:
    API enhancement: additions for group scheduling
  • Bug 375631:
    New TASK column: Days to Due
  • Bug 392561:
    Need to revise provider error notifications
  • Bug 396819:
    Event Summary Dialog doesn't show important information to user
  • Bug 416594:
    Priority and progress buttons are broken after customizing toolbar
  • Bug 429488:
    Email drag'n'drop populates attendee list and causes failure to save event
  • Bug 431522:
    Can't add an invitation to an event if the same event is already in one of your calendars
  • Bug 432579:
    Enabling cache for public calendar causes entries to dissappear
  • Bug 437451:
    Menu "File -> New -> Calendar" is disabled in Mail Mode
  • Bug 437939:
    Invitation counter needs restart for update
  • Bug 438546:
    "Select All" (Ctrl+A) & "Undo" (Ctrl+Z) in Mail mode doesn't work
  • Bug 438963:
    All day event is shown on the day before the actual day of the event
  • Bug 440126:
    Error during timezone guessing [ReferenceError: navigator is not defined]
  • Bug 440550:
    XML prologue in calendar-occurrence-prompt.dtd confuses compare-locales
  • Bug 440715:
    Selecting event in the unifinder doesn't scroll view to event
  • Bug 441246:
    Add support for categories in Google Calendar
  • Bug 441748:
    deleting a single occurrence of a 'non floating' all day rule is not possible
  • Bug 442003:
    Create a binding to easily add notification bars to emails
  • Bug 442392:
    Expected errors are notified via dialog box
  • Bug 442571:
    Integrate "Create a new Calendar" into the account central pane
  • Bug 442651:
    No organizer in the attendees dialog
  • Bug 443157:
    Task invitation leads to exceptions on startup
  • Bug 443361:
    Misleading logon prompt when subscribing to multiple Google calendars
  • Bug 444292:
    Replace Decorated Header (Nav Bar) by standard Items
  • Bug 444407:
    Progressbar should not be shown if column is to narrow or progress is 0%
  • Bug 444713:
    Allow providers to provide a set of supported timezones

Many thanks go to all developers, contributors, localizers, testers, and supporters that make this possible.

July 10, 2008

Philipp's Developer Notes: Alarms and Invitations

String freeze is coming up so I've decided to give an overview of what's on my radar and what has been. Aside from calendar work my semester is about to end but that unfortunately doesn't mean I have more time.

I have put a fair amount of work into bug 353492 in hopes of supporting multiple alarms and different alarm types for the provider for Google Calendar. Due to the large amount of code and the high possibility for regressions I don't think this will make it into the next release. There is still an open issue regarding repeating alarms which has kept me from requesting review on that bug. If you are interested in helping out I have summed up the problems in the bug quite well. Nevertheless I think its reasonable to already check in the strings before the string freeze in case we come to a solution. If you are interested in testing (as an end user) I have a linux xpi attached to the bug. Be sure to back up your profile though since a database upgrade takes place.

Something mentioned in our roadmap for the next release is "better interoperability". Of course this is a very wide topic and I'd like to tell you a bit about what I have planned. Something that was (almost violently) discussed after the last release was a number of problems with accepting invitations. I'm looking to improve the situation a bit also in hopes that I can fix a few Provider for Google Calendar bugs regarding invitations too.

<rant>
Note however that this motivation does not come from the newsgroup discussions. I must say these were quite annoying and it aggravated me to see that users were insisting on us developers dropping everything and fixing the bug that annoys them most. Of course its annoying if something that you were used to broke in the next version but the way things were demanded was just wrong. The way things were discussed made me think for quite some time that I should not do a da** thing for invitations, but there are other reasons I'd like to go forward. I don't want to offend anyone but next time something doesn't work as you'd like it to, please be gentle and understanding instead of trying to force me into things. That works better and usually lets you reach your goals quicker.
</rant>

Recently Daniel fixed a bug that allows me to display invitations from Google Calendar in the invitations dialog. This patch was also checked in on that bug so it would be nice if you guys could give it a whirl to see if it works. Please be sure to enable "display invitations in your calendar" on calendar.google.com.

The next thing that would be nice for the Provider for Google Calendar w.r.t interoperability is managing sending invitations automatically when saving events. Currently this is globally disabled via an advanced preference option. It would be better to instruct the server to send invitations only when needed.

I hope this gives you a better understanding of whats going on in my (calendar) world.

Until next time
Philipp

July 9, 2008

Berend's Developer notes: Final Modifications of the Calendar Views

I recently dedicated a good portion of my time improve the calendar views. Initially I wanted to solve a nasty regression bug dealing with overlapping events, but as I delved into the quite monolithic code I got entangled by other issues that caught my attention.

For example I found it not so easy to keep track of all the shadow elements of the event boxes. Also I noticed – certainly like other users too - that the shadows sometimes seem to be sort of tattered at the corners. For this reason I was not too annoyed when Christian (our UI expert) told me that he already had in mind to change the appearance of the shadows anyway. So our common idea was remove the current shadow elements and only denote a slight shadow with a 1Pixel border around the events. I am currently working on this.

As we have discussed on our last F2F meeting in Hamburg we wanted to improve the look and feel of the calendar views in various respects. From the design point of view the decorated view header has the greatest backlog. Christian and me are working on this (Bug 444292). Christian also is currently heavily engaged to modernize the styling of the calendar views that spread a flair of the last century.

So I can promise you that you will hear and see more about the calendar views in the coming weeks even though we are approaching the final round of our 0.9 roadmap. One last note about the monolithic code: I won't change too much about this shortly, although it is certainly better for the project in the long run if we do this. But with the lack of a compiler I have developed a certain respect for such challenges...

July 3, 2008

Simon's Developer notes: On the importance of communication

Yesterday we had a pretty interesting developer conference call, which was basically about the issue that only a very small team is currently developing on Lightning and Sunbird (basically just three people), that it is hard to reach community expectations with regards to bugfixes and feature work with so small a team and what would be necessary to attract more outside developers.

From my point of view one of our shortcomings in the past has been on the communication front. With that I don't mean the communication between different people on certain bug characteristics or code issues (that works great), but the communication between the calendar project and our community.

Currently our channels of communication are:

  • This blog, which just gets a post every one to two weeks with a bug fix status update
  • our developer and support newsgroups (mozilla.dev.apps.calendar and mozilla.support.calendar), which are not exactly buzzing with activity
  • IRC, which not many people are watching

The result - at least as far as I see it - is that

  • the core people from the project come across as a closed circle to which it is hard to get in to (the opposite is true)
  • what's going on in the project is not exactly transparent. Instead I would call it opaque.

So what can we do to improve our situation, to make the project more transparent, to raise the interest in the project and by that to gain more outside contributors? A few things come to my mind:

  • We need to talk more about what we are doing. Therefore every core contributor will try to commit himself to at least blog about various stuff at least once a week from now. These posts will probably range from developer-oriented topics (interesting or disgusting pieces of code, recent bugfixes, UI considerations, QA problems/successes/challenges) and project-related topics (PR issues, community relations, ...) to basically anything that the people find worthwhile to blog about.

    In my opinion a great example to follow here is the Firefox community. Where nearly everybody involved in the project (developers, build engineers, QA staff, PR and marketing people, management) tries to blog regularly about various Firefox stuff or other stuff that interests them. The outside image that this creates is the image of a beehive, where everybody is doing lots of stuff to improve Firefox and in my opinion stuff like this also attracts outside people, because everybody would like to contribute to a project that is alive and well instead of a project that is stalling or dead.
  • We need to raise the awareness of the project in the outside world. I'll try to contact a few people to get some press contacts, in the hope to do some interviews with some people interested in open source. We hope that this will raise the awareness of Lightning and Sunbird and bring in outside contributors.
So these are my ideas. I would be interested in getting feedback and suggestions from you. Do you have more ideas to attract new talent for the calendar project? Is my analysis correct or do you see other areas that we could improve on? I would love to hear from you on that...

June 19, 2008

[June 19, 2008] Lightning/Sunbird Status Update

Sorry for the long delay folks! I haven't really kept up with all the changes lately due to some private matters, but that doesn't mean that we're not going full-steam ahead towards the 0.9 release. Within the last three weeks nearly 40 bugs were fixed, which is an impressive thing I have to say. Here's the list of all the 39 changes within the last three weeks:
  • Bug 363191:
    Handle Timezones more efficiently (Timezone Database)
  • Bug 367153:
    Event text not readable in calendar view during inline editing (due to unselection)
  • Bug 387398:
    Missing (Client, Server) Certificate support
  • Bug 387402:
    Short or zero-length events are hard or not selectable in Day/Week view
  • Bug 389251:
    Cannot dismiss alarm on single overridden instance of recurring item
  • Bug 391495:
    calRecurrenceInfo::getNextOccurrence/getNextOccurrenceDate have bugs
  • Bug 395017:
    Event & Task dialog for read-only calendars don't show start time and end/due date and time
  • Bug 399762:
    Task dialog: Error opening Invite Attendees dialog
  • Bug 408240:
    Reading backup preferences fails [Error: backupBranch is not defined]
  • Bug 413326:
    Read only calendar, use 'Click Here to Add a New Task' text field -> nothing happens
  • Bug 413847:
    Timezone preference changes require restart to take effect (regression)
  • Bug 413908:
    Events using internal timezones are no longer updated to recent timezone version
  • Bug 419807:
    After closing task dialog now save-messagebox pops up
  • Bug 419816:
    Task mode does not set Application title
  • Bug 428496:
    Editing event or dismissing alarm collapses Today/Tomorrow/Soon section in Agenda
  • Bug 429092:
    Borders are missing for Task List in Today Pane and Task Mode
  • Bug 429685:
    Toggling of 'Delete' - toolbarbutton in calendar-mode and task-mode does not work
  • Bug 429687:
    Follow-up features for the mode dependent today-pane
  • Bug 431536:
    Only one invitation can be accepted per Thunderbird session
  • Bug 431811:
    Context menu of tasks in today pane is broken [Error: taskTree has no properties]
  • Bug 432579:
    Enabling cache for public calendar like US Holidays causes entries to dissappear
  • Bug 435877:
    UTF-8 decoding problem breaks wcap calendar
  • Bug 436476:
    Deleting a single instance of a recurring event fails
  • Bug 437048:
    Invite an attendee to an event causes error
  • Bug 437189:
    Gdata prov: cannot delete last remaining occurence by "delete this occurence"
  • Bug 437398:
    Invitation Link broken (currently WCAP only): createXULElement is undefined
  • Bug 437593:
    invitations link should be provided in mail mode too
  • Bug 437615:
    Exceptions when creating/editing/deleting an event/task/calendar or selecting/deselecting a calendar
  • Bug 437689:
    [Trunk] Timezone definitions extension is not compatible with Sunbird 0.6a1
  • Bug 437898:
    events list can have a selector for 'later today' list. (prerequisites, actual fix done as extension, see bug)
  • Bug 437921:
    GData provider is not working with TB 3a2pre by default
  • Bug 437941:
    Task-Trees: Selection Style does not make a difference between focused/unfocused
  • Bug 437942:
    Find calendars is broken
  • Bug 437964:
    'Mark Completed' via context menu doesn't work
  • Bug 438020:
    Task list is broken [Error: document.getElementById(modeBroadcaster) has no properties]
  • Bug 438338:
    Add zh-TW language
  • Bug 439245:
    Selecting events in the unifinder doesn't scroll view to event
  • Bug 439608:
    modifyEventWithDialog cannot be called with false as third parameter
  • Bug 439633:
    Error console output in month/multiweek view when selecting events in the unifinder
Many thanks go to all developers, contributors, localizers, testers, and supporters that make this possible.

May 22, 2008

[May 22, 2008] Lightning/Sunbird Status Update

Two weeks have gone by and lots of fixes have happened since the last installment of the status update. Thanks to our developers and reviewers 41 bugs have been fixed in the last two weeks, which is really amazing. Nothing is really noteworthy. The fixes contain mostly backend fixes, cleanup work and (unfortunately) regression fixes.

Here's the list of all the 41 changes within the last three days:

  • Bug 248342:
    Alarm goes off for completed tasks
  • Bug 273600:
    Task Progress bar
  • Bug 309081:
    Sync xpfe autocomplete attributes with toolkit ones
  • Bug 357706:
    Alarms fired too late (alarm timer stopped while hibernating)
  • Bug 363932:
    Delete Warning should be redesigned
  • Bug 392561:
    Need to revise provider error notifications, enhancing onError
  • Bug 392572:
    Correct comments in calIDateTime.idl
  • Bug 400835:
    CalDAV provider should display errors
  • Bug 413101:
    Calendar view missing background
  • Bug 417457:
    Remove XPInstall leftovers from packages files
  • Bug 421886:
    iTIP/iMIP doesn't handle REPLY and CANCEL methods
  • Bug 428236:
    Selecting snooze times from alarm popup always causes the first entry to be highlighted
  • Bug 431039:
    Move only string from sun-lightning.dtd and remove file
  • Bug 431218:
    Multiple install: targets missing in calendar/ tree
  • Bug 431852:
    Move calendarProperties.xul/js from resources to base
  • Bug 432224:
    Remove more obsolete event dialog files
  • Bug 432653:
    All events in all views take the color of the last calendar in my calendars list (regression)
  • Bug 432877:
    Custom recurrence description is broken (regression)
  • Bug 432956:
    calIcsSerializer code bug
  • Bug 432985:
    Category colors are not displayed (regression)
  • Bug 432992:
    Replace getService() with createInstance() calls for nsIConverterOutputStream
  • Bug 432998:
    Creating event ignores selected date and creates event for today
  • Bug 433229:
    Remove empty /calendar/base/content/calendar-alarm-widget.css
  • Bug 433250:
    Add Norwegian (Nynorsk) localization
  • Bug 433352:
    Day/week view: category color is used for the entire event box (regression) - fixes also Bug 416604 and Bug 432957
  • Bug 433462:
    Correct calGetString() callers
  • Bug 433500:
    IMIP bar does not display anymore
  • Bug 433604:
    Error: hideElement is not defined
  • Bug 433839:
    Uncaught exception in dnd code
  • Bug 433843:
    Revise or remove getFloatingDate
  • Bug 433889:
    Fix regressions from Bug 430254 (regression)
  • Bug 433892:
    Specialize calendar list tree style
  • Bug 433906:
    Cannot dismiss alarm on Kerio server
  • Bug 433937:
    All-day items in Agenda have no styling and can't be selected via mouse click
  • Bug 433947:
    Move goToDateDialog.js/xul from resources/content to sunbird/base/content
  • Bug 434188:
    calIDatetime::icalString should enforce timezone
  • Bug 434291:
    Fix calendar-ui-utils' addMenuItem
  • Bug 434371:
    Error on deleting item from Zimbra server
  • Bug 434735:
    Consolidate auth prompts
  • Bug 434736:
    calWcapRequest: use nsIStreamLoader instead of nsiUnicharStreamLoader
  • Bug 434985:
    Remove unused entities and properties

Many thanks go to all developers, contributors, localizers, testers, and supporters that make this possible.

May 8, 2008

[May 8, 2008] Lightning/Sunbird Status Update

Only three days after the last status update, it's already time for another as the developers have fixed lots of bugs (19) in the last three days.

The most notable fixes are in the area of iMIP/iTIP (sending and receiving e-mail invites) with the fixes for bug 377761 (better compatibility with earlier Outlook releases) and bug 429938 (support for meeting cancellation).

Here's the list of all the 19 changes within the last three days:

  • Bug 202360:
    Color Coding of Tasks and Events (multiple classification)
  • Bug 322979:
    Views should not scroll the labelling columns along the non-scrolling axis
  • Bug 368976:
    Cannot undefine alarm for an exception
  • Bug 377761:
    Outlook 200x does not recognize iTIP/iMIP invitation because of MIME type issues
  • Bug 397896:
    Sync default snooze between Sunbird and Lightning
  • Bug 397913:
    Add tooltips to the miniday buttons
  • Bug 401693:
    Today pane not updated on Mac OS X after hibernation
  • Bug 426746:
    Consolidate startup code
  • Bug 427006:
    Timezone offset incorrectly calculated for negative half hour timezones
  • Bug 428715:
    Between 23:00 and 00:00, the default event start date is 00:00 of the next day
  • Bug 429938:
    No cancel message is send to attendees if event is deleted
  • Bug 430254:
    Add interfaces to GData for UI code
  • Bug 430805:
    Permit to change the default free/busy attribute policy for all-day events
  • Bug 431829:
    Moving Today Pane button on Task toolbar removes it from Calendar toolbar
  • Bug 432218:
    Remove TB 1.5 specific code in getMailBar() function
  • Bug 432499:
    Duplicate id in calendar.xul
  • Bug 432703:
    Changing month with scroll wheel throws error
  • Bug 432793:
    Get rid of "move" transaction type
  • Bug 432794:
    Allow loading chrome scripts in test cases

Many thanks go to all developers, contributors, localizers, testers, and supporters that made and make this possible.

May 5, 2008

[May 5, 2008] Lightning/Sunbird Status Update

I apologize for the long delay between status updates. It is certainly not due to a low number of bugfixes in recent day. In fact quite a large number of bugs (32) have been fixed within the last 18 days, showing that the developers have been quite active.

Three bugs are particular worth mentioning:

  • Bug 377753: Look and Feel of minimonths should be adapted
    The small monthly overview in the upper left corner has gotten a visual overhaul and is looking much better now in our opinion. Thanks go to Berend for implementing this and to Philipp and Christian for reviewing the changes.
  • Bug 389150: Display Today Pane with Task List in Calendar mode
    A lot of people have asked us to enable the today pane in Lightning's calendar mode, so that people get a quick overview over their upcoming events and tasks as well. Thanks go to Berend for implementing this and to Philipp and Christian for reviewing the changes.
  • Bug 430430: Consolidate context menus
    Users of Sunbird have long complained about the inadequacy of the context menu in Lightning, e.g. when right-clicking on an event in the views. Now the full glory of the Sunbird context menus is available in Lightning as well. Thanks go to Philipp for implementing this and to Berend and Christian for reviewing the changes.

Here's the list of all the 32 changes within the last 18 days:

  • Bug 340752:
    Undefined variable error in Makefile from using autoconf syntax for sed replacements
  • Bug 377753:
    Look and Feel of minimonths should be adapted
  • Bug 389150:
    Display Today Pane with Task List in Calendar mode too
  • Bug 390194:
    Event/Recurrence dialog: Width is too small for three minimonths
  • Bug 392855:
    'Show Today Pane' button not available with fresh profile
  • Bug 395928:
    Unify wording in event dialog by renaming Importance to Priority
  • Bug 400278:
    CalDAV provider issues requests to unselected caldav accounts at startup
  • Bug 410898:
    DTSTART/DTEND ignored in FREEBUSY response to scheduling request
  • Bug 413265:
    Some timezones not mapped correctly (both remaining patches)
  • Bug 414565:
    Show relative date string in alarms for tomorrow's events
  • Bug 414932:
    Change string name imipHtml.Comment to imipHtml.comment
  • Bug 417020:
    UTC and floating are missing in time zone picker
  • Bug 417539:
    Remove obsolete event dialog files and strings
  • Bug 417629:
    Import ICS file to CalDAV server fails to handle recurrence-id correctly
  • Bug 418414:
    Remove obsolete Jan Mayen references
  • Bug 428392:
    Accepting Events not adding event to calender - falsely reporting "not an attendee"
  • Bug 428851:
    Accepting Meeting Invites Does Not Update Google Calendar
  • Bug 429061:
    webcals scheme not supported (i.e., for https)
  • Bug 429497:
    Warning and error nsIInterfaceRequestor in the error console
  • Bug 429908:
    Minimonth broken on Trunk
  • Bug 429911:
    Year Popup in minimonth doesn't listen to scrollwheel
  • Bug 429912:
    Packaging cleanup for crashreporter.xpt
  • Bug 429927:
    Remove outdated comment from calendar/base/jar.mn
  • Bug 430062:
    Remove some 1.8.0 branch specific code from calManager
  • Bug 430249:
    Storage calendar sends out too many onOperationCompletes
  • Bug 430280:
    bad aOperationType on addItem
  • Bug 430430:
    Consolidate context menus
  • Bug 431031:
    Remove files from resources/content/converters directory
  • Bug 431041:
    Correct tooltip for Print toolbarbutton
  • Bug 431395:
    Remove ununsed files from /calendar/resources/content/
  • Bug 431732:
    Use the createEventFromIcalString helper in unit tests
  • Bug 431733:
    Remove unused images from /calendar/resources/skins/classic

Many thanks go to all developers, contributors, localizers, testers, and supporters that made and make this possible.

May 4, 2008

Next release (0.9) and beyond

Two weeks ago, we had a great face-2-face meeting, which only now I am able to post about. Among the many interesting talks and discussions particular question we've discussed was "How do we proceed with Thunderbird 3 and trunk?". I'll try to sum up the outcome of this discussion here.

There are a ton of good reasons to move on to the trunk ASAP and help Thunderbird 3 get into shape: calendar will be a core feature of it, trunk has a couple of platform improvements that make our live easier and it will lessen the load on developers and localizers, that we no longer have to think about both the 1.8 branch and the trunk.

On the other hand, we have existing users on Thunderbird 2 waiting for fixes and features. Looking at our resource situation, it was pretty clear to everyone that we can't support and develop both branch and trunk longer term in a reasonable fashion. So where and when do we make the cut?

We've agreed to do one further release on branch in the coming 4 months, namely 0.9. We will focus on the following topics:

  • Usability (our UI gurus have a lot of ideas here)
  • Performance (we will put more focus on improving our story with large remote calendars)Interoperability (better iMIP/iTIP support comes to my mind here)

More details can be found on http://wiki.mozilla.org/Calendar:Lightning09.

We hope that this release will be sufficient to be used for a longer period of time until the next Thunderbird releaseis out. There will definitely be usable betas (perhaps even alphas) of Thunderbird with integrated calendar, but we also know that some users reject to use those and stay on Thunderbird 2.

We had some further discussion about whether the naming of this last branch release shouldn't be 1.0, rounding up our development for Thunderbird 2. This seems obvious from a marketing POV, but doesn't fit into the mozilla way of promoting major releases. So we agreed that we have a thorough look at what we've reached both w.r.t. features and quality when 0.9 is almost done, postponing that decision.

To answer some obvious questions:

  • Does this imply changes on Sunbird's development?
    No, we will do parallel releases of Sunbird with the Lightning releases. So Sunbird 0.9 will come out at the same time as Lightning 0.9 and we'll move Sunbird development over to the trunk after that, too. This means we will be doing a Sunbird 1.0 release in parallel to the Thunderbird 3 release.
  • What happens if Thunderbird 3 gets delayed?
    We certainly do not hope that this will be the case, but we can react flexibly to that. This means that we might put out another release between 0.9 and TB3 (probably called something like 0.9.5) if it turns out that TB3 will take significantly longer (more than 3-4 months) than anticipated.
  • When are you planning to release 0.9? What is the release date of TB3?
    We are currently planning to release Lightning and Sunbird 0.9 in August 2008. As with all release dates, this release date is subject to change, if it turns out that we need additional time to put out a great release.
    TB3 is currently slated for December 2008/early 2009. The same caveats as said above apply here.

April 17, 2008

[April 17, 2008] Lightning/Sunbird Status Update

It's been nearly a month since my last status update and nearly two weeks since 0.8 was released, so I guess it's time to show you what we've been working on in the last days. Since 0.8 came out, we've already fixed 29 bugs. So grab yourself a nightly and help us test those fixes.

On a sidenote: Many of the calendar developers will meet in Hamburg (Germany) to discuss future plans, meet up with some of the Thunderbird developers to discuss the future integration of Lightning into Thunderbird and perhaps also do some hacking. We're hoping that this will strengthen the team spirit and give us a better vision of what we wanna do with 0.9, 1.0 and onwards.

Here's the list of bugs fixed since 0.8 was released:

  • Bug 368865:
    REG_APP_DESC should be removed from the Calendar 1.8 branch
  • Bug 393769:
    Mouseover tooltips aren't shown on trunk
  • Bug 393998:
    Next button in new calendar dialog is disabled when changes are cancelled
  • Bug 396075:
    'New Calendar' dialog: sentences should get punctuation marks
  • Bug 399599:
    Help menu has no accesskey for item Contents
  • Bug 402482:
    No scroll-bar for all-day events
  • Bug 402593:
    Sunbird lacks Ctrl+Q to exit
  • Bug 410755:
    Impossible to resize and reorder the columns of the task list on trunk
  • Bug 413333:
    Offer auto-conversion of google ICS calendars to writable Google Calendars
  • Bug 413523:
    No icon images are shown in the Customize Toolbar dialog on trunk
  • Bug 418058:
    Add tooltip to close button in unifinder
  • Bug 419184:
    "msgHeaderParser is not defined" when dragging mail to Calendar item
  • Bug 421307:
    Synchronize FilterOptions with FilterOptions in task mode Menu
  • Bug 422369:
    Make Calendar styles LTR (left-to-right) and RTL (right-to-left) agnostic
  • Bug 422630:
    Fix groupbox theme regression caused by bug 421814
  • Bug 422640:
    Enable view menu-items
  • Bug 423503:
    Memory leaks in lightning
  • Bug 424808:
    Use binary search to make addItem in month view scale better
  • Bug 426140:
    Wrong sort order for priority
  • Bug 426759:
    Create calIAlarm interface
  • Bug 427216:
    Make tools menu popup match other applications
  • Bug 427237:
    cvs remove unused files in Sunbird themes
  • Bug 427458:
    Completed task time is shown in UTC and not in local time
  • Bug 428798:
    Remove obsolete CSS rules .next-button:hover:active and .prev-button:hover:active
  • Bug 428922:
    Remove even more obsolete CSS rules
  • Bug 428933:
    Consolidate view-specific CSS rules
  • Bug 429095:
    Recurrences with no end date should be limited to a maximum of 60 instances
  • Bug 429101:
    Missing styling on navigation buttons in main calendar view
  • Bug 429313:
    Open the invitation dialog when the counter is 'Zero' -> error console output

Many thanks go to all developers, contributors, localizers, testers, and supporters that made and make this possible.

April 14, 2008

Lightning and Sunbird 0.8: Now available for Solaris, Linux x86-64 and OS/2

Since the release of 0.8 many people have asked for builds on additional platforms and we're happy to comply as our community has supplied us with builds for Linux x86-64, Solaris (Intel), Solaris (SPARC) and OS/2.

Here are the links:

Many thanks to Philipp Kewisch for the Linux x86-64 builds, to Sun Microsystems for the Solaris builds and to Walter Meinl and Peter Weilbacher for the OS/2 builds. Enjoy!

April 4, 2008

Lightning 0.8 and Sunbird 0.8 are out!

I am happy to report, that the 0.8 release of Lightning and Sunbird has been completed and is now available via AMO and the Calendar Project website.

Five months after the 0.7 release we are again one step closer to our 1.0 release, which we hope to release at the end of 2008.

Notable improvements of this release are written down:

Lightning 0.8 and Sunbird 0.8 are available for Windows, Mac OS X (universal builds) and Linux in 30 different languages including English.

Please use the following links to download the release:

Please read the release notes for Lightning 0.8 and Sunbird 0.8 before downloading.

Thank you again to all our developers, contributors, localizers, testers, and supporters. We would not be able to do this without your assistance!

April 2, 2008

Lightning/Sunbird 0.8 RC2 is out

After all the previous hassles we're happy to report, that the second release candidate for our 0.8 release (0.8 RC2) has been released. We know you've been waiting for it, so grab yourself a build. Here are the links:

We would really appreciate it, if you test those builds heavily, as we plan to push out the final release, if nothing serious comes up within the next 2-3 days. We're especially calling out to our Mac OS X community, to test these builds, as there were no recent nightly builds available for you for the last two weeks and we want to make sure, that everything looks fine on the Mac as well.

If you find a bug, that you think is serious enough to block the final 0.8 release, then please file it over in Bugzilla and make some noise in the bug report.

If you have problems or questions, please drop by in #calendar-qa on irc.mozilla.org or in the mozilla.dev.apps.calendar newsgroup available via Google.

Thanks and happy testing!

March 31, 2008

Mac nightly builds are now available (again)

Thanks to Mozilla IT and our build engineer ause, Mac builds for Sunbird and Lightning are now available again. Here are some links for our mac friends: Expect the release of our second release candidate (RC2) shortly...

March 27, 2008

Lightning download statistics publicly available

Now that the new release of AMO has gone live, a much improved statistics solution is also available. I've marked our download statistics page as public, so everyone can take a look at it. Here's the link:

Public Lightning download statistics

A good explanation of the possibilities of the new statistics dashboard can be found on Justin Scott's blog.

March 26, 2008

0.8 RC2 unstuck again

Good news, guys!

The Camino guys have been helping us out with a spare machine of theirs. The machine is up and running and if everything works out, we'll hopefully push out the 0.8 RC2 on Friday.

Please join me, when I say a big "Thank you!" to the Camino developers. We love you guys!

March 20, 2008

0.8 RC2 is stuck

I have some bad news:

Yesterday the Apple Xserve machine producing the Mac OS X builds of Sunbird and Lightning went down and it hasn't come up since. According to Mozilla's IT department, it's a hardware failure and the machine needs to be sent to Apple for repairs, which will take a while. You can find the gory details in bug 423816 (Please don't comment in the bug unless you have something really useful to add. We don't want to piss off Mozilla IT. These guys are great!)

For us this means, that the RC2 is stuck, since we can't release without one of our major platforms. But you can still help us by testing the current nightly builds (just pretend that they are the RC2) on Linux and Windows. This will help us to shorten the time from the RC2 release (once it's out) to the final release.

Here are the links:

Thanks for staying with us!

March 19, 2008

4 million downloads for Sunbird and Lightning

Somewhere on Sunday evening, we passed the 4-million-downloads barrier for Sunbird and Lightning downloads in total, three and a half months after we reached the 3 million downloads mark.

At the moment we have 2,215,000 unique Sunbird downloads and 1,814,000 unique Lightning downloads. These numbers do not incorporate the downloads of people who updated Lightning via addons.mozilla.org or via the automatic update service in Sunbird.

Some additional information:

  • Sunbird 0.3 is still the second most popular release with 598,000 downloads
  • Sunbird 0.3.1 is third with 498,000 downloads
  • Sunbird 0.5 comes last with 490,000 total downloads
  • Sunbird 0.7 is the most popular release with 602,000 downloads

Furthermore 218,000 installations of Sunbird 0.5 have been updated to 0.7, so the total numbers of Sunbird 0.7 downloads is at 820,000 at the moment.

We currently do not have any information about the number of different Lightning releases in the wild.

Let me use the opportunity to say "Thank you" to all our users and supporters. We couldn't have done this without you. We hope to bring you a great 0.8 release soon (hopefully with even more downloads).

Lightning/Sunbird Status Update (March 19)

We're getting nearer and nearer to the final 0.8 release. We've fixed 19 bugs in the last 13 days, are now down to zero (0) blocking bugs and will release a second release candidate (RC2) within the next days.

Here's the list of bugs fixed within the last 13 days:

  • Bug 347192: Entries in agenda should appear in the same way again when starting Lightning again
  • Bug 404976: calendar.autorefresh.timeout limit to max 3-digit numbers in options
  • Bug 411958: Use tinderboxen to build gdata-provider nightlies
  • Bug 415742: Alarms on occurrences cannot be dismissed
  • Bug 418854: Undo is not possible for task/event modification
  • Bug 419817: iMip/iTip invitation mail -> No 'Accept'/'Decline' button if WCAP calendar exists
  • Bug 420695: Disable attendees by default
  • Bug 420749: CalDAV calendars must refresh twice to display server-side changes
  • Bug 420844: Only show suppress icon on events if popup alarms are supported
  • Bug 421301: getItem() doesn't include exceptions in recurring events
  • Bug 421376: New Event button in Agenda needs padding
  • Bug 421574: Get Sunbird building on BEOS
  • Bug 421616: Editing event to change calendar fails, event disappears from database
  • Bug 422233: Use METHOD:PUBLISH when publishing ics calendar files
  • Bug 422412: Accepting a iMip/iTip invitation into a WCAP calendar doesn't work
  • Bug 422898: Creation of new local calendar not possible
  • Bug 422928: Task mode, WCAP calendar: Cannot set completed Status
  • Bug 423395: onEventSweepMouseMove handler stays around after drop
  • Bug 423667: Enable multi-language (gdata) nightlies

Special thanks again go to all developers, contributors, localizers, testers, and supporters that made this possible.

March 6, 2008

0.8 RC1 Available - We Need You!

The 0.8 RC1 is available! I know you've been waiting a long time for it, so grab your self a build. Here are the links:

We really need your help to complete the rest of the L10N Checks and the Update testing, as you can see from our Test Plan.

The Update Testing is of special concern to us, because historically this has always been where we have found critical issues in our release candidate builds. So, please take a look. Feel free to update the test plan wiki or leave a comment on this post with what you tested, so we can track what has been done versus what is still remaining to do.

The test day today has been a great success, but we need to keep up the intensity and keep pounding on this build. It'd be great if we can make our next RC the final build, but we can only do that if we're sure we found all the issues with this RC.

If you have problems or questions, please drop by #calendar-qa on IRC.

Happy Testing!

Lightning/Sunbird 0.8 status update

We're getting nearer and nearer to the final 0.8 release. We've fixed 26 bugs in the last 11 days and we'll probably push out a first release candidate in the next few days.

The RC1 will come with two blocker bugs unfixed, which we will fix until the final release:

  • Bug 418854: Undo is not possible for task/event modification
  • Bug 419817: iMip/iTip invitation mail -> No 'Accept'/'Decline' button if WCAP calendar exists

We know, that releasing a release candidate with known blockers unfixed does not fit perfectly into the definition of a "release candidate", but we feel that it is the right thing to do, to get our code out to more testers, which hopefully will not find more blocker bugs.

On the positive side are, as mentioned above, 26 bug fixes within the last 11 days. A lot of the fixes were in the area of .csv file import and export, which should be greatly improved over what we had in 0.7. Here's the list of bugs fixed within the last 11 days in alphabetical order:

  • Bug 336175: Export calendar to CSV format fails if a task exists in calendar
  • Bug 337377: Fails to import Outlook CSV files that have fewer than 13 fields
  • Bug 361635: Make update invitations work by working around outlook issues
  • Bug 379198: Lightning doesn't send iTIP messages on event updates
  • Bug 394634: Double Quotes in Description not handled correctly when exported to .CSV files
  • Bug 398426: Priority icon not visible if task is selected due to row background color
  • Bug 402534: Provide a default set of categories
  • Bug 403808: Missing license header (minimonth.css & minimonth.xml)
  • Bug 407933: Initial width of the Done column too small
  • Bug 413296: Remove observers on shutdown or window close
  • Bug 418115: Wrong start & end time for new events (new event button on today pane)
  • Bug 418542: CalDAV provider forces calendar visibility on startup, refresh
  • Bug 418805: Fix modifyItem for offline calendars
  • Bug 419349: After landing of Bug 379198 decline button on imip-bar stopped working
  • Bug 419351: Redundant view refresh if tasks are not shown in view
  • Bug 419414: CSV files without CRLF line endings not importable
  • Bug 419462: CSV files contain bogus data
  • Bug 419601: Decouple calendar manager schema version from storage calendar
  • Bug 419817: iMip/iTip invitation mail -> No 'Accept'/'Decline' button if CalDAV calendar exists
  • Bug 419860: Unifinder 'All Future Events' shows past events
  • Bug 420228: Cannot dismiss alarms on CalDAV calendars
  • Bug 420326: The CalDAV provider does not refresh modified events from server
  • Bug 420364: Update to meeting requests fail with "showError is not defined"
  • Bug 420586: Move packaging of updater.ini
  • Bug 420840: Push version to 0.8
  • Bug 420854: Cannot modify events on CalDAV calendar

Special thanks again go to all developers, contributors, localizers, testers, and supporters that made this possible.

Multi-Language Lightning builds are now available

I believe our localization community and our non-English speaking users may be happy about the fact, that since yesterday Lightning nightly builds now contain the strings for all the currently available 30 languages.

So localizers can now test their changes nearly immediately by downloading a tinderbox test build. And many of our users from abroad can now start testing Lightning nightly builds in their native language.

February 24, 2008

0.8 release status update

I guess some of you are asking themselves how we are doing with respect to our next major release. So here's a short update:

At the moment we are down to seven blocker bugs, which will need to be fixed before we push out the first release candidate. The status on those bugs is:

  • One tracking bug with only one outstanding issue. We could release without this bug getting fixed.
  • One documentation bug (release notes). A first draft for the release notes is ready. The notes are currently awaiting developer feedback.
  • Three bugs have a patch or a solution was proposed, so we're optimistic here
  • Two bugs, where we are currently investigating a solution

I'm sorry that we're not fixing those bugs faster, but two of our main developers are away for a few weeks and such a 33% drop in manpower is hard to handle for such a small project as ours.

But there's also something positive to mention:
A few days ago, the last outstanding localization completed the translation of newly added strings. That means that Sunbird builds for all 29 languages (including English) are now available for testing purposes. For Lightning we'll provide localized builds when the first release candidate (RC1) comes out. But all our non-English testers are encouraged to give builds in their native language a try.

English test builds for Sunbird are available here.
All other 28 languages can bei downloaded from here.

Lightning/Sunbird Status Update (February 24)

One more week has gone by and some 24 bugs got fixed. The most notable fix this week was probably:

  • Bug 366177: Memory cache for storage provider
    This patch gives us a performance improvement of somewhere between 5% to 10% on local storage calendars. Our thanks go to Daniel for implementing the patch. Philipp and Sebastian Schwieger also helped on this.

Here is the list of all the 24 bugs which were fixed within the last week:

  • Bug 366177: Memory cache for storage provider
  • Bug 379198: Make Lightning understand event updates
  • Bug 395654: Failure to renegotiate digest auth
  • Bug 401273: Alarms added to all events imported via CSV file
  • Bug 402841: Copy an event to the calendar and it shows up as the day before
  • Bug 403594: 'Last day of the month' recurrence rule has been screwed up
  • Bug 409966: 'Workweek days only' option is inversed after update from 0.7
  • Bug 410635: Task/Event to eMail conversion -> subject gets a leading 'Re:'
  • Bug 410931: Update internal timezone definitions
  • Bug 412746: Email addresses defect after event->task conversion on Mac
  • Bug 413868: Lightning forces Thunderbird to English due to shipping sunbird-only files
  • Bug 414821: Timezone dialog throws error when OS timezone doesn't fit to internal timezone
  • Bug 416240: Network ics calendar displays online but does not cache for offline access
  • Bug 417526: Task preview pane corrupts Mail mode window layout
  • Bug 417911: Fire viewloaded event when view is loaded
  • Bug 418237: Pinstripe typo, Error in parsing value for property -moz-image-region
  • Bug 418251: Categories toolbar-button popup menu are not sorted locally dependent
  • Bug 418296: Unifinder event list sort key caching speed improvement
  • Bug 418387: Task contextmenu: Mark Completed menuitem is often not correctly prechecked
  • Bug 418585: No working Sunbird 0.8pre nightly builds available for Mac OS X
  • Bug 418647: Follow-up comment on timezones
  • Bug 418657: Hide Completed Task feature is broken in task list
  • Bug 418792: L10n specific preferences not working
  • Bug 418995: CSV import creates empty fields datastores

Special thanks again go to all developers, contributors, localizers, testers, and supporters that made this possible.

February 17, 2008

Lightning/Sunbird Status Update (February 17)

Nearly three weeks have gone by since the last status update. The reason for this was me being pretty busy with my day job, not the developers being idle and not fixing bugs. In fact 51 bugs were fixed in the last 19 days.

One bugfix is of special importance:
  • Bug 327780: Need to sort out what sort of toolbar UI to offer for Lightning
    This bug enables new icons in Lightning and Sunbird which should better match the Thunderbird theme. The patch also creates a new toolbar for the task mode, which only shows task-related actions. The same goes for the menus in task mode, where all event-related functionality was removed. Our thanks go to Berend for implementing this huge patch, to Christian for his UI design work and to Mickey and Philipp for their code reviews.
Here is the list of all the 51 bugs which were fixed within the last 19 days:
  • Bug 265971: \n in SUMMARY of VEVENT not interpreted
  • Bug 321010: Need better stripping of illegal css chars from category names
  • Bug 327780: Need to sort out what sort of toolbar UI to offer for Lightning
  • Bug 340949: Server cannot cope with floating events, fallback to user default
  • Bug 389341: Tooltips too tall: only expand, don't shrink height
  • Bug 391379: Does not work behind a proxy with authentication
  • Bug 393817: Reduce network usage by CalDAV provider
  • Bug 400450: Check removed-files for wrong entries
  • Bug 402407: PNGs can be re-compressed further
  • Bug 406576: Investigate calIcalProperty::setDatetime_ for parentless properties
  • Bug 407808: Quick-add field shrinks to a few pixel height
  • Bug 408652: Task <-> event conversion: no description text
  • Bug 408786: Recurring event to task conversion is not possible
  • Bug 408968: It's not possible to convert a WCAP invitation in to a task
  • Bug 412622: Wrong display of importance icons
  • Bug 412723: reopened Add LoginManager bits to trunk win32 installer
  • Bug 412723: Fix HTTP authentication bustage on trunk
  • Bug 412737: Don't show readonly calendars in file picker
  • Bug 412918: New Tasks run out of the view
  • Bug 413128: All calendars are deselected after Lightning update
  • Bug 413159: Changing calendar for tasks via context menu doesn't work
  • Bug 413265: Some timezones not mapped correctly
  • Bug 413474: Delete button in Mail mode does not delete events or tasks
  • Bug 413484: CVS remove unused files from calendar/resources/content
  • Bug 413715: Unifinder search is broken
  • Bug 414519: Recurring event without gd:when breaks parsing
  • Bug 414537: Task preview pane should show a link to a web page
  • Bug 414573: Print button is always enabled in Mail mode
  • Bug 414790: Missing calendar-management.js in imip-bar-overlay.xul
  • Bug 414897: Correct capitalization of imipHtml.Comment
  • Bug 415081: Get rid of lightning-wcap.xpi
  • Bug 415253: Reload causes error in hidden Unifinder
  • Bug 415495: Remove calendar controllers to fix XPConnect assertions
  • Bug 415513: Add Japanese locale to Calendar
  • Bug 415654: Use different alarm icon for suppressed alarms
  • Bug 415759: Errors on sunbird startup
  • Bug 415894: Remove Punjabi as a supported locale
  • Bug 415956: Unifinder is always sorted by event title after startup
  • Bug 415987: FREEBUSY decoding does not support comma-separated entries
  • Bug 415990: JS warning: while(calGoItem = calGoPopupMenu.firstChild)
  • Bug 416158: Keyboard navigation of the event list (unifinder) is slow
  • Bug 416206: Erroneous drag'n'drop with tasks in multiweek/month view
  • Bug 416525: Add Link for task or event does not work (URL is not saved)
  • Bug 416608: Unifinder close-button seems to be in a selected state
  • Bug 416802: Additional properties to allow easy customization of days in the views
  • Bug 416851: Implement offline interfaces for GDATA
  • Bug 417056: Disable wcap caching until dependant bugs are fixed
  • Bug 417429: JS-errors when trying to Compose E-Mail to Attendees from Sunbird
  • Bug 417508: Event dialog broken, impossible to edit events and tasks
  • Bug 417515: Removing Progress or Priority button in task mode causes startup error
  • Bug 417873: CalDAV provider needs to fire onLoad
Special thanks again go to all developers, contributors, localizers, testers, and supporters that made this possible.

Due to the huge amount of bugfixes, we could really use your help in testing all the new stuff that went in lately. So if you want to help, join us on our next bugday.

January 30, 2008

Lightning/Sunbird Status Update (January 30)

Another week has gone by and another 12 bugs have been fixed in the last few days. There was nothing particularly interesting this time, just the usual bug-fixing and polishing going on.

Here's the complete list with all the 12 bug fixes:
  • Bug 386432: Unify front-end code of Lightning and Sunbird (Part 2: Toolbar consolidation)
  • Bug 388656: DATE values must not specify a TZID
  • Bug 401720: Can't add event to calendar from invitation if multiple calendars exist
  • Bug 406372: Provide easier access to prodid, prodversion
  • Bug 406441: make it possible to build lightning as universal package
  • Bug 412478: Lightning removes Open Saved Message... command from File menu
  • Bug 413214: Remove alarm image if suppressAlarms is true
  • Bug 413291: CalDAV-sched freebusy interop with Bedework
  • Bug 413516: Unifinder shows only the last modified event
  • Bug 413620: Unify/cleanup navigation menu in all modes
  • Bug 413656: Future events/tasks are reported to be 'today' in alarms
  • Bug 414230: Restart required for 'Workweek days only' and 'Task in View'
Thanks again to all our developers, contributors, localizers, testers, and supporters.

January 26, 2008

Important bugfixes in the last week - Part 2 (front-end)

As mentioned in Wednesday's status report a lot of last week's bugfixes fix important or longstanding issues and deserve special attention. In the first part on Thursday I already described the most important fixes with regards to performance and the calendar backend. Today comes the 2nd part, where I'll describe the more user-facing changes in the front-end in more detail. Of the four important fixes, three apply to Lightning's new task mode, which was got quite some polish in the last few days. Now let's get down to business:
  • Bug 257428: use alarms? -- preference on a per-calendar basis
    The ability to work with many different calendars is definitely a strong point of Lightning and Sunbird. In the past however, if you were subscribed to a calendar of one of your friends, working with different calendars could become rather annoying, because alarms for events in your friends calendar would also be displayed in your installation - whether you wanted to know about it or not.

    Thanks to Sebastian Schwieger this is now a thing of the past, because now you can enable/disable the display of alarms for every calendar that you are subscribing to. Thanks go also to Philipp who reviewed the patch.
  • Bug 408798: Optimize Menu Structure for Task Mode
    With this patch the task mode in Lightning now offers a menu structure, which is more focussed on task-related features. Before that patch went in we were using the same menu structure in task mode and calendar mode, which is clearly bad from a UI perspective as the two modes have different characteristics. The next step in the coming weeks will be restructuring of the task mode toolbar to make it also more focussed on task-related features. Thanks go to Berend for the implementation, Christian for the initial design and to Mickey for the review.
  • Bug 411497: Task mode should offer some sort of filtering
    The event list in Lightnings calendar mode offers the possibility to filter the list of events which should be displayed. A similar feature was lacking in task mode. As of now, you have the ability to filter the list of tasks in the left-hand sidebar in task mode. The selection of filters offers stuff like today's tasks, overdue tasks, completed tasks, etc.

    Thanks to Mickey for his implementation and to Berend who reviewed the patch.
  • Bug 411498: Task mode details pane doesn't show enough details
    Until now the task mode was a pretty bleak place. The lower "detail pane" would only display the task title and the description text. With Mickey's new patch (and Berend's review) many more details like priority, start date, due date, category, state of completion, recurrence, etc. will now be shown as well, giving you a much better picture on your current tasks.
I hope you are as excited as I am. With all this new stuff the upcoming 0.8 release is going to rock. Stay tuned for more!

January 24, 2008

Important bugfixes in the last week - Part 1 (backend and performance)

As mentioned in yesterday's status report a lot of last week's bugfixes fix important or longstanding issues and deserve special attention. This is the first part (of two) describing those important fixes in more details. So let's get down to business:

  • Bug 323011: Unifinder default option should not be 'all events'
    When working with larger calendars our startup time was pretty horrible. One major cause of this was "Event List" (aka unifinder), which by default would display all events of all activated calendars. This can of course take some time, especially if you have a lot of larger calendars.

    What we did to fix this is look at how people use the unifinder. We noticed that most people seem to use it to look at the events of today or maybe the next few days, but not the events of two years in the past. So from now on, the unifinder will only display today's events by default. You can of course still configure it to display other timeranges. Thanks go to Philipp for implementing this and to Daniel for his review.
  • Bug 328996: guessSystemTimezone doesn't take northern/southern hemisphere into account
    When you start Lightning or Sunbird for the first time, it tries to guess in which timezone you are working. In the past our algorithm for doing this did a poor job in some cases. While it would normally guess the time offset correctly (e.g. if you were living in central Europe, it would guess that you were in GMT+1), it did a poor job on guessing your real location. This sucks, because if you are living in Germany and Sunbird thinks that you are working in Algeria, then stuff like daylight savings time wouldn't work correctly. In addition other places in our app sometimes got confused if your configured timezone in the application was different from your system timezone.

    This bugfix should fix 99% of all those issues. We believe that it will drastically improve the reliability of Sunbird's or Lightning's time reporting and will also reduce support questions. Thanks go to gekacheka for providing the patch and to Clint for reviewing it.
  • Bug 393395: Offline Support infrastructure: Synchronization interfaces
    In the past if you were working with remote calendars, you could only use Lightning or Sunbird when you were online. With this patch we've made the first step into the world of offline support. Please note that the current state of offline support is still considered experimental. But it should already work in most cases. Thanks go to Daniel and Philipp, who implemented and reviewed this.
  • Bug 402518: Enhance storage provider to store foreign timezones
    The issue that this bug fixes is probably the most reported bug for Lightning and Sunbird to date. Until now, our apps would not recognize the timezone definitions in an .ics file, that had been created by other apps (like Outlook, iCal, Evolution, etc.). The effect was, that our apps would go berserk and simply assume that the timezone would be GMT (Greenwich Mean Time) or that there was no timezone mentioned in the imported file at all. That lead to events being displayed at the wrong time. A pretty serious issue for a Calendar application to be honest.

    This bugfix should fix this issue once and for all. However timezones are a delicate thing and it's easy to miss someting. Therefore we could need some help in testing current nightly builds, so that we're not in for a big surprise once 0.8 is released. Nevertheless we believe that it will drastically improve the reliability of Sunbird's or Lightning's time reporting and will also reduce support questions. Thanks go to Daniel for fixing this beast, that has plagued for such a long time and to Clint for reviewing the patch.
  • Bug 408727: Monthview is slow in sorting events
    In the past we have heard some reports of Lightning or Sunbird being slow with larger calendar files. We are currently investigating the roots of the performance issues. One of the first results of this investigation is this patch. We noticed that we were doing unnecessary complex calculations when building up the month view to display a calendar. While this fix alone will not suddenly make the app Lightning-fast, the positive effect should still be noticeable. Thanks go to mvl for providing the patch and to Mickey for reviewing it.
  • Bug 411690: Avoid unifinder startup load
    This is another case of us doing unneccessary work. In the past we would always update and refresh the unifinder, regardless of whether it was displayed or hidden. From now on, we will only update and refresh the unifinder when it is active. So if you don't use it at all or only sometimes, we will use the cycles of your computer more effectively. Thanks go again to Philipp for implementing this and to Mickey for reviewing the patch.
That's it for today. Tomorrow I'll present to you our recent improvements in the front-end and the UI. Stay tuned!

January 23, 2008

Lightning/Sunbird Status Update (January 23)

WOW! Just nine days have passed since the last status update and 44 bugs have been fixed in that time period. A lot of of those bug fixes fix important and/or longstanding issues and deserve special attention, but if I put everything into this posting you'll probably need a few hours to read through this post :).

Therefore I'll post one or more additional posts within the next few days dedicated to those important bugfixes.

So without much further ado here is the list of all the 44 bugs which were fixed within the last nine days:

  • Bug 195580: Can't use delete button to delete task or calendar
  • Bug 257428: use alarms? -- preference on a per-calendar basis
  • Bug 278799: Unifinder: Sorting events should use collator & precomputed keys
  • Bug 313822: adjust getMailBar() to recognize the SeaMonkey toolbar
  • Bug 328618: failure when creating calendar objects does not display an error dialog
  • Bug 328996: guessSystemTimezone doesn't take northern/southern hemisphere into account
  • Bug 352546: Build Lightning with all locales included
  • Bug 379100: Give the Unifinder an overhaul
  • Bug 384826: Double click while editing event title in multiday view should select word
  • Bug 386432: Unify code of Lightning and Sunbird (Part 1 -- Script Consolidation)
  • Bug 387863: Event Invitation by mail does not display END TIME of event
  • Bug 389952: Header of Agenda-pane should be improved
  • Bug 392936: Switching mode toolbar location from top to bottom causes duplicate icons
  • Bug 393395: Offline Support infrastructure: Synchronization interfaces
  • Bug 401546: Alarm indicator icon is not visible for recurrent events
  • Bug 402518: Enhance storage provider to store foreign timezones
  • Bug 404023: Lightning asks for a target calendar even when declining an invitation
  • Bug 405312: task mode splitter affects message pane splitter in mail mode
  • Bug 408287: Strict warnings in calendar-task-tree.xml on double click and startup
  • Bug 408291