AlphaBaby
Version 1.4, March, 2004
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). It was built and tested on Mac
OS X 10.2.6 and Mac OS X 10.3.3. 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.
Preferences
If you want to customize AlphaBaby, the following key sequence brings up the
Preferences panel:
control-option-command-P
⌃⌥⌘P
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 "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
- The colors popup list gives you 5 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
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.
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 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. Using the mouse still draws shapes over the letters.
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
-
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.
-
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
- 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 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). Using this option allows you to have your own
voice say something when images are displayed.
- 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. Nested subfolders are also
searched. To record your own sounds, you need a microphone and software to
record and save your sounds as .aiff 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. Make sure you
save the new sound files with the full 4-letter ".aiff" extension. Many Macs
have a built-in microphone, or you can attach an external one using USB or the
audio line in.
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.
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. 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. 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".
The screen saver is an initial release, and many things about its behavior
cannot currently be configured.
This will be addressed in a future release.
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.
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.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, 2004 Laura Dickey