Site Links

Software page

Birthdaybook page

Birthdaybook manual

Backuplist page

Backuplist manual

iCleanLanguage page

Donations page

Contact me

birtdhaybook icon

Birthdaybook Help manual

I created this simple application as a way to remind us to send birthday cards to family overseas, which takes a good week to get there from the US. Eventually it became a full featured birthday reminder application. It was created with AppleScript Studio using the AppleScript programing language along with some Objective-C language and Unix. You can download an editable version from the website to view the code.

Birthdaybook is "Notice-ware". It is free. We spent many hours working on it so If you use it and enjoy it, please send me an email and let me know (email support- in the help menu). Helpful criticism and thoughts are always welcome. And if you can, please donate an extra five dollars to your favorite charity and we will call it Donate-ware! Or, If you wish, you can make a donation to me to pay for future system updates so I can continue to improve Birthdaybook and keep it alive.... see "donations" below or click here to make a donation...

New in this version:

Birthdayboook 5.2

I fixed the elusive age bug which seemed to mysteriously reappear again. Hopefully this has been fixed forever and the age calculation will be the correct one in the reminder and list windows. You can now quickly switch views between the reminder window and the list window. Any changes made in the list window will now be updated in the reminder window without relaunching Birthdaybook. There are several other bug fixes, code improvements, and new cosmetic details.
The French version of Birthdaybook now has French Help Pages (Help menu > Aide Birthdaybook) and a French manual can be downloaded here: French Manual.

Compatibility: Birthdaybook is compatible on Mac OSX 10.3.9, 10.4X, 1nd 10.5x leopard

Take Note!
Use the new arrow buttons to switch from reminder to list window and vice versa.

arrow buttons

 

New Features

• Fixed the "age bug"
• Switch window views on the fly.
• New French Help pages and manual
• New, simpler, list window and reminder window.
• Faster launch of reminder window and optimized memory management
• Fixed bug with iCal export and incorrect dates
• Improved translations in Spanish, French
• Universal binary (works on new Intel Macs)
• Wikipedia lookup (Help menu)
• Print the table (File menu > Print)
• Access Birthdaybook when no birthday reminders are available.
• More stable preferences window
• Several small fixes of code
• Correct age in reminders
• And more …

 

Installation

Use the Birthdaybook installer and automatically update to the latest version, or if you prefer to do it manually, put the Birthdaybook folder in your Applications folder. Be sure to remove any old Birthdaybook folders from previous versions. Do not remove any items from the Birthdaybook folder or from the Script files folder within!

Uninstallation

If you used the Birthdaybook installer, launch it and choose "Uninstall". Otherwise you can use the uninstaller script located in the Script files folder in the Birthdaybook folder. Just click on it and all remnants of Birthdaybook will be removed.

 

General Startup:

1. Drag the Birthdaybook application icon ("Blue Book") to the Dock for easy access.
2. Double click on the "Blue Book" and you will see the Birthday Reminder window.
3. Click the "See" button to show the Birthdaybook List Window. The List Window will have the heading “Birthdays & Anniversaries.”
4. In the List Window, you can add, import (see below) and remove birthdays and anniversaries as you like. Then click the “Save” button.
5. Also In the list window, you can drag the columns around to arrange the table to your desired order.
6. Next time you click the "Blue Book" icon, your new birthday reminders will appear!

More: Set your user preferences for date range etc. in "Preferences" (See "Preferences" below.)

 

List Window

birthdaybook list window

 

Rearrange Column Order: Click on and Drag a column header (letter “A” in the illustration above) to the left or right to change the order of the columns. You can move particular columns out of the window viewing area if you don't want to see them in the table.
Resize columns: You can resize the widths of the columns by clicking and dragging on the column divider line between two headers (the gray line next to letter “B” in the illustration above) to make a column narrower or wider. Basic stuff. You can hide columns you don't want by moving or resizing them off to the right out of view of the main window. Experiment.
Edit Information: Click on an item in the table to edit it (C).
(Illustration #)

B or A (1) Select B or A to enter a Birthday or Anniversary to your list.
Name (2) Enter the name of the person or event you want to add to your list.
Date (3) Enter the Birth or Anniversary date. You may include the year, but this is optional.
Add (4) Press the “Add” button when you are ready to add a name to the list.
Remove (5) Press the “Remove” button when you are ready to remove an item(s) from the list.
Email (6) Press the button with the envelope image to send an email greeting to the person selected in the list.
T (7) Press the button with the phone image to get the address or telephone number of the person selected in your list from your Address Book.
Switch (8) Press the buttons with the arrows to switch back and forth between List and reminder windows.

 

The Details:

Add: To add names, select the type, "B" or "A" (number 4 in the illustration above), fill in name and date in the appropriate boxes (numbers 5 and 6 in the illustration above) and click "Add". "A" or "B" is for Anniversaries or Birthdays and these words will be automatically entered into the “Date type” column. It returns to "B" automatically since most entries are birthdays. You can enter any form of names you want such as first or last names, or both.

Be sure to enter a correct date like "9 January", "January 9, 1956", "01/09", or "01/09/1956".

"01/09/56" is not a correct date entry because the year can not be abbreviated.

You must enter the date in the format for your language and region or you will get wrong dates or an error message. Example: 9/01/2000 will be January 9, 2000 in France and September 1, 2000 in US.

You can enter the year, too, but it isn't necessary. If you don’t enter a year, there will be no entry in the year and age columns.

You can also add any other dates you want to remember under "A" (number 4, above). In the table, under the "Date type" column, you can replace the word “Anniversary” with a more personal reminder (see “Edit,” below). Example: “Anniversary” might be replaced with "cousin party".

Remove: To remove names from the list click on them in the list window and press "remove". You may select multiples in the usual way (using the command key for individual choices, or the shift key for a consecutive group).

Key stroke shortcuts:
Add Command+shift+A
Remove Command+shift+R

Edit: You can edit the type, names, dates, years, and ages, in the table itself. Just double click the particular item in the table row and enter the new data. Note: If you change entries in the age column, you must press the refresh "Age" button to refresh the rest of the table. And consequently, with the date and year, press those refresh buttons respectively. This keeps the data updated correctly. In Tiger, OS 10.4 and above, the refresh buttons are no longer available or necessary - just edit and the table refreshes itself!

Email: To open (create?) an email message to someone on the list, select just their name in the list window and press the “Email” button. If the name is in your Address Book, you will see a list of their email addresses to choose from. You will then be asked to type a short message, or stick with the default "Happy Birthday". If you delete the text then no "special message" will appear in the new email message. The "Mail" application will then open and create a new message with a crazy text message in random fonts and sizes and colors.

Note: This "crazy" message won't appear unless the recipient can receive Rich Text Format (.RTF), so Window's people are out of luck. There is a simple way to make it readable for everyone though: With the new message window open, Make a screen shot by pressing Command-Shift-4 on keyboard and click and drag the mouse around the colorful Birthday message and then let go of mouse. If you are careful you will get a nice clean picture of the message and It will appear on your desktop as a file called something like "Picture 1". You can now delete the Birthday message in your email and drag the "Picture 1" image into it's place. (For extra insurance, you can also Click "Attach document" in the email menu bar and choose the picture file to attach, while checking the box that says "Windows friendly" at the bottom. This will ensure the proper format). Now anyone whose email receives images will see your fun message!

Phone numbers and Addresses: Select a name in your list and click on the "T" button. If you have a phone number or an address listed for this person in your Address Book, it will be displayed so you can call them, or send them a card for their Birthday too!

Sorting: You can sort your list by any of the columns in the List Window. Just click on the column header(s) and the list will sort itself. Click again and they will sort in reverse order.

 

File menu

Import Menu

 

Import from Address Book: Go to File menu and select "Import from Address Book". Your Birthdaybook birthday list will now be updated to match all birthdays you have indicated in the Address Book. Only birthdays that are not already in the list will be added. You will be asked if you want to import just Birthdays and Anniversaries, or Birthdays and all custom dates. For those who are custom date freaks …

Export Birthdays to iCal: Birthdaybook will create a new calendar in iCal called "Birthdays". It will fill in the names and dates of all the birth dates in your list, in the new calendar. You can turn the new calendar on or off in iCal , or delete it if you change your mind. Keep in mind that this is not transferring items directly from Address Book- If a calendar called "Birthdays" already exists in iCal, you will be asked if you want to create a new one, or add the new Birthdays to the existing one.

Import Birthdays from Ical: Birthdaybook will import all your birthdays from iCal. Only if the word "birthday" or "anniversary" are in the summary or description of an iCal event will they be imported. It is advised that you import birthdays form address book for better results.

Print table: Birthdaybook will print the birthday list from the table in the List Window. The print includes all the columns in the table so the size of the rows depends on the width of your columns.

Export birthdays to text file: You can now export your birthday etc. list to a text file for printing. You will see a dialog box with options for fonts, colors, and font sizes for the separate name and date lines. Press OK and, magically, a beautiful calendar will appear!

Options:


TextEdit: This will generate a text file in TextEdit from a template. It makes a copy in your Birthdaybook folder. You should select "save as" when saving your calendar file, if you want to keep your file and store it in a separate location. The original template is located in the Resources folder of Birthdaybook (Control click on Birthdaybook > "Show Package Contents" > Contents > Resources). You can change much of the calendar appearance in the dialog box but If you wish to use your own images, you can afterwards add them to your text file or, alternately, carefully open the template file and replace the icons with your own pictures, graphics,etc. Do not change any of the return spaces or other formatting or the template will not work properly. Make before a backup copy of the template to be safe! See Bbookconverter below for an easy way to get your pictures into the correct format.

MS Word: Like TextEdit, this will generate a new Word file, with or without icons. It will only work with Word 2004. The Word calendar can then be formatted further with the many formatting options available in Word. Unlike TextEdit, the Word calendar creates a new document each time (no template) and uses the images found in the "Bbookimages" folder in the "Script files" folder. This makes it easy to replace the image set with your own but they must be in Tiff format and have the exact names as the icon files "100.tif" thru "111.tif". You can use the Bbookconverter script to locate a folder of your own 12 images and convert them to a correct size, name, and format. You can then replace the "Bbookimages" with the "Bbookimages" new folder.
To make a two-column style calendar in Word, select text after after the "Birthdays" title at the top of page till the end of all text. Then go to Format menu > Columns and in the dialog box check "two columns".
Note. Word does not handle color picker well so you color choices may not be exactly what you see. Sorry!

MS Excel: You can also make a spreadsheet (why would you want to do that?) from your birthday list. Plain and simple.

Note: Bbookconverter is a script in the Script files folder which you can use to covert a
folder of your own 12 images to uniform size and format for use in the calendar file. Click on the script and follow directions. It will create a new folder called "Bbookimages" and place the converted copies in it. This process can take a while if the images are big.

For more information, see the menu Help > Birthdaybook Help > Printing a calendar.

 

 

Preferences Window

Settings window 1

You can set preferences by selecting "Preferences" from the File Menu in the Apple menu bar. There are several choices (below), just click on the tool bar icon at the top of the Preferences window to access that set of preferences.

Formats
Reminder date format: Birthdaybook will select the date format automatically depending on the region you are in. You can, however, override this and select your own preferred style. Some countries use different code and AppleScript will not interpret that so you will have to select your own format in that case too.

Reminder Display: choose to see name or date first in the list.

Date range
Reminder dates: Set your range of days that you want to see reminders on. If you select "10 days before", then reminders will show for a birthday every day for ten days before the actual day. There is also a custom date range you can design yourself. Just type in your range of days, separated by commas, in the dialog box.

Scheduling
The Birthday Reminders
The reminders will appear in the birthday dialog for several days before the actual date. this gives you time to mail cards, gifts, or just ponder the miracle of birth. The reminders will appear 10, 9, 8, 7, 6, 5, 4, 3, 2, or 1 days before, or any combination of these dates you choose. This may seem excessive but, as I said, I did this to allow time for cards to reach European family from the US and it takes a lot to remind me to do something! Most reminder applications don't do this! Change the date range in "Preferences" in the Birthdaybook menu at top of your screen (see "Preferences" below). If there is a range you would like better, there is a custom range choice.

No automatic reminders. This resets the startup items to default, removing the Birthdaybook application or the dailyreminderb script from the start up items list. You can then see the reminders only by launching Birthdaybook yourself. You must click the "Enable Changes" button for it to activate.

After every startup: This causes the Birthdaybook application to become a startup item, to launch automatically when you start up Mac. It will quit when you quit the application. You will see the reminders only after every startup. You must click "Enable Changes" for it to activate.

Prefs window 2

Custom icons. You can now choose your own images or icons to see in the reminder window! Just press "custom icons" button (see the picture above) and you will be asked if you want to use a folder of images, a folder of icons, or a selection from iPhoto. Select your choice and you will be asked to pick a size for the images to be scaled to. Fifty pixels is the default size but you can make it a bit larger if you wish. A range of 50 to 60 is best.

In the dialog box you have three choices:

If you choose Images, you will be asked to pick a folder containing up to twenty images. They should be jpeg, tiff, png, or any other common image format, and can be any size. Square shaped images look better and there is less cropping. Birthdaybook will then convert them to the proper scale for viewing in the reminder window.

If you choose Icons, you will be asked to pick a folder containing up to twenty icons. They must be Mac OS icon files. You can download many free sets of great icons online from Pixel Press and other sites. Or you can make your own, if you are very clever.

If you choose iPhoto, you should first select the photos in the iPhoto program before continuing. Select up to twenty pictures - by using the mouse, you can command-click on different images to select them all. Then press the iPhoto button in the dialog box and pick a pixel size when asked (see above for "Images"). Birthdaybook will create a set of icons for the reminder window, from your selection in iPhoto. Magic!

After each startup and once a day after sleep: This causes the dailyreminderb script application to become the startup item, Birthdaybook will appear after every restart and/or once a day after computer wakes from sleep; therefore the dailyreminderb script stays open in the background. You must click "Enable Changes" for it to activate.

Once a day after startup or sleep: This also causes the dailyreminderb script application to become the startup item. Birthdaybook reminders will now appear only once each day. Dailyreminderb will stay open in the background to and detect when the day has changed. You must click "Enable Changes" for it to activate.

Set a daily reminder time: Set your time for a daily reminder, click "Enable Changes", and then restart Birthdaybook to engage the new settings. This choice will engage the dailyreminderb script as a startup item also.

Note: You can also add Birthdaybook application or the dailyreminderb script (found in the "Script files" folder) to your startup items manually. Open System Preferences, click on Accounts, and go to the Login or startup items tab. There you can add or subtract items in the list (+ and - signs). Navigate, in the dialog, to the Birthdaybook application or the dailyreminderb script and click choose. Be sure not to select both of them as startup items!!

The dailyreminderb script and the "Stay Open" feature. If you have selected "After each startup + once a day after sleep" or "Once a day after startup or sleep", the dailyreminderb script application will launch on every startup and remain open working behind the scenes. It won't be visible in the Dock or any menu. It shouldn't cause any drain to the system because it only checks the time every 50 seconds. Note: you can quit dailyreminderb script by selecting "No Automatic Reminders" under the Scheduling tab in "Preferences" and then restart the computer. You can also cancel it by opening the Activity Viewer application (utilities folder) and selecting "dailyreminderb" in the list and pressing the Quit button.

Appearance


Random colors will make the reminder window appear in different colors!

Custom Color lets you select a custom window color from the color picker (click several times).

Transparency will make the reminder window appear transparent - you can adjust the degree of transparency with the slider.

Display age in reminders will do just that! The "age" will be the age reached in the current year.

Display custom dates (Anniversaries etc,) will allow other reminders such as anniversaries, to be displayed in the reminder window along with birthdays.

Display astrological signs will show a persons "sign" after their name and birth date in the reminder window.

See reminders when there are no events? You can choose to see reminders every day even if there are no new birthdays to report. You will then see a "No new birthdays" message. Without that choice you won't be able to access the list if there is no message coming up but you can always access Birthdaybook by clicking on the Birthdaybook icon.

Display icons? Will do just that - display the Birthdaybook icons in the reminder window. They are random and chosen from a selection of twenty custom icon images.

 

Prefs window 3

Famous names
Famous names: Birthdaybook will display famous names (with a ◊ ) or not, or even more famous names (plus).

Custom Famous names lets you create your own famous names list. Click the Custom Famous names button and you will see a list of the default set of names on the left. You can remove names (delete key or the "minus" button) or add them in the text field and pressing the + button. You can add sets of famous names too - just press the "load sets" button and you will see a list of sets to choose from. You can add as many sets as you wish to build up your list. Duplicates will be removed along the way (hopefully.) You can edit the sets themselves in the Famous sets folder that is in the main Birthdaybook folder. We are working on making these sets and need your help so feel free to make new sets, or add to the existing ones, and email them to me so I can include them with future releases of Birthdaybook!

 

Backup your List data!


You can make a copy of your birthday list data for safe keeping. Just go to the File menu in the main menu bar on your screen. Choose "Create backup" and you will be asked for a location to store the backup file. It will have a name like "birthdata 12/25/2004" which means every time you create a backup it will be a separate archive because the folder is labeled with the date. You can keep all the backups as a record in case you deleted an important birthday at some time, or trash all but the latest backup list. If I send you a revised version, or if your Birthdaybook crashes and loses its data (unlikely), you can restore your data with the "import" command from the same File menu.

Note: permissions issues
If you wish to use Birthdaybook from different user accounts:

Put the Birthdaybook folder in the central Applications folder (default location) which means you will share the birthday list information with other users of your computer. To enable other user accounts to use Birthdaybook this way, you may have to change its permissions. Click on the Birthdaybook application and press Command+I (get info). Go to the bottom of the info pane and click the triangle "details" next to "Ownership and Permissions". You will see three sets of buttons, “Owner,” “Group,” and “Others.” There will also be a little padlock. Check the “Access” buttons for “Owner” and “Group” and the button for “Others”. Those buttons should say “Read and Write.” The “Group” name should be “everyone.” If any of the buttons is not the way it should be, click the little padlock open and make the necessary changes. Birthdaybook should now be accessible from any user account on your computer.

 

Credits:

Code:

Mostly myself, but thanks to the following for .......
Harry Wagendorp for endless help with Dutch code, morale, and solving some tricky AppleScript problems and his fast "Phone lookup" and much more. Thanks Harry!
Christopher Hickman for much help with OBJ C and the localizations.
Apple Computer: for the crazy text script that I modified
Jonathan Nathan's excellent script "Address Book Search" <http://homepage.mac.com/jonn8/as/>
Ulrich Kortenkamp for the inspiring AB to ical script <kortenkamp@mac.com>.

Translators:

Simon G. Madam & Harry Wagendorp for wonderful Dutch translations.
Alain Boisvert and Henry for translating the French version of Birthdaybook.
Frank Cornew for translating the Spanish version of Birthdaybook.
Thomas Dietzel, Hans-peter Jungwirt and Hans-peter Rosenlechner for translating the German version of Birthdaybook.
Federico Frezza and Giulia Criasfulli for the Italian.

Icons:

Hide Itoh for the fabulous kitchen & office implements. Really great icons.
Go to his site to see them all. http://www.pixture.com/top.php
Martha Royer for the beautiful butterfly icons.
mailto: royerm@icanect.net
T. Motoyama for the beautiful flower icons.
mailto: fwgk3506@mb.infoweb.or.jp%20
Me for the flower ink drawings and learning AppleScript
and to all the programmers and geniuses on the mailing lists who had the
patience to help me through the basics.

Support, thoughts, questions:

 

Birthdaybook Help menu


Please email me Rob Dutoit at
rdutoit@comcast.net

Birthdaybook Website:
Birthdaybook webpages

Donations for the future of Birthdaybook:
Donations page for Birthdaybook adn other cool stuff

 

Release notes:

version 2.01 First release of Birthdaybook

version 2.2 Added full integration with the Address Book. Can now sync the Birthdaybook list with birthdays in the Address Book.

version 2.3 Added Scheduling. Ability to have the reminders appear each day automatically whether computer is shut down or put to sleep. You can also set a daily time for message reminder. User can now enable Birthdaybook as a startup item automatically. Also now custom date ranges are possible.

version 2.4 Added ical integration, and phone number look up. also some bug fixes for Macs using OS 10.2x

version 2.5 Fixed the dreaded sorting bug in OS 10.2X. Added address lookup and increased speed of sorting and other functions.

version 2.5.2 Fixed a bug where "Create backup" didn't backup the current list unless you first press "Quit and Save". Now it backs up what you see.....

version 2.6 Added Anniversaries and "Year" and "Age" columns to the table. The table is now fully editable. Fixed a bug involving the custom date range feature in "Preferences."

version 2.6.3 Added importing from Ical, better date range and now the reminder dialog is sorted!

version 3.0 Compatibility with Tiger! 5 languages, Colors! Resizing of reminder window. Editing of Table and more. Several bugs fixed.

version 3.1 Improved translations. Now there is Printing!

version 3.2 Fixed Printing bug, the "No reminder window" bug and several others. improved look of reminder window.

version 3.3 Wikipedia lookup, fixed prefs crash window, fixed incorrect age in reminders and more.

version 3.4 Fixed several bugs

version 3.5 Fixed the dreaded blank-window bug!

version 3.6.1 Fixed the prefs window for non-US users! Added a colorful toolbar to the prefs window and a unified look to the main list window.

version 4.0 Added custom icon, and famous name, sets.

version 4.3 Added Chinese, and the Wikipedia famous names lookup and improved date format code.

version 4.4 Added astrological signs and fixed some problems with the famous names series.

version 4.5 fixed a bug preventing launch in leopard

version 4.6 fixed a bug preventing export ti iCal and an optimized reminder script for Leopard.

version 5.0 rebuilt Birthdaybook application for more efficient use of windows and memory. There is a new, more modern, list window. Fixed several small bugs.

version 5.1 Fixed a serious bug causing wrong age to appear in reminders.

version 5.2 Fixed a serious bug again causing wrong age to appear in reminders hopefully for the last time. Users can now switch between list and reminder windows on the fly. Sveral small fixes and a new French manual and Help Pages.

known bugs: Occasionally, choosing items in the File/Schedule Reminders menus creates a "System Events" error dialog (not harmful) but reselecting the item works fine. I think this bug has been fixed.....maybe not. See website support page in the "Help menu".

Legal Notice:

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.