Jul 08

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.

Jul 08

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

Jul 08

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…

Jul 08

Calendar Community Testday On Thursday, July 24

After a short discussion at the QA chat last week, we decided that the next test day will be held on Thursday, July 24th. The main focus of this test day will be the Today Pane functionality (Berend added some minor features in bug 429687). We will also take a look at the new calendar view navigation (bug 444292), and try to find regressions.

There are also many fixed bugs that need to be verified. You simply have to add a comment to the bug report stating what product, version and operating system you used while verifying the bug fixed.

Join us in the #calendar-qa IRC channel on Thursday. All the information on the testday is on our usual Test Day wiki page.

Hope to see you in #calendar-qa!

Calendar QA Team

Jul 08

Testday Update: Interested in scheduling using email invitations (iTIP/iMIP)?

Daniel landed some highly demanded iTIP/iMIP features today, and we want to put email-based scheduling (iTIP/iMIP support) to the acid test on our testday, tomorrow, Thursday, July 17th.

The landed patch allows the user to select an Email Identity for a calendar, which in turn is useful for accepting invitations so that the application can determine which identity to use when sending a reply. Also, calendar providers were given more control of how invitations are handled.

Join us in the #calendar-qa IRC channel tomorrow. All the information on the testday is on our usual Test Day wiki page.

Hope to see you in #calendar-qa!

Calendar QA Team

Jul 08

Privacy alert: Google calendar may display real names of other Google mail users

As discovered by SecuriTeam it’s possible to discover the real name behind a Google mail addresings in web forums, mailing lists or newsgroups. It could also give spammers the ability to send you more targeted advertisements.

More details are in the relavnt SecuriTeam blog post. Since a lot of our users use Google Calendar, I thought I might pass this along.

Jul 08

Simon’s Developer notes: Contributing to the Calendar Project

After my last post many good suggestions were posted to the comment section

  • An improved website, functioning as a portal to the project, with links to a roadmap, discussion forums, FAQs, developer documentation, etc.
  • Development of a real project roadmap
  • More developer documentation
  • Regular user polls
  • Creation of PR documents and improved PR efforts
  • Creation of a list of easy to fix bugs, which would be suitable for project newcomers
  • Development of often requested features, e.g. sync functionality

Fulfilling all of these items would surely keep one person working full-time on it busy for a few weeks or months at least. But what strikes me here is, that all of the requests and suggestions above (except the last one) do not involve writing code at all.

This brings me to one of the greatest secrets of Open Source: You don’t have to be a developer to contribute to the project!

So this is basically a call to help to all of you out here, who are thinking or have been thinking about contributing to the project in the past, but found it hard to get into or didn’t know where to start. You guys can make a real difference here!

So if one of you thinks that he knows something about web design or web development, send me your ideas. If one of you is good at writing technical documentation, then I can point to the relevant people to get you started on developer documentation. If one of you wants to make a project roadmap a reality, I can point you to all the small pieces that just need to be glued together. If you would like to gather the opinion of our users or want to spread the word about Lightning and Sunbird, just go for it or send me your ideas.

This list could probably be continued indefinitely, but I guess what I’m trying to say is: It’s easy to get into the Calendar project, you just need to do “something”. Back in 2002 this was how I got into Firefox Project (called Phoenix at that time), because I responded to a call from Asa Dotzler about doing some bug triage. Two days later I was someone important in the project. Two years later, I approached the past Calendar project lead, Mostafah Hosseini, with some improvement suggestions to the project website and a week later I was the “officially” appointed website maintainer.

So you see, little stuff can make a difference. Go for it!

Jul 08

Calendar Community Testday On Thursday, July 17

Our next test day will be held on Thursday, July 17th, and we need your help to find regressions and bugs!

I want to give you a short description how a test day proceeds:
We usually try a mix of Litmus and ad-hoc testing. Ad-hoc testing is testing where we attempt to use the product like a ‘normal user’ to find any issues that crop up along the way. We also try to make the application break by doing unexpected things – mixing up events, mails, tasks, calendar types etc. This is also called ‘destructive testing’. After you have discovered a bug, you should take a look at the Error Console in the Tools menu before submitting a bug report, since it usually contains valuable information that points to the cause of the bug.
We also verify fixed bugs. In this case, we just add a comment to the bug report stating our used product, version and operating system.

Please, join us in #calendar-qa on Thursday. You can find all information on the test day on our Test Day wiki page.

Happy Testing!

Calendar QA Team

Jul 08

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

Jul 08

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.

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.

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