AlphaBaby

Version 1.8, November, 2009


What is it?


My kids love to play with the computer. Unfortunately, they also have the habit of renaming my hard drive to "axlfkaj". So, I wrote AlphaBaby so they could safely use the Mac without inflicting too much damage! AlphaBaby lets even infants and toddlers have fun playing with the computer. Every time a key is pressed or the mouse is clicked, a letter or shape is drawn. Sounds can be played every time something is drawn. Your own sounds and pictures can also be used. AlphaBaby helps kids to learn letters, plus provides a safe environment for kids to have fun "typing" on the keyboard!


Requirements and Installation


AlphaBaby requires Mac OS X (10.1 or higher). The newer versions, from 1.6 and higher, are supported on Leopard only.  If you aren't using Leopard, don't upgrade.  Version 1.51 was built and tested on Mac OS X 10.4.5 (Tiger) only, and is a Universal Binary. It should work on Tiger and Mac OS X 10.3 and later.  Newer versions are no longer guaranteed to work on 10.2 or earlier.  Drag the AlphaBaby application to your Applications folder (for example) to install. Just delete the application to uninstall. A preferences file is created in ~/Library/Preferences/com.alphababy.plist. You can delete this file to reset the preferences, or when uninstalling. To install the screensaver version of AlphaBaby, first make sure the folder ~/Library/Screen Savers exists. You may need to create it first. Then, drag the AlphaBabySaver.saver file to your ~/Library/Screen Savers directory. Then, use the Screen Saver (or Screen Effects) module in System Preferences to select AlphaBabySaver as your screen saver.


How to play


The most important thing to know about AlphaBaby is how to exit from it. The standard command-Q is disabled to prevent accidental quitting. Instead, you must use the following key combination:


control-option-command-Q

⌃⌥⌘Q


If command-Q is typed, a message appears on the screen displaying key combinations for quitting or changing preferences. An alternate way to quit out of AlphaBaby is to type the word "quit" somewhat quickly (2 seconds from the time the q is typed until the t is typed). If you are running the screen saver version of AlphaBaby, the only way to exit is to type "quit". If you have turned on the option to require a password to unlock the screen saver, the password dialog will only come up once you have first "quit" out of AlphaBaby. If you do not require a password, typing "quit" will unlock the screen immediately.


When a letter or number key is pressed, that letter or number is drawn on the screen in a random color and position. If any other key is pressed, a random shape is drawn instead. If the mouse is clicked, a random shape is drawn where the click occurred. If the mouse is click-dragged, a line of stars will be drawn. Nothing is drawn if the mouse is just moved. Each time a letter or shape is drawn, a random sound is played. You can also have AlphaBaby speak the names of both letters and shapes as they are drawn.


You can customize AlphaBaby by specifying your own folders of images and sounds. Images are randomly displayed when non-letter keys are pressed, or the mouse is clicked. Your own folder of sounds can be used instead of the default set of system sounds. My kids enjoy hearing their own voices when hitting the keys, so you may want to record some of your own sounds. Setting the images folder to one containing digital pictures of the kids is also fun. The speech capabilities of the Mac can also be used to speak the names of letters, or the names of images displayed. You can also match your own sounds to your own pictures, to provide a customized environment. One set of options that my beta testers (i.e. kids) particularly liked was loading a folder of digital pictures of themselves, turning on the Speak Images option (each image was named to describe the picture), and turning on the "Only Images" and "Map Images to Keys" options. They enjoyed hearing the computer "talk" and being able to display a certain picture by hitting the same key over again. See below for more information on these options.


AlphaBaby will, by default, clear the screen after 30 items are drawn. You can change this value in the Preferences panel. However, if you would like to clear the screen at any time, the following key combination can be used:


shift-command-C

⇧⌘C


AlphaBaby tries to trap most key combinations, so that it is difficult for kids to switch out of it and start typing into other programs. However, the volume keys still work, the keyboard eject button (if you have one) works, and the display brightness buttons work.


Warning to Laptop Users!


Toddlers repeatedly hitting the keyboard of a laptop can be bad for the health of your computer!  It is Vergy Good Idea to use an external keyboard when running AlphaBaby on a laptop.


Preferences


If you want to customize AlphaBaby, the following key sequence brings up the Preferences panel:


control-option-command-P

⌃⌥⌘P


Our, you can type the string "pref".  If you are running the screen saver, this key sequence is disabled. Instead, set the AlphaBabySaver options using the "Options" button in the System Preferences Screen Saver window. This brings up the same Preferences window described below. Pressing "Cancel" in this dialog box ignores any changes that were made. Pressing "Reset" sets all of the options back to their original, "factory" settings.  Pressing "Done" saves the changes, for this and future sessions of AlphaBaby. Clicking outside of the Preferences panel also saves the changes.


The following options can be set:


General Tab


PreferencesGeneral.png


The colors popup list gives you 7 different choices of color schemes to be used when drawing letters and shapes. They are:

All - completely random color

Bright - random "bright" colors

Pastel - random light, pastel colors

Infant - red, black, and white

Primary - red, blue, and yellow

Rainbow - red, orange, yellow, green, blue, indigo, violet

Fixed Color... - Choose a fixed color from a color picker

The color of the background can be changed.  By default, it is white for the application, and black for the screen saver.  The new color takes effect the next time the screen is cleared.

Clear the screen after a certain number of items have been drawn. If you never want the items cleared, select the "Never clear screen" radio button. The default value clears the screen after 30 items.

The Font field displays the current font used to display characters. The default font is Arial-Black. The default size depends on the resolution of the screen. It is larger for higher resolution screens. The "Select" button allows you to use a standard font picker to change the font used. In general, a thick, large font is the most readable. The "Reset" button sets the font back to the default typeface and size.

The mode popup list gives you different ways to display letters on the main AlphaBaby screen. They are:

Default - the default mode, and the way AlphaBaby has primarily worked. Letters, random shapes, and images are put all over the screen, using either the keyboard or mouse.

Single Letter - only a single item is shown at a time, centered in the screen. Shapes, letters, and images are all shown.

Alphabet - Each letter of the alphabet, followed by the numbers 0-9 are displayed in the center of the screen. It does not matter what key is pressed, each time an item is displayed, it follows the alphabet in order.

Typing - Each letter typed is displayed in order, starting with the upper left corner of the screen, and filling each line until the screen is filled. The clear screen after items value is not used, instead the screen is cleared when it has been filled with characters. Hitting return will advance to a new line. Letters and numbers are drawn. All other characters are turned into a space.  No other shapes or images are displayed when in typing mode (this is a new behavior in 1.7 and higher)

Letters only - Only the letter keys will be shown on the screen

Shapes only - Only shapes will be shown on the screen

If "Show punctuation" is selected, then non-alphanumeric characters will be displayed when typed.  If not selected, typing non-alphanumeric keys will cause shapes or images to be displayed.

If "Only capital letters" is selected, then any letter keys typed will be converted to uppercase, regardless of the state of the caps lock key.

The "⌃⌥⌘Q will quit" checkbox enables the ⌃⌥⌘Q key combination. If disabled, that combination will not quit out of AlphaBaby. Whether or not that item is selected, typing "quit" will always quit out of AlphaBaby.


Images Tab


PreferencesImages.png


The Images fields allow you specify a folder which contains images to be displayed when keys are typed or the mouse is clicked. The "Clear" button clears the image folder, and no images will be displayed. By default, no images are displayed - you must specify a folder which contains images first. AlphaBaby will load any images files that end in: .png, .gif, .jpg, or .tiff. Nested subfolders are also searched for images.

iPhoto albums can also be used as a source for displaying pictures.  All albums currently in iPhoto are displayed in the popup menu, and you can select which album you would like to display.  Selecting an album causes the Images Folder field to be deactivated - you can only have one source of pictures active at a time.  

The Pick random album at startup has no immediate effect when clicked, but instead will pick a random album from your list of iPhoto albums when AlphaBaby is run the next time.  This allows you to have a different set of images used each time you run AlphaBaby.

The Shapes/Images slider allows you to control how often shapes vs. images are displayed when keys are pressed or the mouse is clicked. The default value is halfway in between - there is an equal chance of an image being displayed or shape being drawn. If no images are loaded, then only shapes are drawn, no matter what the slider is set to. If the slider is completely to the left, then only shapes are drawn. If the slider is completely to the right, only images are drawn.

The Only Images checkbox allows to you display only images for any key presses or mouse clicks (including alphanumeric keys). It only makes sense to check if you have custom images loaded.

The Map images to keys checkbox can only be specified if "Only Images" is selected. This option creates a fixed mapping between images and keys. This means that each time a key is pressed, the same image is always displayed (instead of a random one). Images are assigned to keys in the following way. The list of images being loaded is first sorted alphabetically by image name (not including the path to the image). Then, the first 26 images are assigned to the keys A to Z. The next 10 images are assigned to 0 through 9. The rest of the images are then assigned to all other keys in no particular way. If there are only a few images loaded, the same ones are used over again for different keys. However, each key always has its own, fixed image. One way to use this feature is to have 26 images where each image starts with a different letter in the alphabet (A for apple, B for Ball, etc.) Then, when the images are loaded and the "Map Images to Keys" option is used, the letter A key would always show a picture of an apple, etc.


Sound Tab


PreferencesSound.png


Turn on sounds. If sounds are on, a sound is played each time a key is typed, or the mouse is clicked. The default sounds used are the system sounds. If a user sound folder is specified, those sounds are used instead.

Speak letters and speak shapes. If Speak Letters is selected, the name of the letter typed will be spoken by the current system voice. A sound will not be played. If Speak Shapes is selected, the name of the shape drawn will be spoken, instead of playing a sound. You can set the current system voice using the Speech system preference panel. The "Default Voice" tab lets you choose from a list of available voices.

Speak colors will add the name of the color to the name of the shape if Speak shapes is enabled.  The color names will only be spoken if the "Colors" popup in the General tab is set to Infant, Primary, or Rainbow.

Speak images. If Speak Images is selected, the current system voice is used to speak the name of the image when it is displayed. This works best if you have set your image names to something meaningful.

Match sounds to images. If this option is selected, the names of the loaded sounds are matched to the names of any loaded images. When an image is displayed, its matching sound is played. For example, if you have an image named "Beach.jpg" loaded, and also a sound named "Beach.aiff" loaded, the Beach sound is played when the Beach picture is displayed. The name used is the filename of the sound, without the folders containing the sound, and without the sound extension (.aiff, .aif, or .wave). Using this option allows you to have your own voice say something when images are displayed.

Match sounds to letters allows you to have sound files played when letters are played, instead of having the computer voice speak them.  You must specify a directory in the Sounds Folder field which contains sound files with the names "a.wav", "b.wav" (or "a.aiff" or "a.aif") through z.  When a key is pressed, the corresponding letter sound will be played instead.  This allows your voice, or your child's voice, to be used to speak the letters instead.

The Sounds fields allow you to specify a folder which contains sounds to be played on each key press or mouse click. If a custom sound folder is specified, the system sounds will not be played. Even if a custom sound folder is specified, sounds are only played if the "Enable sounds" checkbox is on. AlphaBaby searches for files ending in .aiff, .aif, or .wav. Nested subfolders are also searched. To record your own sounds, you need a microphone and software to record and save your sounds as .aiff or .wav files. Search Version Tracker (http://www.versiontracker.com/) using "sound record" for some possibilities, both freeware and shareware. "Audio Recorder" is a good freeware choice - you can easily create multiple .aiff files using the microphone. Files can be saved with the ".aif" or ".aiff" extension. Many Macs have a built-in microphone, or you can attach an external one using USB or the audio line in.


Drawing Tab


PreferencesDrawing.png


This tab controls what is drawn when the mouse is moved around on the screen.  By default, you must hold down the mouse button to draw lines and shapes.  The default is for blue stars to be drawn whenever the mouse button is held down and dragged.  Other options include:


• What is actually drawn when the mouse is moved can be stars, lines, squares, circles, or pictures of ducks or trucks.

• When lines, squares, or circles are selected, you can specify what color is used to draw them.  It can be a solid color, specified by the color picker.  It can be a random color, chosen from the current color set that is specified in the General tab.  When Random is selected, each time the mouse is clicked, a new color is chosen.  Or, it can be a rainbow color, which cycles through the rainbow colors as it draws.  

• When lines, squares, or circles are being drawn, the thickness of the shapes can be controlled with the slider bar.  

• By default, you must hold the mouse button down to draw.  For easier drawing, you can allow drawing all the the when the mouse is moved, without holding down the mouse button. 


Pressing "Cancel" in this dialog box ignores any changes that were made. Pressing "Done" saves the changes, for this and future sessions of AlphaBaby. Clicking outside of the Preferences panel also saves the changes.  If you click "Reset", all of the preferences values are reset to their initial, "factory" state.


Using the Screen Saver


A screen saver version of AlphaBaby is included in this release. It functions almost identically to the application version. To install the screen saver, first make sure you have a folder named "Screen Savers" in your home Library directory (i.e. ~/Library/Screen Savers). Create this folder if it does not exist. Next, copy the AlphaBabySaver.saver file from the disk image to the Screen Savers folder. Alternately, you can double-click the AlphaBaby screensaver icon and the Finder will install it for you.  Launch System Preferences, and select the Screen Savers (or Screen Effects) panel. AlphaBabySaver can be chosen from the list of displayed screen savers. Use the "Options" button to bring up the Preferences panel for AlphaBaby. Preferences for the screen saver can only be set through the System Preferences screen, not while the screen saver is actually running.


When AlphaBabySaver first starts up, it will pause with no activity for 30 seconds. The background color is set to black instead of white. After 30 seconds, a character or shape will be drawn every second. You can control how often something is drawn in the General Preferences pane.  Even if sound is enabled in the AlphaBaby options, no sound will be displayed for automatically displayed characters. If a user presses a key or clicks the mouse, the automatic display will stop, and user input will be used. Once there is no user activity for 30 seconds, the automatic display resumes. Type "quit" to exit from the screen saver. If a password is required to unlock the screen saver, the password screen will come up once you type "quit".


Source and Donations


As of the 1.4 release, the source code for AlphaBaby is being released under the GNU General Public License. Any questions, comments, bugfixes, or enhancements to the code can be sent to alphababy.mac@gmail.com . The source code can be downloaded from the main AlphaBaby web site. It is an XCode project provided as a compressed tar file. AlphaBaby is written in Objective-C, using the Mac OS X Cocoa frameworks.  As of version 1.6, the source has been converted to build in XCode 3.0.


I've really enjoyed the feedback I've received from users, and reading stories of how toddlers are using the program. Some users have even been nice enough to ask if there was a way to support AlphaBaby. I have made donations to AlphaBaby possible through a store on Kagi. A link to Kagi is also on the AlphaBaby web site. Although AlphaBaby will continue to be free, you can support ongoing development with a donation through Kagi. The Kagi web site is set up to accept multiples of $5 or $10 donations. Any donations are certainly appreciated!


Contact and Feedback


New ideas are always welcome! Please send feedback, feature requests, and bug reports to:


alphababy.mac@gmail.com


I'm probably starting the approach the limit of the number of features that can be added to a simple hit-the-keyboard application. If you'd like to see any additional features for AlphaBaby, or have other ideas for programs for the infant-to-4 age group, let me know!


Check for new versions at:


http://alphababy.sourceforge.net


AlphaBaby is made freely available for use and distribution. Copyrights are retained by the author.


History


Version 1.8, November, 2009 - Added trapezoid shape.  Changed name of diamond to rhombus.  Fixed pronunciation of the letter "y" on Leopard.  Fixed pronunciation of "square".  Now support loading CAF audio files.


Version 1.71, September, 2009 - Fixed screensaver for Snow Leopard compatibility.  Small bug fixes, mostly related to font handling.


Version 1.7, June, 2008 - Fix fullscreen code to block out Expose and Spaces activation.  Add options to change background color of screen and to allow letters to be drawn in a single color.  Load ".aif" files.  Add modes to draw just letters and just shapes.


Version 1.61, March, 2008 - Add option to specify how quickly items are drawn in screen saver mode.  Added fix for loading iPhoto albums.


Version 1.6, March, 2008 - Only supported on Leopard.  Fixes for funny pronunciation, overall Leopard support, better image memory management, option to type punctuation.


Version 1.51, July, 2006 - Built as a Universal Binary.  No other changes.


Version 1.5, July, 2005 - Tiger compatibility.  Added speak colors and match sounds to letters options.  Added new options for drawing with the mouse.  Added button to reset preferences.  Allow images to be loaded from iPhoto albums.


Version 1.4, March, 2004 - Added new shapes (triangle, moon, star, hexagon, pentagon, octagon). Made ovals and rectangles distinct from circles and squares. Screensaver is now included. New typing mode. Source code available.


Version 1.3, January, 2004 - Added new way to quit, different modes of operation, and fixed sound-related crash on Panther.


Version 1.2, August, 2003 - Added option to speak images, match sounds to images, display only images, and map images to keys. Can change ratio of shapes to images displayed. New preferences panel design. Added diamond and heart shapes.


Version 1.1, June 29, 2003 - Multiple monitors support. Command-tab now trapped. Added option to speak letters and shapes. Added option to manually clear the screen.


Version 1.0, June 2003 - The first public release of AlphaBaby


© 2003-2009 Laura Dickey