All posts in Silverlight

BingMapsOne of the projects we had the chance of working with a while back, but hadn’t gone live due to licensing and policy reasons, finally made it and is now publicly available at www.meteo.gr/bingmaps/.

We had a lot of fun in this project as there were a few challenges we had to overcome, let me give you the insights on one of them to get an idea and possibly help your future Bing maps projects Smile.

The biggest challenge we faced was how we were going to draw Contours over the map. To that end we read the very useful Practical C# Charts and Graphics book and found out all about Triangulation a technology widely used in Topography. Using Triangulation we’ve eventually developed a solution, only to find that it didn’t work as expected. The algorithm was correct, but when dealing with millions of points to draw shapes (vector graphics) over Bing maps performance degraded rapidly and this was unacceptable.

So next we thought that instead of drawing shapes over the map, it would be faster if we could just place another tile layer over the map, where all shapes would be pre-rendered. We were right the navigation was very fast but generating the Tiles still took very long and consumed a lot of resources which was a problem. The algorithm was still very complicated.

TileGenerationFinally, Dimosthenis had a very cool idea, that solved our problem. Since the data points are so close to each other, if we just drew a small rectangle (as you shown in the image) with the appropriate color for each point, the rectangles’ edges would create an area that with the proper imaging ease function would appear as a contour. We’ve started working on it and it truly not only drastically reduced the tile generation but also the result was very satisfying.

We hope you like it and use it.


Back from my holidays and straight to work.

Reading through my emails though, I came by one where one of my friends have noticed that I’ve neglected to post my Silverlight Out Of Browser Applications presentation content. 

So with my deepest apologies here it is.


clip_image001_2 Since I’ve started talking about Sliverlight and analytics yesterday I thought this is probably the best opportunity to mention Silverlytics (Silverlight + Analytics).

Built by Location3 Media an interactive marketing company, Silverlytics is a multitenant Windows Azure-based analytics service that uses Microsoft Live Labs Pivot for its data visualization.  All of its data is collected from Service Oriented Analytics behaviors in Silverlight applications. 

The Windows Azure platform is perfect for web analytics because of its scalability and global reach while Pivot provides a very cool way to slice, dice, and understand the data.  Location3 Media is the company behind this and is looking for people who are interested in beta testing the service.  Go to the site to learn more and try it out.

The most exciting aspect of this though, is that the Pivot control will be available for Silverlight this summerso any website could use Pivot in their Silverlight application.  To see the potential of Pivot, take a look at Gary Flake’s TED talk from earlier this year.


A common misunderstanding and argument I get, for not building web applications using Silverlight technology, is often, the lack of a way to keep stats of your application traffic. So I thought this worth a blog post in order to put a few things right and let people know that there is actually a solution they could use. This solution is Microsoft Silverlight Analytics Framework.

Microsoft Silverlight Analytics Framework is a codeplex based open source Extensible Web Analytics Framework for Microsoft Silverlight Applications. It addresses the challenges of tracking Silverlight applications by enabling it in a number of scenarios like the out-of-browser and offline application ones. It supports the usage of multiple analytics services

simultaneously without impacting the application performance. What’s more you can use Expression Blend to visually implement tracking of your application and do A/B testing. Last but not least the framework supports a number of components built by various analytics and control vendors in Web, video and rich client scenarios such as ComponenentOne, Telerik, RadControls, Smooth Streaming Media Element, and Microsoft Silverlight Media Framework Player 1.0.

If you want to find out more about the project visit the project home page and see a video of the framework presentation from the Mix 2010 conference in Las Vegas where the framework was introduced and released on March 15, 2010.


Protected: Prism at the next DotNetZone Event

Categories: Architecture, DotNetZone, Events, Silverlight
Enter your password to view comments.

This content is password protected. To view it please enter your password below:


DevDays 09 part 2 : Silverlight 3 See the light! If you’re unable to attend catch the live stream (RSVP now!) starting at 9.30 AM GMT+2 Athens time.

Online TV Shows by Ustream


If you’re into Silverlight/WPF development you’ll surely appreciate Karl Shifflett’s XAML Power Toys: http://tinyurl.com/karlpowertoys  Awesome (free) tool for WPF/Silverlight.

XAML Power Toys Full Feature Set  includes

  • Create ViewModel Class – from a VB.NET or C# code window, easily create a ViewModel stub that includes commands and exposed data class.  Optionally you can elect to re-implement all Model properties on the ViewModel.
  • Create Silverlight DataForm For Selected Class – quickly create a DataForm complete with bindings that are easily associated with properties on the source class
  • Create WPF or Silverlight DataGrid For Selected Class – quickly create a DataGrid complete with bindings that are easily associated with properties on the source class
  • Create WPF ListView For Selected Class – quickly create a ListView complete with bindings that are easily associated with properties on the source class
  • Create Business Form For Selected Class – quickly create a form complete with bindings that are easily associated with properties on the source class
  • Create Business Form – quickly create a form without selecting an entity class.  Great for creating unbound forms or just laying out a Grid.
  • Show Fields List For Selected Class – display a list of class fields similar to Microsoft Access.  Allows dragging of fields to create controls
  • Extract Properties To Style – allows selecting a control, choosing desired properties and have those selected properties extracted to a newly created style
  • Group Into – allows selecting one or more controls and group them inside a new parent control.  Many options provided
  • Change Grid To Flow Layout – allows selecting of one of more control and will remove all MinWidth, MinHeight, Margin properties and will set all row and column definitions to Auto.
  • Chainsaw Minimize Cider Designer XAML – allows selecting of one or more controls and will remove all MinWidth, MinHeight, x:Name, Name, Margin properties and will set all row and column definitions to Auto.
  • Remove Margins – allows selecting one or more controls and removes the Margin property from them
  • Edit Grid Column and Rows – allows selecting a grid and then add or remove rows and columns
  • Set Defaults For Created Controls – allows customizing the initial properties that are set when the software creates a new control
  • About Box – see the version of XAML Power Toys installed on your system.  The current version of XAML Power Toys is always displayed at the top of this page below the title

Yesterday, I had the chance to speak in front of an audience about how ready is Silverlight for your business applications at a Microsoft DevDay event.

I really enjoyed it as I was mainly showing code and demos (did 7 demos in 1h.30m which is a personal record) instead of doing PowerPoint slides, and talked about a lot of new features coming up with Silverlight 3. I hope everyone enjoyed it as much as me. If you didn’t make it, I believe there’s a video coming up later on (it really depends on Isavella ;-)).

Till then you can take a look at the source code of the demos and presentation slides which I’ve uploaded here:


It’s been almost a year since I last talked about Microsoft’s Hosted Deep Zoom project. It then was a simple Ajax – silverlight enabled web application that enabled you to dynamically deepzoom and share your images.

A lot have changed since then as I discovered today. To begin with, the project has been renamed to Deepzoompix and a lot of cool new features have been added making it a great way to show off your photos in a new and interactive way. Get started by importing your own photos and prepare to be amazed…

Jellyfish Deep Zoom framework. This is a framework created by 2nd Factory in Japan to enable designers and developers to easily take advantage of the Deep Zoom capabilities of Silverlight. The server component of this framework is used as a basis for DeepZoomPix.

If you want to learn more about how the project was made be sure to visit http://deepzoompix.com/DeveloperResources.aspx


Most of the large control suite vendors have already started releasing their offerings for the Silverlight platform. One of those, namely divelements, has put together a couple of samples on what you can do with their controls. So if you are interested in building line of business applications in Silverlight such as an mail client, word processing, or something similar, check out http://divelements.co.uk/silverlight/.

divelements_SampleFurthermore divelements is offering a free set of simple but commonly-requested tools, including an HTML display control. This control allows you to embed HTML anywhere in a Silverlight application by simply specifying raw HTML to display or, if you prefer, the URL to a web page.

The control works by asking the host browser to create a DIV tag in which to display the HTML, and positioning it cleverly to match up with the Silverlight layout system. You should find that this “just works” as the HtmlHost control is dynamically moved or shown (on a tab page, for example) or even if the Silverlight plugin itself is moved. You must be using the Silverlight plugin in windowless mode to use this control