# 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

Sunday, August 03, 2008 10:39:57 AM (GMT Standard Time, UTC+00:00)
Hi Grant, cool job on the Silverlight port.

Do you intend to post the code on Codeplex (or a similar project repository) the way Scott did with his code?

Thanks!
Ramiro Berrelleza
Sunday, August 03, 2008 11:35:18 AM (GMT Standard Time, UTC+00:00)
Hi Ramiro, thanks for the feedback.

In terms of the code I will definitely look at sharing it, probably up on codeplex. I am going to talk further with Scott and see we can setup a shared WPF/Silverlight codebase if possible.

Will have to see, the XAML has a bunch of subtle differences and the code behind would need to be refactored a bit to handle the dual environment. But it would be great to keep it as similar as possible so that new features could benefit both versions.
Grant Archibald
Comments are closed.