The Mozilla project is best known for its widespread Firefox browser, a cross-platform, extensible, and open source Web tool used by millions. The project applied the same development model to building its email client Thunderbird, which shares many of the same underlying technologies and design principles used in Firefox. The third but perhaps least-known application in the Mozilla suite is the Mozilla calendar client–a cross-platform tool for managing multiple local and remote calendars, tracking to-do tasks, and synchronizing with other users. The stand-alone version of the calendar is called Sunbird, but most users choose the Lightning build instead, an extension for Thunderbird that integrates calendar functions into the email client.
You can install the Lightning extension by downloading the XPI file from the extension’s page at addons.mozilla.org. Inside Thunderbird, select the Add-ons manager from the Tools menu, hit the Install button, and select the newly-downloaded XPI. When you restart Thunderbird, you will see the calendar components built right into the user interface and menus. The bottom left-hand corner of the window contains an application switcher, so you can jump between the calendar view, your email, and the task list organizer.
In the calendar view, the left-hand sidebar holds a small month-view widget and a list of all of the available calendars tied to your profile. By default, you have just one: “Home.” You can add events to this calendar as desired with the New Event button–Lightning supports single and repeating events, timed and all-day events, user-defined event categories, adjustable privacy levels, automatic reminders, and sending invitation requests to people in your address book.
You can gain even more flexibility by adding additional calendars, to track work and group events separately, for example. Your calendars will be color-coded to distinguish between them in the main calendar views, and you can show or hide them by toggling the check box in the left-hand sidebar’s list. To create a new calendar, chose New Calendar from the Calendar menu.
The calendar creation tool allows you to create either a local or network calendar; a local calendar like Home will be accessible only on the computer on which it was created. Network calendars provide an even greater level of convenience–you can connect to the same set of network calendars from multiple locations and never worry about changes getting out of sync. Lightning supports three remote calendar protocols out of the box: iCalendar, CalDAV, and Web Calendar Access Protocol (WCAP). iCalendar is an Internet standard usually recognized by the .ICS extension on its calendar feeds, and requiring an iCalendar server on the remote end. CalDAV uses a WebDAV server to remotely store calendar files. WCAP is an XML-and-HTTP based protocol that incorporates elements from iCalendar, but is mostly used by the Sun Java Calendar Server.
To add a network calendar of any kind to your profile, you will need to first set up the calendar on the remote calendar server, then copy the provided URL into Lightning’s calendar creation tool. This can be a personal calendar that you alone use, a shared calendar to which other people have read-write access, or a read-only feed such as a national holiday calendar or sporting event schedule.
The task manager provides a category-based to-do list system based on the iCalendar VTODO standard. Because VTODO tasks are part of iCalendar, they can incorporate many of the same features, such as categories, privacy settings, reminders, and repetition. Tasks also have a “status” property with which you can track progress towards completion; Lightning allows you to sort and view tasks based on their current status just like other properties. Note also that because tasks are an iCalendar feature, each task must belong to a particular calendar and can only belong to one calendar. That may seem counterintuitive at first, as tasks are presented separately from calendar events, so be sure to get into the habit of checking the calendar setting of each new task if you use multiple calendars to sort events.
Extensions and Providers
Because Lightning is Mozilla-based, it supports extensions, just as Firefox and Thunderbird do. There are Lightning extensions that change the way the application behaves, such as adding additional reminder variations, that support additional data formats, such as the Hebrew calendar or .VCS files, or that add new functionality like importing birthdays from your address book contacts.
Perhaps the most useful extensions, though, are those that enable you to connect to additional calendar services. The Provider for Google Calendar extension adds a button to the new calendar creation tool that lets you subscribe to Google Calendar feeds, with full two-way editing support exactly like the built-in network calendar types. Additional services have their own “provider” extensions, like Remember The Milk.
Sunbird and More
Most of calendaring features found in the Lightning extension are also available in the stand-alone Sunbird application, minus those that deal with address book integration. If you do not use Thunderbird or simply prefer a stand-alone calendar, you can try Sunbird. It is available as a download from mozilla.org and can often be found in the package management system of major Linux distributions. Sunbird supports the same calendaring extensions as Lightning, including the remote calendar providers.
Beware, though, that the future of Sunbird as a stand-alone product is uncertain. The project announced that the recent 0.9 release would be the last Sunbird build until further notice. The reasons were two-fold: first, the project had too few developers to maintain separate builds for both Sunbird and Lightning, and second, over the course of the calendar project’s life, the vast majority of downloads were of the Lightning variant. The situation could change, but until the project makes an announcement to that effect, Sunbird 0.9 may be the last release for the foreseeable future.
Whichever variation you choose, you will find additional documentation on the Mozilla Calendar wiki. The project also maintains a list of other applications and calendar servers known to work well with Sunbird and Lightning. If you need help with a particular feature of Sunbird or Lightning, the mozillaZine site hosts an active discussion forum where both developers and users meet to talk about the project and its ongoing progress.