Wednesday, November 25, 2009

Bubble Update: German & Italian, QVGA

Version 1.8 of Bubble is now available for free on the Android Market.

This update includes support for QVGA displays and adds German and Italian translations.

Special thanks to Ilja Schumacher and Diego Pierotto for volunteering to translate Bubble!

Saturday, July 4, 2009 Released is an unofficial portal to the White House.

It brings together content from the White House blog and its photo galleries, the official YouTube channel, and the official Flickr photostream, as well as news articles posted to

View and Share:
The app includes built-in viewers for all of its content, but you can also open the full web page of any item in the default browser. It also includes an easy way to share the link to any item with others via email, Twitter, etc.

Notifications: can notify you whenever new content is posted on a schedule that you choose.


Photo galleries

Viewing a photo gallery


Watching a video

Notification settings

Availability: is available for free on the Android Market now.

Category: Applications: News & Weather
Price: Free

Scan this with the Barcode Scanner app on your Android phone and it will take you directly to on the Market.

Sunday, June 14, 2009

Bubble Update: Show Pitch, Tap to Lock

Version 1.7 of Bubble is now available for free on the Android Market.

This update includes the following changes:
  • NEW: option to show pitch as inches of rise per foot of run.
  • NEW: option to lock the angle when you tap the screen.
  • Faster update.
  • Less jitter, especially when beeping or buzzing.

Sunday, May 10, 2009

Another Milestone

Bubble now passed a quarter of a million downloads!

Sunday, March 29, 2009

Milestone for Bubble


Bubble just passed 200,000 downloads on the Android Market!

Saturday, March 14, 2009

Preschooler Update: Difficulty Levels

Version 1.5 of Preschooler is now available on the Android Market.

New in this version:
  • Five Difficulty Levels: You can now increase the difficulty level as your child's letter recognition and hand-eye coordination improve. Show 2, 4, 9, 16, or 25 letters on screen all at once.
  • Stronger Button Lock: If your child is able to double-click the buttons and get by the basic button lock, you can now disable them entirely and require the 1, 0, and Space keys on the keyboard to be pressed simultaneously in order to exit the game.
  • Repeated Prompts: Turn on this option and the game will keep saying the right answer until it is chosen.
  • Bug Fixes: Voice should no longer stop working after backing out of Settings, the "Home" button lock should now work more reliably.

Tuesday, March 10, 2009

Bubble Updated

A new version of Bubble is now available for free on the Android Market.

This update (version 1.6.3) fixes a number of problems with the calibration feature. Any previous calibrations you have made will be reset by this update, so you will have to calibrate it again after installing.

Sunday, March 1, 2009

Preschooler Update: Button Lock

Version 1.2 of Preschooler is now available on the Android Market.

New in version 1.2:
  • Button Lock: When this feature is enabled the phone's front buttons are disabled while the game is running, responding only to double-clicks. Double-click on the Back button to leave the game.
  • Game Save: The game now automatically resumes where you left off last time.
  • Keyboard Fix: The game is now much better at handling it when the keyboard is opened or closed.

Wednesday, February 25, 2009

Preschooler Updated

A minor update to Preschooler is now available on the Android Market.

Changes in Preschooler v1.0.2:
  • Now prevents the same side (left vs. right) from being chosen more than 3 times in a row.
  • Now less likely to change orientation unexpectedly, especially when the phone is held flat.
  • Improved touch feedback.
  • Release notes now available in the app's Help.

Thursday, February 19, 2009

Preschooler Released

Screenshot: Preschooler splash screen
Preschooler is a talking, educational flashcard game for Android that helps you teach your child the letters of the alphabet. It features text-to-speech and includes 26 photographs (mainly of animals) to represent each letter of the alphabet.


Two randomly-selected letters appear on the screen and the name of one of them is spoken out loud. Touch the correct letter and you will see a picture of an animal or object whose name begins with that letter. Touch the wrong one and you will hear that letter's name spoken.

Play the game together with your child, saying the letters and tapping the correct answers for them at first and encouraging them to do it themselves as they learn.

Click the trackball to make it say the current letter again. Type on the keyboard to jump directly to a letter and see its photo.

Designed to be toddler-friendly, the game works with the phone held in any direction. Hold it sideways — even upside down — and it will always spin around to face the right way.

Preschooler also uses visual and tactile feedback to help your child understand when and where they've touched the screen.


Preschooler uses Android's Text-to-Speech (TTS) library to provide all of its speech. This library is available for free from the Android Marketplace. If you don't already have it installed, Preschooler will help you download it the first time you start the game.


Preschooler has lots of configurable settings:
  • Five Difficulty Levels (NEW): Choose between 2, 4, 9, 16, or 25 letters visible at a time.
  • Button Lock (NEW): Disables the front buttons (Call, Home, Back, and Menu).
  • Voice selection: male or female voice
  • Letter mode: uppercase or lowercase
  • Background color: white or black
  • Volume override: allows you turn up the volume in the game without permanently changing your phone's volume.
  • Vibrate on Touch: option to give tactile feedback when the screen is touched.
  • Speak the Answer: option to speak the name of the object in the picture.
  • Play a Chime: option to play a sound as a reward when the right answer is chosen.


Screenshot: letters
Choosing a letter

Screenshot: touch feedback
Visual touchscreen feedback

Screenshot: photo of jellyfish
After picking the right answer

Screenshot: settings panel

Screenshot: photo credits
Photo credits


Preschooler is available for purchase on the Android Market now.

Name: Preschooler
Category: Games: Brain & Puzzle
Price: 99 cents

Scan this with the Barcode Scanner app on your Android phone and it will take you directly to Preschooler on the Market.

Wednesday, February 18, 2009


Bubble is a free virtual bubble level for the Android platform.

Hold any of your phone's four sides against a vertical or horizontal object to test it for plumb/level, or lay it down on a flat surface to see a 360° level. Bubble automatically switches its orientation based on how you hold your phone. It measures angles up to 60°, accurate to within about 1 degree.

Use it to hang a poster, level a table, straighten a picture, check a wall for plumb, setup a tripod. Wherever you might need it, you can now have an accurate level with you.

Bubble can also do things that a traditional level can't do. If you need to hold it in an awkward position where you can't see the screen, turn on the beeper or the vibrate mode and you'll know when it's level. Or turn on voice mode and it will speak the angle to you.

  • Show Angle: Displays the numeric value of the angle. If the phone is held flat then two angles are shown, one for the horizontal value and one for the vertical.
  • Enable Voice: Speaks the angle out loud using the Text-to-Speech library, also available for free on the Android Market. (Not available when in 360° level mode.)
  • Enable Beep/Buzzer/Light: All of these can be used to indicate when the phone is exactly level.
  • Calibration: Independent calibration for each side of the phone.


Every phone is slightly different. To compensate for this, Bubble can calibrate each side of the phone independently. Hold your phone up against a real bubble level, tip them together so they are both level, and choose Menu> Calibrate. Hold still for a moment and that side of the phone will become calibrated and read zero degrees.

Calibration can be reset to its defaults in the Settings menu.

Accelerometer Problems

Bubble uses your phone's accelerometer to determine the current angle. Dropping your phone can cause its accelerometer to malfunction, suddenly becoming extremely inaccurate or even stuck in one position. (I had this happen to me after I dropped my phone on pavement.) Luckily this does not necessarily mean your accelerometer is permanently damaged. A factory reset was able to correct this problem for me and for a number of other people who contacted me with similar problems.

If your angle is off by a large amount (mine was off by about 30 degrees) or stuck in one position with little or no change in value no matter how you hold it, your accelerometer is probably malfunctioning. Try testing other apps that use your phone's orientation, like Amazed, Wikitude, or Google Street View with compass mode enabled. If you find similar problems with other apps, you should definitely try performing a factory reset on your phone to correct the problem. T-Mobile support will walk you through this process.

Calibration API:

If you are authoring an Android app that needs to know the device's exact orientation, you can use the calibration values mesaured by Bubble rather than having to build a similar calibration feature yourself.

Bubble uses a content provider to share its calibration values with other apps. It provides a single result set containing six values: pitch offsets for the left and right edges, roll offsets for the top and bottom edges, and both a roll and a pitch offset for the back of the device.

Sample Code:

Uri CONTENT_URI = Uri.parse(
"content://bz.ktk.bubble.orientationcalibrationprovider" );

Cursor cursor = managedQuery( CONTENT_URI, null, null, null, null );

if ( cursor == null )


// Use these when the device is lying flat:
int basePitch = cursor.getColumnIndex( "base_pitch_delta" );
int baseRoll = cursor.getColumnIndex( "base_roll_delta" );

// Use these when the device is on an edge:
int left = cursor.getColumnIndex( "left_pitch_delta" );
int right = cursor.getColumnIndex( "right_pitch_delta" );
int top = cursor.getColumnIndex( "top_roll_delta" );
int bottom = cursor.getColumnIndex( "bottom_roll_delta" );

// Finally, apply these offsets to the reported angles:
if ( on_back ) {
pitch += cursor.getFloat( basePitch );
roll += cursor.getFloat( baseRoll );
} else if ( on_left_edge ) {
pitch += cursor.getFloat( left );
} else if ( on_right_edge ) {
pitch += cursor.getFloat( right );
} else if ( on_bottom_edge ) {
roll += cursor.getFloat( bottom );
} else if ( on_top_edge ) {
roll += cursor.getFloat( top );


Bubble is available for free on the Android Market.

Name: Bubble
Category: Applications: Tools
Price: Free

Scan this with the Barcode Scanner app on your Android phone and it will take you directly to Bubble on the Market.