Internet Explorer 8 includes Silverlight

Silverlight Girl announced that Internet Explorer 8 now includes Silverlight.

I checked my automatic Microsoft updates today and one of them was Internet Explorer 8. This update is good news because IE 8 includes Silverlight. It means a lot more people will be able to experience SL applications. Very good move from Microsoft.

from here

DeepZoomPix: Experience Your Photos Like Never Before

1 welcome 496c421c dd14 40ab 80c1 c7a4aea294e1 DeepZoomPix: Experience Your Photos Like Never Before

DeepZoomPix is an exciting technology demo to show what happens when design and some cool technology is applied to an increasingly common scenario: viewing large collections of photos online.

We’ve all experienced it: someone sends you a link to their online photo gallery. You see a bunch of photos on the screen. They’re low resolution so that they load quickly. If you view them as a slideshow they take forever to load because the server has to retrieve a higher resolution version. Every time you want to look at another picture, you have to go back to a thumbnail view and click around with the mouse and wait for the page to reload.

DeepZoomPix is an attempt to turn this problem on its head by using Silverlight’s Deep Zoom technology and the Azure Services Platform: you upload your pictures or import them from Facebook, Flickr or an RSS feed and DeepZoomPix turns them into beautiful, interactive and tactile user experiences. You navigate the photo albums fluidly with your mouse, zooming in and out at will. Pages never reload and there are links to click. The experience feels seamless. You can send your albums by email or embed them into a web page or blog to share the experience with your friends.

more here

Animated Visual State Transitions with the Transitioning Content Control

The Silverlight Toolkit is innovative in many ways, not least of which is that controls are released in one of four quality bands:

  • Mature: ready for release
  • Stable: suitable for most scenarios
  • Preview: suitable for most basic usage scenarios, may have moderate number of breaking changes as the control is developed.
  • Experimental: intended for evaluation purposes

The control I’ll be considering today was developed (and described here) by Ruurd Boeke and is currently in the Experimental band. You can expect that the API will change quite a bit, but that said, it is an enormously useful control right now; and thus I’ve submitted a video and this write-up.

What’s It For?

The goal of the Transitioning Content control is to make it easy to add animation when you are changing content within a control as demonstrated here. [You’ll need to click on DomainUpDown on the left (and surprisingly, not on TransitioningContent!) and Animations on top. The following cropped image illustrates where to click, but provides only a shadow of the impact

DemoTransition thumb 163F6276 Animated Visual State Transitions with the Transitioning Content Control

more here

Silverlight 3’s New Child Windows

If you’ve worked with Silverlight 3, you may have noticed that Visual Studio’s Add New Item dialog includes an option for adding a “Silverlight Child Window” to your Silverlight project:

The new child window feature makes it easy to add modal dialogs to Silverlight applications. A child window derives from the new ChildWindow class, and its content is defined in XAML (of course!). So you can now embellish an application with modal popups containing rich content.

When you display the dialog, here’s what you get:

Child Window

more here

Introducing Html Utilities for Silverlight

I have just released an early version of Html Utilties for Silverlight on CodePlex.  This article will explain the whats and hows of this library.

Who is this library for?

The primary target for this library is someone who:

  1. Develops software in Silverlight
  2. Uses the Html DOM libraries in Silverlight

What problem does this library solve?

In the first version of this library, it is all about testability.  Lets say I have a (very simple) method I want to test.  The code looks like this:

  1. public class HtmlGenerator
  2. {
  3. public static HtmlElement CreateImage(string url)
  4. {
  5. var img = HtmlPage.Document.CreateElement(“img”);
  6. img.SetAttribute(“src”, url);
  7. return img;
  8. }
  9. }

Trying to write a test for this becomes very difficult.  There are two problems here:

  1. HtmlPage is static, and testing CreateImage with this static is not a unit test.  It relies on the browser.
  2. Unless your tests are executing in the browser, there is no browser to fall back on.  HtmlPage.Document fails with an exception that the HtmlPage is not enabled.

more here

WPF Application Quality Guide

I am happy to announce that we have released CTP 5 of the “WPF Application Quality Guide” – our single-stop document for WPF application and component developers and testers.

CTP 5 comes with the following new and updated content:

  • New content:
    • “Considerations for WPF Browser Applications”
    • “Integration and Scenario Testing”
    • “XAML Editing Tools and Visual Studio Add-ins”
    • “Building a WPF Application Test Suite by Using VSTS, NUnit, or xUnit”
  • Updated content:
    • Reading roadmap
    • “Performance and Scalability Testing”
    • “TestApi”
    • “Debugging Tools”
    • “Performance Profiling Tools”
    • “WPF Application Design and Development Tools”

The Guide is available here and here as a DOC file. Big kudos to Anne Gao on our team, who has been PM-ing all releases of the guide to date.

more here

Combining Software in Amazing Ways

I have so many blog topics/whitepapers/projects to complete (in no specific order):

Please send me a message if you have any preferences as I prioritize these tasks.

Alex with our dog CharmIn the meantime, I’ve been working with my son Alex (age 6)  who wanted to build his own website - Skateboarding Penguins. I’ve been helping him design it in Expression Blend 3 with SketchFlow.  Having never designed a website before, SketchFlow makes perfect sense to him.

Since it’s all about penguins, we started out with a Penguin Silverlight User Control that we created in Blend for inclusion in all of the pages of the applicaiton:
more here

Microsoft Previews Great WPF and Silverlight Apps with Facebook OpenStreams API

netmontage 3 Microsoft Previews Great WPF and Silverlight Apps with Facebook OpenStreams API

Today, as many of you probably already saw, Facebook announced some new APIs to further open up access to the Facebook Stream through their new Open Streams API. Microsoft participated in their Developer event, where we began to outline and demonstrate several investments we’re making in the coming months, to make developing for Facebook a whole lot easier for millions of existing and future .NET developers.

At the event, we gave an early look at what will be possible by demonstrating canonical applications built with Silverlight and .NET.  First we showed a Windows application, built with WPF, that shows the power of what .NET and Windows has to offer, via caching and sync, incredible performance, feed integration, automatic docking and adaptive UI, taskbar integration, search and more. The second was a Web application, built with Silverlight, that shows feed integration, profile exploring, and an incredible DeepZoom-based image viewing experience with unique UX constructs for viewing large amounts of feed and friends-related photographic data.  Check out the screenshots below to see for yourself how .NET and Silverlight will change the game in building rich apps with Facebook APIs.  We will continue to build out these apps and will also ship the sourcecode in the future.

more here

Looking at Triggers and Actions

kirupaAvatar4 Looking at Triggers and Actions

KIRUPA.CHINNATHAMBI

If it isn’t broken, take it apart and fix it!

Looking at Triggers and Actions

April 27th, 2009     |

Like I’ve mentioned several times earlier, behaviors in Expression Blend 3 are made up of extensible Triggers, Actions, and Behaviors. What I really have not done is explain in greater conceptual detail what each of those pieces do and how far you can push our default implementation. In this post, let’s fix that by giving Triggers and Actions their long-awaited detailed overview.

In a Nutshell
If I had to sum up what triggers and actions do, the following sentence is it:

trigger_action

Pretty simple, right? Let me take a few steps back and look at a few examples. When I flip on a light switch switch, the light needs to turn on. When I click on a button, a sound needs to play. When I hit a certain time, the application should close. What I have just described are simple cause-and-effect relationships, and in a nutshell, Triggers and Actions are nothing more than digital manifestations of them. The cause (When) is controlled by the Trigger, and the effect (Do) is controlled by the Action:

image Looking at Triggers and Actions

more here

Paging with the Silverlight RIA services DomainDataSource

Using the declarative DomainDataSource that is part of the upcoming Silverlight 3 RIA services makes it quite easy to work with data. All you need to do is add a DomainDataSource control to the the XAML, point it to the generated DomainContext class (in this case NorthwindContext) and tell it which method to use to load the data from the web service(in this case LoadCustomers). Next add a DataGrid to display the data and you are good to go.

Adding paging.

Sometimes the lost of data to load can get somewhat large and you might not want to load all data. In that case all you need to do is add a PageSize and the DomainDataSource will only load enough data to display on a single page. You can do this by just setting the PageSize on the DomainDataSource but as we also need a control to allow the user to page trough the data it is easier to also add the DataPager control. Now you have the option of setting the PageSize on the DomainDataSource or the DataPager. I found that setting it on either would work just was well except for the initial load where the DataPager shows page 0 when the PageSize is set on the DomainDataSource while it is set to 1, the correct value, when set on the DataPager. I assume this is just a small bug in the current preview.

more here

Announcing WPF TestAPI 0.2 release

Last week, the WPF test team released a new version of their Test API: 0.2.  You can download the new release from their codeplex site.

The Test API is a library with utilities for testing WPF and Windows Forms applications.

In their 0.2 release, the library includes APIs to simulate input and do visual verification; it also includes handy utilities that can be used for tasks beyond testing, like a command line parsing ,  and APIs to drive the WPF dispatcher.
The library is not VSTS specific; in their 0.2 releases they added nUnit and xUnit samples.

more here

A Silverlight database application with image upload

I’ve been amusing myself creating a simple online database application using Silverlight. I had this mostly working a while back, but needed to finish off some pieces in order to get it fully functional.

silverlightdata A Silverlight database application with image upload

This is created using Silverlight 2.0 and demonstrates the following:

  • A bound DataGrid (as you can see, work is still needed to get the dates formatted sensibly).
  • Integration with ASP.NET authentication. You have to log in to see the data, and you have to log in with admin rights to be able to update it.
  • Create,Retrieve,Update,Delete using ASP.NET web services.
  • Image upload using Silverlight and an ASP.NET handler.
  • Filter a DataGrid (idea taken from here).
  • Written in Visual Studio 2008, and hosted on this site, which runs Debian Linux, hence Mono and MySQL. Would you have known if I had not told you?

more here

MTV Asset Management using Silverlight 3

It was exhausting working the booth, standing on my feet all day, talking to so many people over the course of four days, but it was so exciting at the same time. We showed many cool things at the Microsoft booth, including Silverlight 3, IIS 7 Smooth Streaming, our Fast search engine, our Advertising solutions, a ton of solutions from our partners, and last but not the least - some very interesting open source starter kits that my team built, and that I will blog about in coming posts.

But I am especially excited about a specific application I was directly involved in.

Viacom/MTV announced a web based Digital Asset Management Workflow application completely built in Silverlight 3 (of course using the beta bits for now) and .Net 3.5. This is very cool, not just because it is an early adoption of Silverlight 3, but because

more here

Maybe the right idea for a Hotel-Travel Website

Exelent design. I love it.

travel map with silverlight

maybe a hotel travel map with silverlight

Great Silverlight Application- Bicycle Configurator

Only in German, but great!

2736 Hero noSL Great Silverlight Application  Bicycle Configurator

Bicycle Configurator

Bicycle configurator and finder for an internet shop focused on Dahon folding bikes. The configurator uses Silverlight and DeepZoom and sits on top of a standard HTML-shop solution.