Main

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: calendar task tree shows completed date in UTC
  • Bug 408349: Add 'Click Here to Add a New Task' text field to Task List of Today-Pane
  • Bug 408473: Strict warnings in calendar-dnd-listener.js
  • Bug 408651: scroll bar in task mode is defect
  • Bug 408727: Monthview is slow in sorting events
  • Bug 408798: Optimize Menu Structure for Task Mode
  • Bug 411489: It is not possible to drop a Mail or Task into the Event List Container
  • Bug 411497: Task mode should offer some sort of filtering
  • Bug 411498: Task mode details pane doesn't show enough details
  • Bug 411690: Avoid unifinder startup load
  • Bug 412258: Category color isn't displayed if category name is longer than 2 words
  • Bug 412389: channel variable not defined in calDavCalendar.js