Tim Sneath

Musings of a Client Platform Guy

July, 2007

  • Tim Sneath

    How to Embed Silverlight Content in Almost Any Web Page

    • 25 Comments

    Catherine Heller has written up a great post that describes a new feature in Silverlight Streaming. Having uploaded a Silverlight application to the Silverlight Streaming service, you can now embed it in any web page as an <iframe>.

    If you want to include a cool Silverlight gadget on your blog, but your blog engine doesn't support custom scripts or XAML files, this will work well. It's also perfect for a social networking site like Facebook, since you can create an application that hosts an <iframe>.

    Here's a little example that demonstrates this:

    All it took to embed this was one element:

    <iframe src="http://silverlight.services.live.com/invoke/32/SlLogo/iframe.html" 
    frameborder="0" width="258" height="100" scrolling="no" />

    Of course, you're welcome to steal this one-liner to add some Silverlight "bling" to your own site :-)

    In the next post, I'll walk through a step-by-step guide to uploading an Expression Blend project to Silverlight Streaming.

  • Tim Sneath

    Silverlight 1.0 Beta to RC: It's Time To Move...

    • 3 Comments

    Hopefully many of you have now upgraded to the Silverlight 1.0 RC (or 1.1 Alpha Refresh bits). Just as a reminder, the beta release is due to expire tomorrow (August 1st). If you have the beta release installed on your machine, you'll see a dialog box appear that reminds you that the release has expired. The workaround is of course to update to the RC bits.

    This shouldn't be a surprise (!), since near the start of the beta EULA, there is the following clause:

    2.    TIME-SENSITIVE SOFTWARE.  The software will stop running on August 1, 2007.  You may not be able to access data used with the software when it stops running.

    The 1.0 RC SDK includes details on breaking changes that will help you to port code forward; if you're using Silverlight Streaming to host your application, Tim Heuer has a great post that explains the changes you need to make.

    To answer the obvious question, Silverlight 1.0 RC expires on November 1st, 2007. By that stage, we'll have auto-upgraded the runtime to the final release - and unlike the beta -> RC migration, this will be seamless since there are no breaking changes between the RC and the final versions.

  • Tim Sneath

    What's New in WPF 3.5? Here's Fifteen Cool Features...

    • 36 Comments

    A lot of WPF developers know that Visual Studio 2008 will include much better baked-in support for WPF - the "Cider" team have delivered a WPF forms designer, high-quality XAML Intellisense built on top of a XAML language service rather than an XSD, a full set of project templates and integration between WinForms and WPF design-time views. But not so many people are aware of the enhancements we're making behind the scenes to the core WPF runtime, both in terms of polishing off a few rough edges and adding a small number of targeted features that will unblock a few key scenarios.

    I thought I'd steal liberally from a presentation the famous Kevin Moore (of WPF Bag'o'Tricks fame) delivered at an internal field conference this week, and give you a quick run-down of some of the new capabilities you'll find in this updated release. Make sure you download a copy of Visual Studio 2008 Beta 2 and check out both the design-time improvements and the enhanced platform features.

    Here's a non-exhaustive list of improvements:

    • Performance
      • Fixed animation glitching issues.
      • Layered windows are now hardware accelerated.
      • Many other fixes to improve cold start, data binding, etc.
    • Data Binding
      • Support for XLINQ binding.
      • Improved data validation on binding (ValidatesOnDataErrors and ValidatesOnExceptions binding properties).
      • Much better debugging (PresentationTraceSources.TraceLevel can be set on bindings or providers).
    • Graphics and Text
      • UIElement3D (enables interactive 2D content on 3D surfaces).
      • Improved support for IMEs (input method editors).
      • Indic script support.
      • TextBox now supports a limited undo history.
      • RichTextBox now fully supports inline elements (e.g. a Button).
    • XBAPs
      • Introduced support for the Firefox browser.
      • WCF now operates in partial-trust mode.
      • Can now read/write HTTP cookies.
    • App Model
      • System.AddIn provides support for isolated visual and non-visual add-ins, allowing for discovery, versioning, activation and lifecycle management.

    Most of the performance improvements and some of the feature improvements will also be included in a forthcoming service pack for .NET Framework 3.0 - I don't think we've talked externally about delivery mechanisms for this at this stage, however.

    For more information, your first point of reference should of course be the Visual Studio 2008 Beta 2 documentation. I'm going to see if I can film a Channel 9 video with Kevin over the next week, so we can demo some of these new features to you. Feel free to add a comment to this blog if there's something specific you'd like to ask for more information about, and we'll try to capture it.

  • Tim Sneath

    Silverlight 1.0 RC1 is Here!

    • 77 Comments

    As indicated in a previous post, we're homing in on the launch of Silverlight 1.0, and today marks another milestone with the launch of the first release candidate. Since the beta we released at MIX, we've fixed approximately 2000 bugs and work items and we're now feature complete with the final JavaScript-based API. This version of the runtime is vastly more stable than the beta release: our stress test runs show improvements of two or three orders of magnitude in many cases, and the product demonstrates the polish one might expect from a near-final release.

    Along with the 1.0 RC1 release, we've also refreshed the 1.1 bits. We've not exposed any significant changes in the .NET extensions, but the 1.1 "alpha refresh" includes the same core runtime as 1.0 RC1. A note on installation: if you have the beta release on your machine, there's no need to uninstall - simply run the RC1 installer and it will overwrite the existing binaries on your machine.

    Here's the runtime itself:

    Some tools for building Silverlight applications:

    Inevitably (given that this release isn't 100% compatible with the previous one, particularly as regards the object activation model), a lot of the samples out there today are broken. We've worked with a few folk that we know to help them prepare for this release, but if you have a Silverlight sample or site out there today based on the existing beta release, you'll want to pick up the new silverlight.js and work through the breaking changes to move your site up to the new release. We won't break you again, we promise!

  • Tim Sneath

    Announcing Family.Show 2.0

    • 14 Comments

    Three months ago, we launched Family.Show, our first end-to-end reference sample for WPF. Family.Show is a genealogy program that demonstrates the usage of WPF for a complex, realistic scenario. If you're a fledgling WPF developer who wants to pore over some code that demonstrates best practices for application construction, there's nothing better out there today.

    In the intervening months, we've had many thousands of downloads of both the binary and the source code. We've had several offers to localize the application into languages ranging from Spanish to Russian, many people have sent in feature requests, and we've had some great feedback about the application itself. Here's a few examples:

    • "This is incredible application. So nice and powerful. That is exactly what I am searching for in applications: Simplicity, Power and Beauty... You cannot imagine how many people was impressed by it, including myself."
    • "This is just a gorgeous program.  The graphics are extremely scalable, the visuals and animations are smooth an appealing, and the overall program design is just so well done."
    • "I really like the Family.Show program. I find it amazing what you've done in such a small program. I currently use Family Tree Maker, but I'm considering switching over. Is this something that going to continue as a growing program, or was this just a one-shot sample of what could be done? I'm hoping for the former, of course."

    fs2_gray2smfs2_data2sm

    In answer to the last piece of feedback, we have indeed continued to build this out as a reference sample. There were a number of things we wanted to accomplish with the first release, but as with any software project, we ran out of time. So I'm delighted to announce the release of Family.Show 2.0 - an expanded and updated release that shows off some additional features of WPF. Here's a quick sampling of what's new:

    • We've added theme support; you can now switch the application's skin from the default piano black style to a new gray "moonlight" style. Thanks to the use of WPF resources, transitioning from one skin to another is relatively simple to accomplish;
    • If you're doing a lot of data entry, you can switch to a data grid view that enables editing of cells, sorting and column resizing. This view is based on the ListView control that ships with WPF, and demonstrates how this control can be used for data entry as well as read-only views. The control also offers a filtered view that's similar to the way you can search for emails in Outlook 2007.
    • Once you've entered your family tree, it's interesting to get some other visualizations of the data. On the right hand side of the data screen, you'll see a tag cloud-style view that shows the distribution of surnames across the family, along with age statistics and birthday information. You can use these visualizations as ways to pivot on the data - for example, I can click on one of the bar chart columns that shows age distribution to create a filter for the data grid.
    • When you're editing someone's story, there's now much richer data formatting support - the toolbar now allows you to modify fonts and paragraph formatting using the rich text support in WPF.
    • Lastly, many bugs have been fixed based on the excellent feedback we've received.

    In addition to the feature changes, we've now put the code up on CodePlex. Here you'll find a discussion forum and issue tracker so that you can log bugs, enter feature requests or even vote on existing features. You can also download a lengthy whitepaper written by the development team which describes all the hard decisions they had to make and provides a valuable tourist's guide to the source code.

    So, try out the new version, and give us your feedback. What do we need to add or change to help you understand WPF? Would you like to see a Silverlight version? Use the issue tracker on CodePlex to let us know.

    Once again, my thanks go to the Vertigo team who led the development of this reference sample for us: check out their own Family.Show site, as well as the blogs of two of their developers: Alan and Ralph.

Page 1 of 2 (9 items) 12