# Saturday, August 02, 2008

BabySmash on Silverlight

After listening to Scott Hanselman's podcast on BabySmash I wanted to have a go at creating a proof on concept Silverlight "BabySmash Web Edition". I have embedded the current version at the bottom of the page if you want to skip the technical discussion.

The web edition has the following differences from the original BabySmash

  • Uses Silverlight 2.0 Beta 2 instead Windows Presentation Foundation application for Windows XP/Vista.
    • Silverlight 2.0 download size much smaller (Around 4 MB)
    • No need to install the .Net Framework 3.5 (Around 33MB).
  • Smaller download size for the application (Currently around 450KB).
  • Hosted inside the web browser.
  • Can be run on all platforms supported by Silverlight 2.0 Beta 2 (i.e. Window XP/Vista and Intel Mac's).

What are the limitations?

  • Capturing system keys. Obviously limited to keys that the plugin  can capture.
    • For my son I use an external usb numeric keyboard similar to one made by Targus.
  • Mouse click limited to left click only. Right click brings up Silverlight Configuration

What is working?

  • Keyboard and basic mouse integration.
  • Ability to play audio.
  • Basic options dialog UI.

What is missing?

  • Animations (Character blinks & fades).
  • Click animations.
  • ClickOnce deployment/updates - Not needed for web version.
  • Letters.
  • Loading and Saving options.
  • Text to speech.

Work yet to do:

  • Suggest refactoring's to allow common WPF/Silverlight codebase.
  • Install experience for users that do not have Silverlight 2.0 installed.
  • Complete the options dialog.
  • Open the options dialog by clicking in each of the corners of the control.
  • Animations (Character Blinks & fades).
  • Add support to display letters.
  • Add full screen mode.
  • Mouse scroll wheel support.
  • Test with experimental 2.0 Moonlight plugin.
  • Include sound files for letters and numbers.
  • Separate out sound files into another downloadable component.

So here is the current version. Any suggestions/feedback appreciated.

By using the application please note the BabySmash Licensing Terms