I use Google calendar for maintaining my schedules and getting timely reminders (both email and SMS). The only thing better than this that I ever wanted was a desktop application having similar functionalities. Thankfully, thunderbird extension -- Lightning is one good desktop calendar. It can be easily synced up with GCal using another extension which keeps both the desktop and online calendar synced up. Here is a detailed tutorial showing how that can be done and where you can find those extensions!