At the SilverlightDevCampSF this past couple days, I discovered a couple things while hacking around with both Moonlight, and Silverlight.

The first of which was that I don't know nearly enough about Silverlight, XAML, and WPF in general (crap). The second of which, was that with WebKit on Mac OS X, any application that embeds WebViews inherits plugins that are installed on the system. Extending this idea further, WebKit can inherit plugins that are bundled with a Cocoa application (inside Application.app/Contents/PlugIns), woohoo! What this means, outside of a purely Silverlight-related context, is that you could theoretically bundle a WebKit-plugin with a WebKit-based application and just have that plugin purely application specific, or bundle up a WebKit application with different versions of Flash and Silverlight for testing purposes. Unfortunately, there are some issues with clicking through to the Silverlight canvas in an embedded WebKit view, you can still try it out inside an application, without having to install the Silverlight plugin and restart your instance of Safari.

That said, are you thinking what I'm thinking? Of course not, you're probably sane, but I'm not, so I'd like to introduce SilverSurfer 1.0, an embedded version of WebKit that loads in the Silverlight 1.0 plugin for Mac OS X. It doesn't install anything on your computer, so you don't have to restart Safari, or futz with plug-ins, this is especially useful if you just want to try Silverlight out and see what it's about without installing anything.

Running SilverSurfer



Visiting a Silverlight page in Safari



Visiting the same page in SilverSurfer



Complex Silverlight in SilverSurfer



I think it's a neat trick, the only downside is actually having to bundle up the entire Silverlight.plugin bundle with the application bundle to make sure you don't have to install it, but other than that I hope you can find it useful when trying out Silverlight, or just testing it in Safari!