Sunbird and Hamster are two applications by which I get most of work done. I have already talked about Hamster at Time Tracking in Linux using Hamster . In this post, I will talk about Sunbird and Lightning.
Sunbird at its heart is a simple stand alone calendar application. You can manage tasks , add events and reminders and sync calendars. Lightning is a Thunderbird extension which gives access to all of Sunbird’s features from Thunderbird. So , once you are comfortable with one of sunbird/lightning , it is very easy to work with the other.
The decision to select one is primarily based on whether you want a stand alone or Thunderbird extension. In my case, I wanted a stand alone calendar application. I was subscribed to multiple online calendars (Google, Exchange, my university’s event calendar etc) and it did not make sense to integrate all of them with Thunderbird. Also, Lightning’s remainders were not playing well when you minimized Thunderbird using AllTray . With Lightning 1.0 and Thunderbird 3.0 , the problem is no longer there but I had become used to Sunbird.
Note : Mozilla foundation will not add any more new features to Sunbird and will focus primarily on Lightning extension for Thunderbird. That is not a big deal as Sunbird, as it exists , is a very stable application. Also most of the discussion here applies to Lightning too. So if you decide to go with Lightning instead of Sunbird, the instructions in this post will still work.
Installing Sunbird is very easy. If you are in Ubuntu (Lucid or something older) , you can use apt-get to install it.
sudo apt-get install sunbird
I think the instructions for other operating systems is very similar. You can also check out Sunbird’s download page for more details about installing.
Tasks are one of the important tasks in Sunbird. You can consider a task as anything that should be completed by some due date. Tasks are very similar to Events and the difference between them is mostly pedantic. Tasks have a start date, due date, recurrence and reminders. Tasks have some additional information like the current status and completion percentage . Sunbird will very helpfully color code your tasks based on their status and due date. You can also optionally hide all the completed tasks. Also, you can classify your tasks using "Category" field and assign it to one of your local or online calendars, provided you have appropriate providers (more on that later).
If you do not use tasks much, you can always hide it by unchecking View -> Task List. (And vice versa).
Calendars are one of the basic ideas in Sunbird. Calendars can be local (residing in your hard disk) or online (eg Google Calendars, Outlook Exchange server or even Remember The Milk). You can optionally have more that one calendar. For eg, I have multiple calendars – one for my personal stuff, one for my research, one for my university’s events etc. It is always a good idea to have multiple calendar – one for each purpose.
Sunbird Local Calendars
The simplest type of calendar is the local calendar. To create a new local calendar, File -> New Calendar (or Ctrl + L). Select "On My Computer" for local calendar. Click Next. Select a name for the calendar and a color by which the events in this calendar will be highlighted. I usually find color coding of events is very useful when you have multiple calendars and you skim over them. Click Next and then select Finish. Your local calendar is now created. All the local calendars will be listed at the left hand corner of Sunbird.
Sunbird Online / Remote Calendars
The other important type of calendars is the online / remote calendars where some server publishes the calendar and Sunbird acts as a client application. (Some thing like Outlook does for Exchange Server). Sunbird is versatile as it supports a variety of calendar formats (ICS, CalDAV etc). It also allows you to plug in providers if your calendar server has some different format. To add a remote calendar , File -> New Calendar -> On the Network -> Select protocol and give URL -> Next -> Select colors for this calendar -> Finish. Some of the popular remote/online calendar providers are :
a. Google Calendar : Adding Google Calendar has become very easy recently after Google added CalDAV support. Follow the instructions at Enable Google Calendar in Mozilla Sunbird . You can also check out Google Calendar Provider plugin if the first instructions did not work out.
b. Outlook/Exchange server : There are two cases here. The first case is you want to move some of your outlook appointments to Sunbird. In this case, you can export your appointments into a csv/ical file from Outlook and import it into Sunbird using File->Import .
The other scenario is you want to sync to a Exchange server. I never found a good solution to sync Sunbird and Outlook/Exchange. I finally used a indirect way to achieve it. The basic idea was to sync Exchange and Google Calendar using the instructions at Getting started with Google Calendar Sync. Then use Sunbird to sync the events from Google Calendar as discussed above.
c. Apple iCal : Lot of Apple’s apps use iCal format and it works very well with Sunbird as it supports ICS. You can import the ics file and create a new calendar.
d. Syncing with Smart Phones (IPhone / Android / Blackberry etc) : The basic idea is same. Google has apps in each of the smart phones to interact with google calendar. So use the app to sync the smart phone and google calendar. Make Sunbird sync with Google calendar.
e. Other Providers : Other calendar servers may have different format. Sunbird has lot of provider add-ons which can import/sync calendars to Sunbird. See the list of these providers . Probably the most common is Remember the Milk. If you are interested in RTM, then check Remember The Milk’s instructions to sync tasks/events.
Other Calendar Operations
Sunbird has other calendar operations other than creating it. You can import events from a calendar file (typically ics/ical). You can export Sunbird’s calendar events and import it to other applications like Outlook. You can also publish your calendar to your own CalDAV server as an ics file. The other cool stuff is to Subscribe to be a remote calendar. This is useful if you want to follow some organization’s public schedule. For eg, I follow my university’s event calendar. For Apple’s fan boys, they provide their events as an ICS calendar. All these operations are available from the File menu.
You can also delete a calendar by either right clicking on it and selecting "Delete Calendar" . Online calendars are refreshed every few minutes – so if you want to get the latest events NOW, do File->Reload Remote Calendars (or Ctrl+R) .
Creating Events and Reminders with Sunbird
Once you create a calendar, the next thing to do is to set up some events and reminders. If you have multiple calendars, select the calendar in which you want the new event to reside in. File -> New Event (Ctrl+N) . This will bring up the event dialog window. You can enter the title/location of the event , the category of the event (some birthday or meeting etc) and also optionally change the calendar.
The other fields are pretty intuitive if you have used other calendar applications like Outlook. You can have very flexible (custom) recurrence and remainders which makes scheduling events pretty powerful . Sunbird also has a basic event scheduling features. When you create a new event , you can invite additional participants and check their conflicts. Again, you can make this event as public or private which is very important for online calendars like Google Calendar. All these options are available from the "New Event" dialog. There are additional options available to control the event/appointments in the Options menu of the New Event dialog.
Sunbird will show a reminder for the event at the time you have set . You can snooze the reminders or dismiss it. Sunbird can show reminders only when it is running. So I usually start it at bootup and also minimize it using AllTray. You can find the instructions at my AllTray Primer.
If you want to play around with Sunbird’s internals – most of the stuff is present at ~/.mozilla/sunbird/<profile name> . The calendar information is usually at storage.sdb . This is a SQLite file and you can play around with it. The database schema is a bit unintuitive but you will have fun figuring out how all the stuff are organized – Try finding how Sunbird stores recurrence, remainders and other stuff like attachments.
Sunbird also has lot of extensions (or addons). You can the entire list at Sunbird’s addons page. One of my favorite addon is FoxClocks which allows me to find out times at other countries/time zones fast. This is especially needed in US as I never correctly know the time zone differences across texas/new york / california/ seattle etc. To install an addon, download the xpi file. Tools -> Addons -> Install and select the xpi file. Restart Sunbird to apply it.
Sunbird also has lot of themes. If you are not satisfied with the default theme , you can find new ones at Sunbird’s Themes page. To install an addon, download the theme file. Tools -> Addons -> Select Theme tab -> Install and select the theme file. Restart Sunbird to apply it.
Lightning Extension for Thunderbird
If for some reason you do not want to use Sunbird as a stand alone application and want to use it along with Thunderbird, then you can install the Lightning extension. The extension can be downloaded from its official homepage. If you are in Thunderbird 3 , then you can install it by Tools -> Addons -> Get Addons tab. Type "Lightning" in the search box. Install the Lightning extension. You may want to restart Thunderbird for applying it.
Note that the above steps only works if you are using a 32 bit version of Thunderbird. If you are using 64 bit computer then you need to manually download the extension file from Mozilla’s page. Go to Mozilla’s Lightning release page, select the latest stable version and select your OS. Download the lightning.xpi file. To install it , Tools -> Addons -> Install and select the xpi file and you are all set.
Once you install Lightning, there are two ways to use it. The first way is as a side pane. Enable the today pane at View -> Today Pane -> Show Today Pane (or F11) . You can cycle around through different views in Today pane (only tasks/only events or both ). This is probably the best way as it conserves space.
If you want to do lot of changes in your calendar, then it is a good idea to switch to a Sunbird-ish view. If you look at Thunderbird , at the top right corner, there will be two innocuous looking icons – One looks like a calendar and other like tasks. Clicking on them opens Events and Tasks in different tabs. People using Sunbird will be immediately comfortable with this interface.
Sunbird and Lightning are really cool applications. Have fun with them !