Geeks With Blogs


What I do:

Identity Mine

MVVM Light


What I am:

Microsoft Most Valuable Professional, Client Application Development

Microsoft Certified Technology Specialist, Windows Presentation Foundation

WPF disciples


View my profile on LinkedIn

Creative Commons License
Diary of a Code Trotter by Laurent Bugnion is licensed under a Creative Commons Attribution 3.0 Unported License

All source code on this blog is licensed under the MIT license.

Copyright (c) 2006 - 2011 GalaSoft Laurent Bugnion

Laurent Bugnion (GalaSoft) Diary of a Code Trotter Technical stuff Technology I play with
Using the predefined buttons styles for the ApplicationBar in Windows 8
When you create a new Windows 8 application, the Common folder contains a file named StandardStyles.xaml. Amongst other styling resources, this file contains a trove of application bar buttons styles, including Microsoft Design-like icons. In order to use these styles, however, you need to uncomment the corresponding one. Microsoft commented these styles out, because otherwise they would be instantiated by the XAML parser when the app starts, which would cause some delays and use unnecessary memory. ......

Posted On Monday, March 25, 2013 3:25 PM

Session material from TechDays BE and NL
UPDATE: Added the videos Note: Like all material on this blog, this blog post and all the referenced material are licensed under the Creative Commons Attribution 3.0 Unported license. You are free to reuse material from this post and from the referenced material, but you must attribute this material to me, and link to this blog post, or to my website. Thanks! I had the chance to be invited again to speak at TechDays in Belgium (Antwerp) and in the Netherlands (The Hague), and delivered 3 sessions ......

Posted On Sunday, March 10, 2013 6:29 PM

MVVM Light V4.1.27.0 in Nuget

I just pushed a new version of MVVM Light to Nuget. The new version is The difference towards the previous version ( and this one is that I am not depending on the CommonServiceLocator Nuget package instead of providing my own.

Read the rest of this entry »

Posted On Thursday, February 14, 2013 9:44 PM

Using async/await with WebClient in Windows Phone 8 (or: TaskCompletionSource saves the day)
When you share code between Windows Phone 8 and Windows 8, you can use async/await to code against asynchronous APIs, which is a nice step in the right direction. However there are Windows Phone APIs that do not support async/await yet. Probably the most annoying to date is the WebClient (which in Windows 8 has been replaced by a better API called HttpClient). Read the rest of this entry » ......

Posted On Sunday, January 27, 2013 4:52 PM

2012 in review
It seems it was only yesterday that I was writing about starting my 4th year at IdentityMine, and here we are now, more than a year later. The year 2012 has been particularly interesting for all of us in the tech space, and particularly for us who are observing the Microsoft brand. Now, those of you who know me also know that I am an undying optimist (something that is sometimes mistaken for fanboism), so I will make a big effort in adding a dose of realism into this billet. Nonetheless I think we ......

Posted On Sunday, January 6, 2013 9:11 PM

MVVM Light V4.1.26 change log
I just published the change log for MVVM Light V4.1.26, which is available on Nuget only at this time. The full version is available here, while the “libraries only” version is available here. I am working on an installer which will also add a few more changes to the templates and one bug fix in the code snippets. Stay tuned for that installer as soon as I figure a few things out. Important note: V4.1.26 is only available on Nuget (here and here) at the current time. An installer will be published ......

Posted On Saturday, January 5, 2013 11:10 PM

A story of Murphy–my technical issues at TechDays Switzerland #chtd
I had two sessions at the recent Swiss TechDays. While the first one (Advanced Development for Windows Phone 8) went extremely well (I think), I had a very annoying technical issue in the beginning of my second session. Read the rest of this entry » ......

Posted On Tuesday, November 20, 2012 10:10 PM

Displaying the Saved Pictures in the Windows Phone 8 emulator
One cool feature of the Windows Phone emulator is that it allows you to select pictures from your app (using the PhotoChooserTask) without having to try your app on a physical device. For example, this code (which I used in some of my recent presentations) will trigger the Photo Chooser UI to be displayed on the emulator too: Read the rest of this entry » ......

Posted On Sunday, November 18, 2012 3:50 PM

A fix for the design time error in MVVM Light V4.1
For those of you who installed V4.1 of MVVM Light and created a project for Windows Phone 8, you will have noticed an error showing up in the design surface (either in Visual Studio designer, or in Expression Blend). The error says: “Could not load type ‘System.ComponentModel.INot... from assembly ‘mscorlib.extensions’” with additional information about version numbers. Read the rest of this entry » ......

Posted On Sunday, November 11, 2012 11:26 PM

Oredev 2012: Summary and source code
This week, I had the pleasure to be invited to talk at Oredev, a really cool conference taking place in Malmo, Sweden. The whole event is awesome, including a very special dinner on Monday including sauna and swimming in a 6 degrees cold Baltic sea, and a reception with dinner at the town hall, including the mayor himself. Considering Malmo is a town of 300'000 inhabitants, it is a pretty nice occasion and the historical building itself is really worth seeing. For those interested, I placed my pictures ......

Posted On Sunday, November 11, 2012 9:27 PM

MVVM Light V4.1 with support for Windows Phone 8
Today is a very exciting day: After the official release of Windows 8 (and Microsoft Surface!) on Friday, and the official release of Windows Phone 8 on Monday, the Build conference is starting! This is the conference in which we will learn all about the developer experience for Windows 8 and Windows Phone 8. As a partner of Microsoft, I had the privilege of trying out some of the new things early, and this gave me the opportunity to port MVVM Light to Windows Phone 8 (it was already running for ......

Posted On Tuesday, October 30, 2012 7:11 PM

“Using the MVVM pattern in Windows 8” in MSDN Magazine
These days I am swimming in Windows 8 code, and I must say it is a good feeling. This gives me the occasion to push MVVM Light and a few other components of mine to their limits, and to fix or improve a few things on the fly. All this goodness will be available in V4.1 which is scheduled shortly after Windows 8 launch. In spite of the busy schedule, I couldn’t resist writing an article for MSDN magazine about, you guessed it, the MVVM pattern and MVVM Light in Windows 8. It is an article that goes ......

Posted On Wednesday, October 10, 2012 9:29 PM

Adventures in Windows 8: Working around the navigation animation issues in LayoutAwarePage
LayoutAwarePage is a pretty cool add-on to Windows 8 apps, which facilitates greatly the implementation of orientation-aware (portrait, landscape) as well as state-aware (snapped, filled, fullscreen) apps. It has however a few issues that are obvious when you use transformed elements on your page. Read the rest of this entry » ......

Posted On Tuesday, September 25, 2012 9:41 PM

Adventures in Windows 8: Solving activation errors
Note: I tagged this article with “MVVM” because I got a few support requests for MVVM Light regarding this exact issue. In fact it is a Windows 8 issue and has nothing to do with MVVM Light per se… Sometimes when you work on a Windows 8 app, you will get a very annoying issue when starting the app. In that case, the app doesn’t not even start past the Splash screen. Putting a breakpoint in App.xaml.cs doesn’t help because the app doesn’t even reach that point! Read the rest of this entry » ......

Posted On Monday, September 10, 2012 9:17 AM

Adventures in Windows 8: Understanding and debugging design time data in Expression Blend

One of my favorite features in Expression Blend is the ability to attach a Visual Studio debugger to Blend. First let’s start by answering the question: why exactly do you want to do that?

Read the rest of this entry »

Posted On Wednesday, September 5, 2012 11:53 PM

Adventures in Windows 8: Placing items in a GridView with a ColumnSpan or RowSpan
Currently working on a Windows 8 app for an important client, I will be writing about small issues, tips and tricks, ideas and whatever occurs to me during the development and the integration of this app. When working with a GridView, it is quite common to use a VariableSizedWrapGrid as the ItemsPanel. This creates a nice flowing layout which will auto-adapt for various resolutions. Read the rest of this entry » ......

Posted On Saturday, September 1, 2012 3:19 PM

#mvvmlight V4 update for Win8 RTM
With Windows 8 RTM out of the doors (at least for some of us), it was also time to create an update to MVVM Light. I selected the V4 RTM to do this (V4.0.23).This RTM version was released a few weeks ago with no much bells and whistles because I was just too busy to write much about it. Now after some vacation, I will resume blogging on all my favorite topics including of course MVVM Light. Read the rest of this entry » ......

Posted On Friday, August 24, 2012 9:33 PM

#mvvmlight V4 for Windows 8 RP is available
I took a moment out of a very busy weekend to publish an update to MVVM Light for Windows 8 Release Preview. Read the rest of this entry » ......

Posted On Sunday, June 3, 2012 10:40 PM

Fixing the certifications issues for the Windows 8 App Store and #mvvmlight
If you used the latest MVVM Light version for Windows 8, you may have noticed that a couple of issues cause your app to fail the Windows App Certification Kit. It is really quite simple: By mistake, I published the debug version of the assemblies instead of the release version. This causes the certification to fail. Read the rest of this entry » ......

Posted On Monday, May 21, 2012 7:30 PM

Celebration! 120’000 downloads for #mvvmlight, 2 copies of Expression Studio to win
That is a symbolic milestone: Last week, MVVM Light reached the bar of 120’000 downloads on, the site that has been hosting source and installers since the beginning of the project (100'000 downloads) and on Nuget, the popular package manager for .NET (20'000 downloads). More information about Nuget and MVVM Light. Read the rest of this entry » ......

Posted On Sunday, April 29, 2012 9:05 PM

Metro design inspiration
[This is the English version of an article I wrote for the Netzwoche publication in Switzerland. This is part 2 of a 3-parts article about Metro. The original article in German can be found online on the Netzwoche website.] With Windows 8, Microsoft is going to potentially install their new design language called Metro on a massive amount of computers of all shapes, from thin low-powered slates to full scale PCs. However Metro was not born overnight and in fact a lot of research was put into it. ......

Posted On Friday, April 27, 2012 9:52 PM

#mvvmlight V4RC available on #nuget

I just published the MVVM Light V4 RC packages to Nuget. Note that this is still technically a preview, so the main package is still V3. The V4 packages are available here:

Read the rest of this entry »

Posted On Sunday, April 22, 2012 9:13 PM

Declaring an ICommand in Windows 8 Consumer Preview
[Update 24/4/2012]

Well I'll be… after I posted this, a few people wrote to me and told me they are unable to repro the issue. I then tested again and indeed, it works. No idea why I couldn't get it to work in the first place.

More details here. Sorry about the confusion people!

Posted On Friday, April 20, 2012 4:43 PM

Slides and source code for my past talks this year

I had the chance to be invited to talk at various conferences this year already, and I promised to post the slides and source code, so here it is!

Read the rest of this entry »

Posted On Wednesday, April 18, 2012 12:28 AM

Fixing the #mvvmlight code snippets in Visual Studio 11

If you installed the latest MVVM Light version for Windows 8, you may encounter an issue where code snippets are not displayed correctly in the Intellisense popup. I am working on a fix, but for now here is how you can solve the issue manually.

Read the rest of this entry »

Posted On Friday, April 6, 2012 12:07 PM

How to work around a possible XNA Game Studio or Windows Phone SDK install failure on Windows 8

I am not sure if you guys know Aaron Stebner. Aaron works at Microsoft, and has pulled thorns from my side many many times already.

Read the rest of this entry »

Posted On Friday, April 6, 2012 11:03 AM

MVVM Light V4b1 for Windows 8 Consumer Preview (with installer)

I just pushed the following to Codeplex:

Read the rest of this entry »

Posted On Sunday, April 1, 2012 9:43 PM

The gestures of Windows 8 (Consumer preview): part 2, More about Search

This is part 2 of a multipart blog post about the gestures and shortcuts in Windows 8 consumer preview. Part 1 can be found here!

Read the rest of this entry »

Posted On Tuesday, March 20, 2012 6:53 PM

The gestures of Windows 8 (Consumer preview): part 1
This blog post started as a simple one, but grew to be quite large and time consuming. I am splitting it, because I really want to publish the first findings already. Stay tuned for more! I am sure that you heard that Windows 8 was released last week in an early although quite stable stage called "consumer preview". Windows 8 is an interesting mix of touch-based and mouse/keyboard based system. Some aspects are a bit annoying (see my post about the "split personalities" in Win8 to see what I mean!) ......

Posted On Monday, March 5, 2012 9:38 PM

Impressions, slides and code from TechDays Belgium and Netherlands

Update: Posted the video of “MVVM Applied” below.

This week I was “on tour” in Belgium and Netherlands and presented 3 times:

Read the rest of this entry »

Posted On Sunday, February 19, 2012 11:30 PM

Solving the ObservableCollection bug on Windows 8
If you tried to build applications for Windows 8 with XAML/C#, you may have noticed an annoying issue: If you have a list controls (for example a GridView) and you bind the ItemsSource property to a property of type ObservableCollection on your ViewModel, the GridView is not updated when the collection’s content changes. The CollectionChanged event is raised properly, but it is not honored by the binding system. Read the rest of this entry » ......

Posted On Sunday, February 19, 2012 6:11 PM

Screenshots of my #mvvm demo at #techdaysbe

Today I gave a talk in TechDays in Belgium about MVVM in Silverlight 5, Windows Phone 7 and Windows 8. This was the first time I gave that particular talk, and in addition keep in mind this is a developer preview, meaning that it is not finished, and not always stable.

Read the rest of this entry »

Posted On Wednesday, February 15, 2012 11:52 PM

Bug fix: WPF4 project template for #MVVMLight V3

Ironically, my last release of MVVM Light V3 was about fixing bugs in templates and making them better. In the process however, seems that I introduced a regression bug in the WPF4 project templates. Yep shit happens.

Read the rest of this entry »

Posted On Wednesday, January 25, 2012 12:40 AM

New MVVM Light templates with bug fixes
The current version of MVVM Light had a couple of issues in the project templates. The most annoying one was causing a problem when creating new projects: The GUIDs used to uniquely identify the project were in fact not re-generated properly every time, and we ended up with the same GUID in every new project. The symptoms are the following: If you side-load an MVVM Light application, and then side-load another one, you will see that the first one is overwritten. Note however that this is only an ......

Posted On Monday, January 2, 2012 9:13 PM

Quick travel tip: charging USB devices from the Samsung Slate 7
For those of you who have the Samsung Slate 7 that Microsoft gave at Build (or that you purchase yourself!), and who are travelling: I hate to take chargers for all my gadgets, especially since my Windows Phone, my Bluetooth stereo headset and my Kindle (amongst others) all use micro-USB to charge. So I just take a couple of micro USB cables and I can charge my devices from the PC. Read the rest of this entry » ......

Posted On Sunday, December 25, 2011 11:17 AM

MVVM Light installers and Nuget (including Silverlight 5) #mvvmlight

I just pushed two big updates to MVVM Light setup components.

Read the rest of this entry »

Posted On Sunday, December 18, 2011 10:10 PM

MVVM Light for Silverlight 5 is on Codeplex #mvvmlight

Here we go! After the Microsoft team released version 5 of Silverlight yesterday, MVVM Light is available for this version of the framework too. I did not create the installer yet (that will take a few more days), but you can download the source code and build it yourself easily.

Read the rest of this entry »

Posted On Saturday, December 10, 2011 8:29 PM

Silverlight 5 is released!
Microsoft just released the version 5 of Silverlight! It’s a great news and I really want to congratulate the whole team on this impressive collective effort. The official announcement is on the Silverlight team blog! Read the rest of this entry » ......

Posted On Friday, December 9, 2011 8:59 PM

MVVM Light template and WCF services (or any ASP.NET application for that matter)

I was recently made aware of a couple of people having issues with WCF services (or ASP.NET applications) when using the MVVM Light project template for Silverlight. There is a blog post and a StackOverflow question, so what exactly is happening there?

Read the rest of this entry »

Posted On Wednesday, December 7, 2011 10:36 PM

MVVM Light Toolkit for Windows 8 (preview) #mvvmlight #win8
I was very optimistic when I first saw Metro style apps coded in C# on Windows 8, because for the most part they are not much different than the well known XAML/C# pair on Silverlight or WPF. This led me to brag a bit about probably having a port of MVVM Light ready “in a few days”. Of course I didn’t take in account that I would have a great time the week after //build in Seattle, with fantastic weather and tons of friends to have dinner and conversations with. Needless to say, the few days turned ......

Posted On Monday, October 3, 2011 9:28 PM

Breaking change: Raising PropertyChanged with string.Empty in WinRT / Windows 8

In the developer preview of Windows 8, I just noticed a breaking change in the way that data bindings react to the PropertyChanged event.

Read the rest of this entry »

Posted On Sunday, September 25, 2011 11:57 PM

Quick tip: Killing a Metro-style app in Windows 8
Metro-style apps are very similar to Windows Phone apps. They have a similar application model (for example they can be suspended, and when suspended they can be killed by the operating system if memory is needed), so they need to maintain state. Also, and that is the topic of this post, they cannot be ended by the user in a “normal” way, i.e. there is no File / Exit menu and no “X” button in the corner. Once started, the application remains in memory until the following happens: Read the rest of ......

Posted On Sunday, September 25, 2011 11:16 PM

Quick tip: Select the correct INotifyPropertyChanged in Windows 8 / WinRT
Microsoft loves MVVM and INotifyPropertyChanged so much that they included this very useful interface twice in the new WinRT framework. Unfortunately, only one of these is working correctly (and the other one is likely a bug, remnant from the past ) Read the rest of this entry » ......

Posted On Sunday, September 25, 2011 10:47 PM

Detecting design mode in Windows 8/WinRT
One of the very useful features of the MVVM Light toolkit is to help with the creation of design time data, in order to give something to see on the design surface (Expression Blend, Visual Studio designer). This is especially useful when designing list controls such as ListBox, ComboBox, etc. Without design time data, these controls will remain empty, and the designer will not see what he is working on. This can cost a lot of time and cause frustration. Read the rest of this entry » ......

Posted On Sunday, September 25, 2011 9:02 PM

Dealing with types in WinRT
Another quick tip: Most of the interaction with the System.Type class in Windows 8 is now done through the TypeInfo class. An instance of TypeInfo for a give type is retrieved using an extension method called GetTypeInfo(). Note that since this is an extension method, it will not be visible in Intellisense unless you add a reference to System.Reflection in the “using” section: Read the rest of this entry » ......

Posted On Sunday, September 25, 2011 8:35 PM

Running unit tests in Visual Studio 2011 and Windows 8 (WinRT)

This is a quick tip, because it confused me at first. But thanks to the always excellent Tim Heuer and Peter Provost (from the Visual Studio team), here is the answer:

Usual disclaimer: This is for XAML/C#. I am not sure how this works for the other programming stacks.

Read the rest of this entry »

Posted On Saturday, September 24, 2011 12:50 AM

My Windows 8 slate has split personalities–and what Microsoft could do to improve that
I had dinner the other night with my good friend Josh Smith, and of course we started talking about Windows 8. Something he said was pretty much spot on: He said that Windows 8 feels as if it has split personalities. There are the WinRT “Metro-style” apps and there is the “classic” Desktop, which looks and feels like Windows 7++ (optimized for touch, and actually a real delight to use with my fat greasy fingers). Read the rest of this entry » ......

Posted On Tuesday, September 20, 2011 11:04 PM

Quick tip: Adding objects in resources.

If you are using MVVM-Light style ViewModel creation (often referred to as “view-first”), you might have noticed that you cannot build if you have an object in the view’s resources. It means that the code below does not compile.

Read the rest of this entry »

Posted On Tuesday, September 20, 2011 3:17 AM

What to do if the Bluetooth keyboard stops working? (#Win8 #bldwin Samsung slate)
At times it is quite tough to be on the bleeding edge. I have been using the Samsung slate that Microsoft gave us at the Build conference last week for about 5 days now, and in fact I even left my laptop (a Touchsmart TX2 that I like a lot but that is getting old a bit) at the hotel. One issue I had today is that the Bluetooth keyboard stopped working. I tried removing and reading it from the Devices dialog, but it didn’t work. Read the rest of this entry » ......

Posted On Monday, September 19, 2011 1:08 AM

So did you notice? (Invisible references in WinRT apps)

Just a quick note: When you create a new WinRT application for XAML/C# in Visual Studio 11, you will notice that the References folder is empty.

Read the rest of this entry »

Posted On Sunday, September 18, 2011 7:11 PM

My thoughts about Build, Windows 8, WinRT, XAML and Silverlight

Last week, Microsoft held their long awaited Build Windows (or simply "Build") conference in Anaheim CA. About 5000 people packed the convention center to discover the latest version of the Windows operation system: Windows 8.

Read the rest of this entry »

Posted On Saturday, September 17, 2011 9:32 PM

//build conference in Anaheim: Keynote notes #bldwin

As usual when I attend a conference, I like to take quick notes to remember what it was all about and take some time later to analyze it. Since Windows 8 is going to be the next big things, let me share my notes with you!

Read the rest of this entry »

Posted On Tuesday, September 13, 2011 7:41 PM

MVVM Light V4 beta1
This morning, I published MVVM Light V4 beta1 in the form of an MSI. The installation instructions are detailed on the MVVM Light installation page. Please make sure to uninstall previous versions before you install V4 beta1. There are quite a few changes in this version, and I plan to blog about various features in the coming days. As usual, stay tuned! Read the rest of this entry » ......

Posted On Monday, September 12, 2011 6:00 PM

MVVM light V3 installer for non-English systems
After I released the MVVM Light installer, I got a note saying that parts of the installation failed on non-English systems (in that case a German installation of Expression Blend and Visual Studio). Specifically, what failed was the code snippets on Visual Studio, and the project and item templates in Expression Blend. Read the rest of this entry » ......

Posted On Thursday, September 1, 2011 10:28 PM

Automated installer for MVVM Light V3!
For a very (too) long time, the installation procedure for MVVM Light sucked. It involved downloading and unzipping files in various locations. Unfortunately, creating an automated installer is not completely trivial because of the variety of files that are getting installed: Binaries, Code Snippets, Project and Item Templates, all require different locations, and all that for VS2008, VS2010, Blend 4 and Silverlight 3, Silverlight 4, WPF3.5 SP1, WPF4, WP7.0 and now WP7.1 “Mango”. Read the rest of ......

Posted On Sunday, August 7, 2011 1:50 AM

Prepping a conference
I have had the chance to talk at many conferences these past few years, and came up with a way to prepare them which works really well for me. Most importantly, it would make it quite easy to overcome an emergency (for example if my laptop would suddenly lose data). The whole code as well as the slides and other documents are in the cloud. I also use source control for my demos, so that I always have the latest and the greatest, but also a history of changes I made to my demos. Finally I have a system ......

Posted On Sunday, June 19, 2011 8:50 PM

Proposing a new RelayCommand snippet for MVVM Light V4

In MVVM Light V4, I am proposing a new RelayCommand snippet, making it easier to declare and initialize a RelayCommand. I came up with a syntax that allows having the RelayCommand and its initialization in one convenient location.

Read the rest of this entry »

Posted On Wednesday, June 15, 2011 4:39 PM

Real life UX is still UX

Note: I posted that on Posterous, but on second thoughts it belongs on this blog too. After all, making UX better is what this is all about, in the end, and not just for computer applications. So apologies to those of you who read that on my Posterous already!

Read the rest of this entry »

Posted On Monday, June 6, 2011 9:59 AM

“Mango” from the trenches part 2: Starting a Bing Maps navigation #wp7dev
At IdentityMine, we had the chance to develop a few applications featuring the new Windows Phone 7 features coming up in the update codenamed “Mango”. This series will showcase a few of the new features included in Mango that we used in those apps. Part 1: Adding a secondary live tile to the start page. Part 2: Starting a Bing Maps navigation Read the rest of this entry » ......

Posted On Friday, May 27, 2011 9:29 PM

“Mango” from the trenches part 1: Adding a new live tile to the start page #wp7dev
At IdentityMine, we had the chance to develop a few applications featuring the new Windows Phone 7 features coming up in the update codenamed “Mango”. This series will showcase a few of the new features included in Mango that we used in those apps. Part 1: Adding a new live tile to the start page. Part 2: Starting a Bing Maps navigation. Read the rest of this entry » ......

Posted On Tuesday, May 24, 2011 11:53 PM

MVVM Light Toolkit patch for WP7 Mango Beta
On Tuesday the 24th of May 2011, the new version of the Windows Phone 7 SDK codenamed “Mango” was released to the public in beta. This is a huge iteration with an extremely large number of new APIs. Most exciting, the version of the Silverlight framework now used in Windows Phone 7 is Silverlight 4. Thanks to this, I was able to recompile the MVVM Light Toolkit for Windows Phone 7 based on the Silverlight 4 version. This is interesting because the Silverlight 3 version had a few hacks I had to build ......

Posted On Tuesday, May 24, 2011 7:41 PM

Is your application powered by #mvvmlight?
A couple of days ago I had the wonderful surprise to find a mention (and a link!) to MVVM Light on The article talks about the new USA Today app available for Windows Phone 7. MVVM Light is mentioned as well as JSON.NET just after the high quality of the development tools is mentioned: “That same high bar for tools extends into the community as well. MVVM Light and JSON.Net were extremely useful moving past mundane tasks and instead getting to the business of building our app.” – Tim ......

Posted On Friday, May 20, 2011 6:56 PM

MVVM Light V3 on NuGet (now with WP7 support)
There was already a version of MVVM Light on Nuget before. However the old version did not support Windows Phone 7. This is now corrected. Also the new version now adds a ViewModelLocator to your project and includes it in App.xaml. What is NuGet? NuGet is a mechanism allowing to add packages (assemblies, source code…) to an existing project. All versions of MVVM Light are supported (WPF3.5, WPF4, Silverlight 3, Silverlight 4, Windows Phone 7). In order to install NuGet and learn more about this ......

Posted On Saturday, May 7, 2011 10:18 PM

My Swiss TechDays presentations sample code
I published the sample code from my presentations about Windows Phone 7 at TechDays Switzerland. I also published the Powerpoint slides on Slideshare (Windows Phone 7 Overview / Windows Phone 7 Deep Dive). One of the talks is available as a video on Channel 9. I expect the other one to be made available soon, stay tuned for an update. Read the rest of this entry » ......

Posted On Friday, May 6, 2011 10:52 AM

MVVM Light V4 preview 3 (BL16, MIX11 edition!!) #mvvmlight

At MIX11, I am releasing a new preview of MVVM Light version 4. This new preview contains one small change and one large change.

Read the rest of this entry »

Posted On Thursday, April 14, 2011 4:16 PM

Deep Dive MVVM samples #mix11 #deepdivemvvm
Here is the sample code I demoed in my MIX11 session “Deep Dive MVVM”. Please download the Zip file, and then unblock it in Windows Explorer by right-clicking it, and then selecting Properties. If you see an “Unblock” button, please click it. You can then extract the content of the Zip file on your hard drive. Read the rest of this entry » ......

Posted On Wednesday, April 13, 2011 3:04 PM

My MVVM talk’s material is online (#uktechdays)
Quick announcement: I just had the extreme pleasure to talk at the UK TechDays online conference (organized over LiveMeeting) and had about 100 persons in the session, thanks to all for allowing me to talk to you about MVVM! I just pushed the whole sample code as well as the slides to a SkyDrive folder, so feel free to download and experiment. Read the rest of this entry » ......

Posted On Thursday, March 24, 2011 7:35 PM

Building MVVM Light from Codeplex

I just published an article describing how to get the source code from Codeplex, build it, unit test it, get all the DLLs and install them to replace a previously installed version. It’s not very complicated, but it is good to have this information in one location.

Read the rest of this entry »

Posted On Sunday, March 20, 2011 8:40 PM

MVVM Light V4 preview 2 (BL0015) #mvvmlight

Over the past few weeks, I have worked hard on a few new features for MVVM Light V4. Here is a second early preview (consider this pre-alpha if you wish). The features are unit-tested, but I am now looking for feedback and there might be bugs!

Read the rest of this entry »

Posted On Sunday, March 20, 2011 4:36 PM


The public (you!) has spoken, and “Deep Dive MVVM” was selected (along with 11 other open call talks) out of 217 proposals. There were 17’000 votes! These are pretty amazing numbers, and believe me when I tell you that I still didn’t completely realize what just happened!

Read the rest of this entry »

Posted On Friday, February 11, 2011 12:20 AM

MVVM Light V4 preview (BL0014) release notes
I just pushed to Codeplex an update to the MVVM Light source code. This is an early preview containing some of the features that I want to release later under the version 4. If you find these features useful for your project, please download the source code and build the assemblies. I will appreciate greatly any issue report. Read the rest of this entry » ......

Posted On Tuesday, February 8, 2011 12:24 AM

My proposals for the #MIX11 open call
Vote for: “Deep Dive MVVM” Vote for: “Exploring a Blendable Windows Phone 7 Application” Read the rest of this entry » ......

Posted On Tuesday, January 25, 2011 7:16 AM

#twitter for Windows Phone 7 protips (#wp7)
I started tweeting a list of “protips” (or whatever you want to call that) related to the Twitter for Windows Phone 7 application. Since I worked as integrator on this app, my tasks involved integrating design assets in all screens, and so I had an insider view on all the screens (and that is really a LOT of screens :) Seeing some comments about the app made me understand that most users out there don’t realize how rich the application is, and how many features are available. So without further ado, ......

Posted On Saturday, December 4, 2010 11:48 PM

Silverlight User Group of Switzerland (SLUGS)
Last Thursday, the Silverlight Firestarter event took place in Redmond, and was streamed live to a large audience worldwide (around 20’000 people). Approximately 30 if them were in Wallisellen near Zurich, in Microsoft Switzerland’s offices. This was not only a great occasion to learn more about the future of Silverlight and to see great demos, but also it was the very first meeting of the Silverlight User Group of Switzerland (SLUGS). Read the rest of this entry » ......

Posted On Saturday, December 4, 2010 8:40 PM

Watch the #Silverlight Firestarter event with us!
On December 2nd, Microsoft is having an exciting event in Redmond: The Silverlight Firestarter. This is a whole day dedicated to this amazing technology, something like an extension of PDC if you like. The program is an exciting overview covering most of the aspects of Silverlight application development, by some of the best experts in the field. Read the rest of this entry » ......

Posted On Tuesday, November 23, 2010 6:49 PM

Back from TechEd Europe 2010 (Berlin) #tee10
I spent this week in Berlin in company of about 5000+ other geeks at Microsoft’s TechEd Europe. I had experienced the conference for a very short time last year as I spent just 2 days helping on the Silverlight booth at the Technical Learning Center. This year however I was invited to give two talks and participate in a panel of experts. Read the rest of this entry » ......

Posted On Saturday, November 13, 2010 10:13 AM

My position on the #Silverlight debate
Latest update (and hopefully last update): Microsoft has published a few posts to clarify the debate. Please consider the following: PDC and Silverlight by Bob Muglia PDC Thoughts by Steve Ballmer *NEW* Silverlight Questions by Scott Guthrie Silverlight is dead. Long live Silverlight! by Tim Heuer Committed to Silverlight by John Papa ---------------------------... Read the rest of this entry » ......

Posted On Saturday, October 30, 2010 10:47 PM

Microsoft Shape
Today I have been invited by Microsoft Switzerland to present three of our awesome Windows Phone 7 applications on stage at their yearly Shape conference. It was a great moment, and I felt super proud to show the IMDb app, the Twitter app and the SBB Mobile app. The response was excellent, I didn’t have one single demo effect, was able to stream a movie preview live from the IMDb app, to show most features of the Twitter app, to load a timetable and purchase a ticket from the SBB app, and all this ......

Posted On Tuesday, October 26, 2010 9:22 AM

Adding a ViewModelLocator and Merged Dictionaries to App.xaml

I guess this is one of these places where using Blend is an advantage… since I do these operations mostly with the help of the tool, the XAML is generated and I don’t need to think about it too much.

Read the rest of this entry »

Posted On Tuesday, October 26, 2010 8:49 AM

MVVM Light Hotfix for Windows Phone 7 developer tools RTM

This is a hotfix to correct the issues with the MVVM Light templates for Windows Phone 7.

Read the rest of this entry »

Posted On Thursday, July 22, 2010 11:24 AM

JavaScript vs Silverlight: An answer
An article was published at (titled “JavaScript vs Silverlight”) arguing that JavaScript is better than Silverlight. Unfortunately, there is no way to post comments on that page (weird, really) so I decided I would post my answer here. Read the rest of this entry » ......

Posted On Wednesday, July 14, 2010 2:49 AM

How to use the MultiTouch Behavior for Windows Phone 7
Yesterday, I published the source code of the MultiTouch Behavior for Windows Phone 7 on Codeplex (http://multitouch.codeplex... Meanwhile, Davide Zordan (the founder of this project) started to modify the Silverlight 4 version of the behavior to make it API compatible. Eventually, the goal is to share all the API signature, and as much code as possible. We would like to extend this to the WPF version as well, in order to have a consistent landscape of multitouch on all 3 platforms. Read the rest ......

Posted On Wednesday, July 7, 2010 9:54 AM

Silverlight 4 Unleashed table of content

As I am reaching the end of the writing phase of Silverlight 4 Unleashed (to be published at Sams), I thought I would give a little more information about this book.

Read the rest of this entry »

Posted On Monday, June 28, 2010 3:07 AM

Windows Phone 7 multitouch behavior: beta testers needed (#wp7dev)!

I finished implementing version 0.1/beta1 of a multitouch behavior for Windows Phone 7 and need beta testers.

Read the rest of this entry »

Posted On Sunday, June 20, 2010 6:19 AM

Two small issues with Windows Phone 7 ApplicationBar buttons (and workaround)
When you work with the ApplicationBar in Windows Phone 7, you notice very fast that it is not quite a component like the others. For example, the ApplicationBarIconButton element is not a dependency object, which causes issues because it is not possible to add attached properties to it.Read the rest of this entry » ......

Posted On Tuesday, June 8, 2010 11:06 AM

Handling DataGrid.SelectedItems in an MVVM-friendly manner
An interesting question from one of the MVVM Light users today: Is there an MVVM-friendly way to get a DataGrid’s SelectedItems into the ViewModel? The issue there is as old as the DataGrid (that’s not very old but still): SelectedItem (singular) is a DependencyProperty and can be databound to a property in the ViewModel. SelectedItems (plural) is not a DependencyProperty. Thankfully the answer is very simple: Use EventToCommand to call a Command in the ViewModel, and pass the SelectedItems collection ......

Posted On Wednesday, May 19, 2010 7:17 AM

Be careful when installing the Blend Windows Phone 7 Add-In
There was a small issue today with the release of the Windows Phone Developer Tools CTP (April 2010 Refresh) refresh. The issue is that the Expression Blend Add-in Preview for Windows Phone (April Refresh) is not compatible with Blend 4.0.20408.0, which was the public RC (release candidate). Read the rest of this entry » ......

Posted On Thursday, April 29, 2010 9:49 AM

Crowdsourcing MVVM Light Toolkit support
Considering the number of emails that are sent to me asking for support for MVVM Light toolkit, I find myself unable to answer all of them in sufficient time to make me feel good. In consequence, I started to send the following message in response to support queries, either per email or on the MVVM Light Codeplex discussion page. Read the rest of this entry » ......

Posted On Sunday, April 18, 2010 9:45 AM

Small change in MVVM Light Toolkit templates for Blend 4 RC

Ah, the joy of new releases… You will find that the MVVM Light Toolkit works fine with Visual Studio 2010 RTM and Blend 4 RC except for a few adjustments:

Read the rest of this entry »

Posted On Sunday, April 18, 2010 2:15 AM

Using commands with ApplicationBarMenuItem and ApplicationBarButton in Windows Phone 7

Unfortunately, in the current version of the Windows Phone 7 Silverlight framework, it is not possible to attach any command on the ApplicationBarMenuItem and ApplicationBarButton controls. These two controls appear in the Application Bar, for example with the following markup:

Read the rest of this entry »

Posted On Friday, April 9, 2010 10:40 AM

MVVM Light Toolkit V3 SP1 for Windows Phone 7
He he I start to sound like Microsoft… Anyway… I just released a service pack (SP1) for MVVM Light Toolkit V3. Why? Well mostly because I worked a bit more with the Windows Phone 7 tools that were released at MIX0, and I noticed a few things that could be better in the Windows Phone 7 template. Also, I only found out at MIX that you can actually install custom project templates for Visual Studio Express. For some reason I thought it was not possible. Read the rest of this entry » ......

Posted On Saturday, April 3, 2010 7:59 PM

Sample code and slides for my TechDays10 (Belgium) talks
The source code for my MVVM talk titled “Understanding the MVVM Pattern” given at TechDays 2010 in Antwerpen, Belgium, is available online. It is actually the same code than the MIX10 one, but I added the Windows Phone 7 MVVM Light application (available in the folder titled “Mix10.MvvmDemo2-End”. Read the rest of this entry » ......

Posted On Friday, April 2, 2010 11:28 AM

Multithreading in Windows Phone 7 emulator: A bug
Multithreading is supported in Windows Phone 7 Silverlight applications, however the emulator has a bug (which I discovered and was confirmed to me by the dev lead of the emulator team): If you attempt to start a background thread in the MainPage constructor, the thread never starts. The reason is a problem with the emulator UI thread which doesn’t leave any time to the background thread to start. Thankfully there is a workaround (see code below). Also, the bug should be corrected in a future release, ......

Posted On Friday, March 19, 2010 2:31 PM

Sample code for my #mix10 talk online

I just saw that the video for my MIX10 session is online already! Impressive work, MIX10 team. I also published the sample code on my web server, so here are the links:

Read the rest of this entry »

Posted On Tuesday, March 16, 2010 10:19 AM

What’s new in MVVM Light V3

V3 of the MVVM Light Toolkit was released during MIX10, after quite a long alpha stage. This post lists the new features in MVVM Light V3.


MVVM Light Toolkit V3 can be installed for the following tools and framework versions:

Read the rest of this entry »

Posted On Tuesday, March 16, 2010 4:42 AM

MVVM Light V3 released at #MIX10
During my session “Understanding the MVVM pattern” at MIX10 in Vegas, I showed some components of the MVVM Light toolkit V3, which gave me the occasion to announce the release of version 3. This version has been in alpha stage for a while, and has been tested by many users. it is very stable, and ready for a release. So here we go! Read the rest of this entry » ......

Posted On Tuesday, March 16, 2010 4:40 AM

My program at #MIX10
Getting ready to fly to Vegas and MIX10 is really an exciting time! It is also a very busy time, because we are working on a few projects that will be shown on stage, I have my presentation to prepare, and of course as always the book… though these days it has been a bit on the back burner to be honest ;) I arrive in Vegas on Sunday evening around 10PM, so I won’t be able to make it to the traditional IdentityMine dinner this year. I am sure it will be fun nonetheless! Read the rest of this entry ......

Posted On Wednesday, March 10, 2010 6:01 AM

Schedule for my session at MIX10
Microsoft has published the schedule for the MIX10 sessions. I have a sweet spot, and I dearly hope that it stays this way (Last year I had a great spot, but it was changed last minute and then I had a much better one, “competing” against Vertigo and their Playboy app… yeah try to explain to a bunch of geeks that MVVM is better than Playboy… good luck with that ;) Anyway, this year my sweet spot is on the very first day of the conference (there are workshops on Sunday, but this qualifies as pre-conference), ......

Posted On Thursday, March 4, 2010 7:48 PM

Silverlight MVP of the year
Here is a quick news from the MVP summit in Redmond. Things here are amazing, with a lot of good news (that will be made public at MIX, so in the mean time I cannot say anything more about it, except that it is awesome). The summit is, amongst other things, an amazing way to connect with other MVPs and with the product group. This is an amazing community to be a part of, full of really smart people. Read the rest of this entry » ......

Posted On Thursday, February 18, 2010 6:10 AM

Quick tip: Commenting out properties in XAML

Often when you write XAML, you wish you could ignore a property temporarily. In code, it is easy to do: Just comment out the line where the property is set, and you are good to compile.

Read the rest of this entry »

Posted On Monday, February 1, 2010 5:26 AM

The MVVM landscape at MIX10
Update: Shawn Wildermuth has changed his session and will be talking about Silverlight Security instead. The MIX conference this year had an open call for sessions, and 12 sessions were voted by the public out of 169. Surprisingly (or maybe not that surprisingly in fact), 3 sessions out of the 12 have the MVVM pattern in their title. This shows a lot of interest for this pattern which is helping the developer to create decoupled, testable, blendable applications in Silverlight and in WPF. Read the ......

Posted On Thursday, January 21, 2010 3:06 AM

Avoiding issues when typing text in Bindings

The Binding class has a few properties that can be set to a text, including spaces. The properties StringFormat, TargetNullValue and FallbackValue are such properties. These properties exist in WPF and newly also in Silverlight 4.

Read the rest of this entry »

Posted On Tuesday, January 19, 2010 11:27 PM

Talking in Las Vegas: MIX2010 and MVVM
This morning, very early (or very late depending how you see it), I learned that one of the sessions I submitted to the MIX 2010 open call for speakers had been picked by the public. Out of 169 sessions, only 12 were picked, so you imagine my feelings right now. Honestly, I am sure that this will be a good session, but it could have gone either way, and I had prepared myself mentally for the alternative possibility too. Read the rest of this entry » ......

Posted On Tuesday, January 19, 2010 12:28 AM

Quick tip: Finding Silverlight 4 documentation fast
The Silverlight 4 documentation is available online from Microsoft. However, it is not the fastest way to find documentation. Instead, you should know that the Silverlight 4 documentation is available online, it is just a little bit hidden. Read the rest of this entry » ......

Posted On Thursday, January 14, 2010 1:32 AM

MIX 2010: Voting for sessions has begun (I got two)
This year Microsoft decided to have an open call for sessions for the MIX 2010 in Las Vegas. This conference, in case you don’t know it yet, is a great 3 days about modern client technologies, such as ASP.NET, Windows Presentation Foundation and of course Silverlight. This year, MIX is taking place from the 15th to the 17th of March 2010 in the Mandalay Bay hotel in Vegas. Today, the voting began! I didn’t count them, but there seems to be more than 100 sessions lined up, and the competition is fierce: ......

Posted On Tuesday, January 5, 2010 12:12 PM

Silverlight 4: Drag&drop with EventToCommand
One of the MVVM Light Toolkit’s user requested that I add the possibility to pass the EventArgs of an event to the ICommand that it is bound to through the EventToCommand trigger. At first I was a bit reluctant because it seems like a transgression of the rule that says you should avoid to have too much knowledge about the UI layer in the ViewModel. For example, if you have a RelayCommand in the ViewModel that expects a MouseEventArgs, it kinds of binds you to a certain kind of UI element, which ......

Posted On Thursday, December 17, 2009 4:49 AM

MVVM Light V3/alpha3 for Blend 3 and Blend Preview 4
The project and item templates allowing you to create pre-wired MVVM Light applications are now also available for Expression Blend 3 and Expression Blend Preview for .NET 4 and Silverlight 4. The installation process is manual, but not difficult at all (unzipping a few files to predefined paths). I did document the installation process here. Read the rest of this entry » ......

Posted On Friday, December 4, 2009 9:06 PM

MVVM Light Toolkit V3 Alpha 3 for WPF4/SL4
Update: The templates are also available for Expression Blend 3 and Expression Blend Preview for .NET 4 and Silverlight 4. I just published the latest alpha version of the MVVM Light Toolkit. I will post more about the new features in this alpha version, but the most exciting is probably that with this release, the MVVM Light Toolkit works in Windows Presentation Foundation 4 and in Silverlight 4 (in Visual Studio 2010). Read the rest of this entry » ......

Posted On Monday, November 30, 2009 10:56 AM

My talk at #notatpdc postponed
Hey guys, I am really sorry for having to postpone my talk about Expression Blend 3 and SketchFlow. We had some huge difficulties with the website, and unfortunately we were not able to locate the site administrator on time to solve the issue. Without a speaker login, I was able to talk to the attendees, but not share my desktop. Now I love to talk about Blend but I love even more to show Blend ;) Read the rest of this entry » ......

Posted On Thursday, November 19, 2009 8:16 AM

Silverlight 4 beta released at #PDC09
Well people, it was an amazing keynote. Silverlight 4 beta was just presented by Scott Guthrie at the Professional Developer Conference 2009 in Los Angeles. As soon as Silverlight 3 was released a few months ago, the Silverlight team started working on new features to create what will be a really exciting release. Read the rest of this entry » ......

Posted On Wednesday, November 18, 2009 7:58 AM

Talking at #notatpdc about Blend 3 and SketchFlow
NotAtPDC is an awesome initiative from within the .NET community that allows people who cannot for any reason attend one of the major conferences (such as PDC, MIX etc…) to share knowledge, have fun, interact and generally have all kind of good times without leaving their home or office. This year, I cannot make it to the Professional Developer Conference because of multiple reasons (too much work, too many travels ;)) but I will talk to the NotAtPDC conference 2009! Read the rest of this entry » ......

Posted On Tuesday, November 17, 2009 8:51 PM

Bug correction in Messenger and new feature in EventToCommand (MVVM Light Toolkit V3 alpha)
Update (11/14/2009): The sample application is available as a zip file, and I also published the Silverlight version to be executed directly in your browser. The advantage of pushing very early software to the advanced users is that bugs are detected before too many people suffer from them, and features requests can be placed and implemented without pain. This is exactly what happened with the MVVM Light Toolkit V3 alpha 2. Read the rest of this entry » ......

Posted On Friday, November 13, 2009 11:55 AM

MVVM Light Toolkit Logo by P. Schutz
I met Philippe Schutz at the TechDays in Geneva early this year, and have been following him on Facebook since then. He does amazing work with logos and icons, and it is only natural that I have thought of him when I decided to get a new logo and icons for the MVVM Light Toolkit. A brand identity is quite important to me even in private projects. This is why I created the site GalaSoft ( years ago, and started using this “brand” consistently as well as the cat logo (more about that ......

Posted On Saturday, November 7, 2009 10:03 AM

Going to Berlin (TechEd Europe)
I will make a short appearance at Tech Ed Europe. Due to the amount of work we have right now, I cannot spend more than a couple of days in Berlin, but I still hope to meet many of you all. Read the rest of this entry » ......

Posted On Friday, November 6, 2009 6:15 AM

MVVM Light Toolkit V3 Alpha 2: EventToCommand behavior
Update (11/14/2009): I updated EventToCommand with a new feature: You can now pass the EventArgs of the fired event to the invoked command. See this post for more explanations. Here is another early release of the MVVM Light Toolkit V3 (Alpha 2). I decided to release gradually and early as soon as a new part of this new version is ready, to allow advanced users to install, test and give feedback about the new features. If you haven’t seen it yet, the features available in V3 Alpha 1 are described ......

Posted On Thursday, November 5, 2009 2:57 AM

Quick tip: Snooping WPF application with elevated permissions
Here is a quick tip: If you want to use Snoop on a WPF application running with elevated permissions, you need to run Snoop with elevated permissions too, or else your application will not appear in the application’s list displayed by Snoop. Thankfully, it is really easy to run Snoop in elevated mode in Windows 7: Read the rest of this entry » ......

Posted On Tuesday, November 3, 2009 1:15 AM

Microsoft #shape conference
The Shape conference is a new web technologies oriented conference organized by Microsoft Switzerland. It is held in Zurich Oerlikon, and has two tracks, one design-oriented and one development-oriented. Read the rest of this entry » ......

Posted On Tuesday, October 27, 2009 5:26 AM

Clean shutdown in Silverlight and WPF applications
Update: There was a small error in the Silverlight version of the application. The code used to navigate to a different webpage was wrong (in ApplicationExtensions.cs). I wrote this article in the Austrian mountains and did not have the web to check the code, sorry about that ;) I updated the source code. If you downloaded the source code before the 19th of October, 8AM GMT, you want to load the correct version. Apologies!! Read the rest of this entry » ......

Posted On Sunday, October 18, 2009 7:25 AM

MVVM Light Toolkit Messenger V2
Update: MVVM Light Toolkit V2 has been released. Please use the new installer to upgrade your installation. Ever since I released V1.1 of the MVVM Light Toolkit, I have received wonderful and constructive feedback from users. Most of it is flowing into V2, which is almost ready (I am still fighting a little with MSI installers and project/item templates for one feature I am particularly happy about, which is making project templates and item templates available in Expression Blend. That’s right, ......

Posted On Sunday, September 27, 2009 1:16 AM

New articles about the MVVM Light Toolkit V1.1.1

To help you get started with the MVVM Light Toolkit V1.1.1, I published two new articles:

Read the rest of this entry »

Posted On Wednesday, September 9, 2009 9:38 AM

MVVM Light Toolkit V1.1.1: What’s new?

The new version of the MVVM Light Toolkit was just posted. So what is new? Well, to be honest not much.

Read the rest of this entry »

Posted On Sunday, September 6, 2009 6:55 AM

Installing the MVVM Light Toolkit

I just published a new version of the MVVM Light Toolkit.

Read the rest of this entry »

Posted On Sunday, September 6, 2009 1:47 AM

Detecting design time mode in WPF and Silverlight

We already talked often about providing design time data to your designers in Windows Presentation Foundation and in Silverlight, thus enabling them to work visually in design editors such as Expression Blend or the Visual Studio designer (codenamed Cider).

Read the rest of this entry »

Posted On Saturday, September 5, 2009 12:07 AM

Geotagging pictures made even easier
Some time ago, I wrote a blog post titled “Geocoding pictures automatically with Nokia E71 and gpicsync” which was explaining how to use the built-in GPS in your mobile phone (in my case a Nokia E71) and a utility program called gpisync to enter geographical tags into your pictures. This is useful because using a program supporting this feature (such as Flickr for example), you can then see all your pictures on a map, and remember where you took the pictures. Read the rest of this entry » ......

Posted On Wednesday, September 2, 2009 2:55 AM

Polymorphic Podcast: MVVM, Blend, Integrator in WPF and Silverlight
Some time ago, Craig Shoemaker asked me if I wanted to talk about design time data in MVVM on his Polymorphic podcast, and of course I said yes. Following in the steps on my buddies Josh Smith and Tim Heuer was a bit scary, but hey, this is what we do, right, following the steps of giants and trying not to look too silly while we do it :) Read the rest of this entry » ......

Posted On Wednesday, August 12, 2009 4:46 AM

Expression Blend Samples InvokeDataCommand bug
My good friend and super hero programmer Pete Blois posted an impressive collection of samples using and extending Expression Blend behaviors and triggers on Codeplex some time ago. There are a few real treasures in there, and some of them that I would like to integrate in my MVVM Light toolkit, thus avoiding to reinvent the wheel. I am still checking the license (the Samples use the MS-PL license) but I think it should work just fine. Read the rest of this entry » ......

Posted On Thursday, August 6, 2009 6:21 AM

Member of the INETA Europe Speaker Bureau

I am very proud and happy to announce that I am now a member of the European INETA speakers bureau.

Read the rest of this entry »

Posted On Wednesday, August 5, 2009 3:53 PM

IdentityMine /forward Community Site
At the same time that Microsoft was releasing Silverlight 3 and launching Expression Blend 3 and SketchFlow, IdentityMine released our new community site: Read the rest of this entry » ......

Posted On Friday, July 10, 2009 1:29 PM

Silverlight 3, Blend 3 and the MVVM Light Toolkit
The big news today is of course the launch of Silverlight 3. Microsoft organized a big event in San Francisco (I was invited, but could not make it to SF in time, unfortunately :() and there was a big celebration. Together with Silverlight 3 RTM, we were given Expression Blend 3 Release Candidate (including SketchFlow). Read the rest of this entry » ......

Posted On Friday, July 10, 2009 12:17 PM

Installing the MVVM Light Toolkit V1.1.0.0 (obsolete)
Update: This post is obsolete, and has been replaced by a newer article. Please refer to the Get Started page for details!!

Read the rest of this entry »

Posted On Wednesday, July 8, 2009 3:50 AM

New intro on my website

The time was ripe for a new intro on my website Here it is below, posted for my blog’s readers. I hope that you find it entertaining.

Read the rest of this entry »

Posted On Thursday, June 18, 2009 6:02 PM

MVVM light toolkit (Silverlight edition) posted

To make development of WPF and Silverlight applications according to the Model-View-ViewModel pattern easier, I have put together a small toolkit which should speed up the creation of such applications by automating certain tasks.

Read the rest of this entry »

Posted On Tuesday, June 16, 2009 5:17 PM

MVVM light toolkit for WPF and Silverlight

To make development of WPF and Silverlight applications according to the Model-View-ViewModel pattern easier, I have put together a small toolkit which should speed up the creation of such applications by automating certain tasks.

Read the rest of this entry »

Posted On Sunday, June 14, 2009 5:17 PM

Working on a MVVM “light” toolkit

As some of you now, I have been spending most of my free time (which is not much these days once I am done with the amazing projects I am working on at IdentityMine, and the time spent with the family) working on a very simple, very light MVVM toolkit.

This toolkit will encompass

Read the rest of this entry »

Posted On Wednesday, May 27, 2009 9:41 AM

HP Touchsmart TX2 keyboard failure (and the cure)
This morning, something weird happened on my new HP Touchsmart TX2 (a multitouch tablet PC). The keyboard just stopped working, including all the buttons around it (such as the volume up, volume mute and volume down buttons). The keys simply didn’t react anymore. Read the rest of this entry » ......

Posted On Wednesday, May 6, 2009 1:48 PM

The #techdays presentations screencasts are online (French and German)
And now the German version of the session is online too. Read the rest of this entry » ......

Posted On Wednesday, May 6, 2009 12:24 PM

Installing Windows 7 from a USB drive
Yesterday, Windows 7 RC (release candidate) was published on MSDN, so the subscribers are currently downloading it. I have been using Windows 7 since October 2008, when it was pre-released during the PDC conference. Then I moved to the beta when it was released, and have been using it as my main system since then. I almost never had to go back to Vista (which I kept installed on another partition of my main laptop, just in case). Read the rest of this entry » ......

Posted On Friday, May 1, 2009 11:20 AM

Switching expertise: From Client App Dev to Silverlight
At the last MVP summit in March, some of us were informed that a new MVP expertise had been created for Silverlight. They asked a small number of existing MVPs with strong Silverlight competency (including yours truly) if they would agree to switch to that new expertise. Read the rest of this entry » ......

Posted On Wednesday, April 29, 2009 4:25 PM

The #techdays presentations screencasts are online (French only)
Update: The German version of the presentation is online too.

I was just notified that the screencast for the session I gave at TechDays in Geneva a few weeks ago is now online.

Read the rest of this entry »

Posted On Wednesday, April 22, 2009 5:21 PM

Posting the source code for #techdays (Switzerland) talks
Update: I updated the installation instructions to make it clearer that you need the WPF toolkit and SQL Server express before you can run the application. TechDays Switzerland is always a very nice venue, and this year in Geneva and in Bern were no exceptions. For me it was a special occasion, because I gave the same talk in French in Geneva, and in German in Bern, and I had never done this before. I think it went well. Altogether approximately 450 people saw this talk. I think I will possibly reuse ......

Posted On Sunday, April 19, 2009 10:07 PM

Using a Behavior to magnify your WPF applications
At MIX 2009, the Expression Blend team cam up with a new concept called Behaviors. In fact, the only thing new is the way that the Behaviors are packed. WPF developers have been doing what we called "Attached Behaviors" for quite some time already: see this thread (dated July 2008) to read a discussion around this topic at the WPF Disciples group. Read the rest of this entry » ......

Posted On Sunday, April 5, 2009 12:32 AM

Two days FREE training: WPF LOB

Get some of that: Microsoft's Jaime Rodriguez and Karl Shifflett are on tour and will come to a number of locations to give a two days training packed with WPF training for building Line of Business (LOB) applications.

Read the rest of this entry »

Posted On Friday, April 3, 2009 10:53 AM

Solving cross domain access problems (via Jon Galloway)

At my MIX09 and TechDays Belgium talk recently, I mentioned the issues that a Silverlight developer faces when trying to access a cross-domain web site. If the site has a clientaccesspolicy.xml (or crossdomain.xml) policy file in place, the call is allowed. If not, the call is rejected.

Read the rest of this entry »

Posted On Monday, March 30, 2009 11:32 AM

A Tribute to the WPF Disciples
A very long time ago, I was contacted by Marlon Grech who asked me to join a new Google group he had just created called the WPF Disciples. I was quite new in WPF back then and didn't know many members of the community yet, and I must admit that it slipped my mind and I didn't register (when you blog, and your blog gets a certain visibility, you get all kind of requests. I do my best to satisfy most of them, but sometimes I am just too busy and I cannot follow up). Read the rest of this entry » ......

Posted On Friday, March 27, 2009 11:22 AM

Posting the source code for my #mix09 and #techdays (Belgium) talk
Note: I just updated the title for this article, sorry to all of you who were waiting for the TechDays Belgium source code and didn't realize it was here :) I just posted the source code of the demo applications I used in my MIX09 talk "Working across the client continuum". The source code is structured as follows: Read the rest of this entry » ......

Posted On Wednesday, March 25, 2009 12:06 AM

My #MIX09 session is available in video

MIX09 is over, people are slowly going back home. I will be flying home tomorrow, quite a long trip since I will reach Zurich only on Sunday morning.

Read the rest of this entry »

Posted On Saturday, March 21, 2009 8:09 AM

#MIX09 Book Signing: "Silverlight 2 Unleashed"

When: Today, Friday 20th of March 2009, 10:30 - 11:00

Where: MIX2009 Book store (in 3rd Place)

What: I will be signing my book there.

Come and bring your friends!!

Read the rest of this entry »

Posted On Friday, March 20, 2009 4:49 PM

IdentityMine releases Gesture Engine for advanced multitouch development
Multitouch is going to be the next big thing. Natural User Interfaces (NUI) are going to change the way we use client applications soon. You think it's not true? See the iPhone hype. This is not a very good phone, feature wise. It is lacking very basic features. But being able to control your phone using multiple fingers was a real killer feature. Read the rest of this entry » ......

Posted On Thursday, March 19, 2009 5:56 PM

Reminder: My talk at #MIX09
Tomorrow Thursday 19th of March 2009 Location: Delfino 4105 Working across the .NET continuum Come see how to build a continuum of client applications including HTML, AJAX, ASP.NET, Microsoft Silverlight, and Windows Presentation Foundation (WPF) that all consume the same Windows Communication Foundation (WCF) service. Learn how to reuse as much code as possible, how to optimize the development process, and how to address key logistical issues like external servers and cross domain communication. ......

Posted On Thursday, March 19, 2009 1:58 AM

#MIX09 Random Pictures

Read the rest of this entry »

Posted On Wednesday, March 18, 2009 8:18 PM

MIX09 Keynote

Great energy in the room. Bill Buxton enters and starts talking about how lucky we are to work in Experience Design.

"What do Canada and Transitions have in common? They are both dominated by the States"

Read the rest of this entry »

Posted On Wednesday, March 18, 2009 5:40 PM

#MIX09: Design fundamentals for developers (2)

Talks about Gestalt (shape), Swiss design in the 1950's, Bauhaus. Then moves on to shapes, color, contrasts. Visual language.

A page is governed by a number of visual elements.

Read the rest of this entry »

Posted On Wednesday, March 18, 2009 7:25 AM

#MIX09: Design fundamentals for developers

Speaker: Robby Ingebretsen

Read the rest of this entry »

Posted On Tuesday, March 17, 2009 6:45 PM

Me @ MIX 2009

Well here is the time of the year again where choices, hard choices must be made. Yes, this is a crucial time, one of decisions: The MIX conference is around the corner and I need to complete my schedule.

Read the rest of this entry »

Posted On Monday, March 16, 2009 9:47 PM

TechDays Belgium is over
I just held two talks in Antwerp, Belgium, for TechDays and it was really nice. First the Belgian team did a fantastic work welcoming the speakers, and as far as I could say, the attendees were also taken care of in an exemplary way. We had just a small incident (there was a power breakdown about 15 minutes before my show and the whole center went black), but noone panicked and it was taken care of with a lot of care. Read the rest of this entry » ......

Posted On Saturday, March 14, 2009 12:09 PM

Back from MVP summit and heading to Tech Days Belgium
I am just back from the MVP summit in Seattle / Redmond and I had a great time there. It was fantastic catching up with old friends and making new ones. Seeing what is coming up in future releases of Silverlight and WPF (to name just those two) was electrifying. Of course I cannot talk about it because otherwise Justin Angel and the NDA police will track me down and kick my ass. If you never met Justin before, trust me, you don't want that to happen. :) Read the rest of this entry » ......

Posted On Monday, March 9, 2009 11:10 PM

Going to Seattle (MVP summit 2009)

The March travel madness is about to begin. During this month I will be away a lot. First destination is Seattle where I will attend the MVP summit 2009. Last year was my first summit and I loved this experience. This year should be even more fun, because I met so many software enthusiasts over the past year, and many of them are going too, yay.

Read the rest of this entry »

Posted On Friday, February 27, 2009 4:41 PM

Talking at MIX09: Las Vegas and the continuum
One of my dreams is going to come true: Since the very first time I attended MIX in 2006, I have wanted to talk there. MIX has a very special meaning for me. It is in the Venetian conference rooms that I heard about Windows Presentation Foundation and what would later become Silverlight. It is there that me and my two colleagues Andreas and James decided that we wanted WPF for the project we had just started at Siemens. A decision that was definitely the right one, from a technical point of view ......

Posted On Saturday, February 21, 2009 10:33 PM

MIX10K contest: The choice is made
As I blogged before, I was one of five judges chosen to decide which of the 105 (!) entries in the MIX10K contest were the best... it was a hard, terrible choice, but now the results are public! As a reminder: The contest is organized by Microsoft at the occasion of the MIX conference that will take place in March in Las Vegas. The goal was to create a Silverlight or WPF application with only 10 kilobytes of code (about 10'000 characters of text, including spaces, carriage return, etc...) Read the ......

Posted On Thursday, February 19, 2009 7:53 AM

Simulating IsSynchronizedWithCurrentItem in Silverlight (part 2)
This is part 2 of a two posts series about the property IsSynchronizedWithCurrentItem. In the previous post, we saw what it does in Windows Presentation Foundation. In this post, we will see that this property is missing in Silverlight, and propose a way to simulate it. Read the rest of this entry » ......

Posted On Wednesday, February 18, 2009 11:21 PM

Simulating IsSynchronizedWithCurrentItem in Silverlight (part 1)
This is part 1 of a two posts series about the property IsSynchronizedWithCurrentItem. In this post, we will see what it does in Windows Presentation Foundation. In the next post, we will see that this property is missing in Silverlight, and propose a way to simulate it. Read the rest of this entry » ......

Posted On Saturday, February 14, 2009 9:39 PM

Judging the MIX10K contest

In a previous post, I was mentioning that I took part to the MIX09 10K contest. Take a moment to read all about this contest and come back to finish this post :)

Read the rest of this entry »

Posted On Monday, February 2, 2009 12:01 PM

Nice plug: Silverlight 2 Unleashed (and my girls) in TCS weekly

Thanks Adam for making my day (and my daughters') by including them in The Continuum Show weekly edition. It was so cool (and unexpected) :)

Read the rest of this entry »

Posted On Saturday, January 31, 2009 3:14 PM

One more talk: Geneva TechDays, 1st and 2nd of April 2009
Just got confirmation that I will also be talking in Geneva, Switzerland, at the TechDays 2009 (1st or 2nd of April 2009). The talk will be the same as in the TechDays in Bern, but this time it will be given in French. I never really gave a technical talk in French, so it should be interesting (I hope the material will be more interesting than me struggling with technical words in French, though, just kidding). Read the rest of this entry » ......

Posted On Tuesday, January 27, 2009 4:21 PM

Speaking at Microsoft TechDays - Belgium and Switzerland
Update: Added a talk in Geneva, Switzerland, 1st or 2nd of April 2009 I am happy to announce that I will be speaking at Microsoft TechDays in Antwerp (Belgium, 11th and 12th of March) and in Bern (Switzerland, 9th of March). Hope to see some of you there, and if you are around, please come and meet me!! Read the rest of this entry » ......

Posted On Friday, January 23, 2009 9:56 AM

Creating a random playlist with Zune and Windows Media Player
This is one of these silly things that I keep forgetting, so allow me to quickly jot it down so that I know where to look next time. The issue is: How can you fill your mobile player with a random choice of music, when it is too small to fit all your collection. In my case, I use my new Nokia E71 phone as an occasional player for music. It is nice because it has integrated Bluetooth, and I have a Bluetooth stereo headset, so you can leave the phone in your pocket and listen wirelessly. In addition, ......

Posted On Thursday, January 15, 2009 1:56 PM

Windows 7 beta 1 install experience
I've been an avid user of Windows 7 pre beta ever since we got a build at the PDC conference in Los Angeles in October 2008. I installed it in dual boot on my work laptop, as explained here. There were a few minor kinks that forced me to keep Vista on this machine. The most annoying was that it was impossible to debug Silverlight on that build. Well, happy to report that this annoying bug is gone now, and I can develop and debug Silverlight on Windows 7 now. Let's see other problems and what happened ......

Posted On Saturday, January 10, 2009 1:16 PM

My MIX 10K entry

A few days ago I decided to enter the MIX 10K competition.

Read the rest of this entry »

Posted On Tuesday, January 6, 2009 9:06 AM

Geocoding pictures automatically with Nokia E71 and gpicsync
Update: Since then I found a much better tool to geocode pictures and edit other information encoded directly within the picture: Microsoft Pro Photo Tools. I wrote a new blog post about this tool. Read the rest of this entry » ......

Posted On Friday, January 2, 2009 10:28 PM

MVP award 2009 in Client Application Development
I am humbled and honored to be awarded a Most Valuable Professional award by Microsoft for 2009. This will be my 3rd year as a MVP. I got my first award in 2007 for ASP.NET, and then due to my increased activities in the fields of Windows Presentation Foundation and Silverlight, in 2008 and now 2009 in Client Application Development. This expertise gathers specialists of these two disciplines and provides a fantastic way to exchange and discuss amongst professionals. Read the rest of this entry » ......

Posted On Thursday, January 1, 2009 10:02 PM

New Year's Greetings and Silverlight Greeting Card
Happy New Year to all. 2008 has been an amazing year, with many changes in my professional life (joining IdentityMine, publishing my first book Silverlight 2 Unleashed, etc...). It was a real pleasure to be in company of some of the brightest minds on this planet and to do my best to not seem to ridiculous next to them :) Privately, the highlight of this year has been our trip to Asia (Malaysia, Hong Kong) which will remain in our minds forever. Read the rest of this entry » ......

Posted On Wednesday, December 31, 2008 4:51 PM

Microsoft Expression Studio available at 50%

Just heard through Chris Koenig that Microsoft Expression Studio is available for a limited time at 50% of the original price.

Read the rest of this entry »

Posted On Saturday, December 20, 2008 11:37 AM

Weird color effect with Windows 7 and LiveMesh

I’ve been testing Windows 7 in real life conditions for the past few weeks, and am happy to report that I didn’t need to fall back to Vista at all so far. There are a couple of very small details that bug me a little, but I am not even sure if they’re related to Win7, so I just live with them for the moment.

Read the rest of this entry »

Posted On Tuesday, December 16, 2008 11:56 PM

One week at IdentityMine

Today is the end of my very first week at IdentityMine. Let me just say that it was really great. In the same week I worked on a proposal for a client (maybe our very first project in the new European IdentityMine, crossing fingers) and prepared a presentation for next week.

Read the rest of this entry »

Posted On Sunday, December 7, 2008 9:00 PM

Silverlight on Windows Update (Windows 7)

Still busy setting up my Windows 7 partition. Just noticed that Silverlight was pushed to it through Windows Update. Cool.

Read the rest of this entry »

Posted On Sunday, November 30, 2008 12:56 PM

Setting my laptop in dual boot with Windows 7
At the last Professional Developer Conference in Los Angeles, the attendees were given a pre-beta version of Windows 7, Vista's successor operating system. I installed it on a virtual machine and was very impressed by the performance of Windows 7. Since I just got my new laptop (Alienware m15x) and have been installing stuff anyway, I thought I would give it a try and install Win7 in dual boot on this machine. This is the report of the experiene. Read the rest of this entry » ......

Posted On Thursday, November 27, 2008 11:19 PM

It's podcast season: Herding code
Apparently it's podcast season... When in Los Angeles, Jon Galloway and I managed to sit down an hour and talk about Silverlight, WPF, Blend, my past work at Siemens and my future work at IdentityMine, and of course about my book Silverlight 2 Unleashed. I was kind of sad that Kevin Dente and Scott Koon didn't manage to join us, but the conference was so packed with events that we found time only on the very last day (Thursday) and the two had to go back home already. Still, it was nice to meet the ......

Posted On Sunday, November 16, 2008 1:03 PM

Podcast about RIA and especially Silverlight

Very cool! A podcast I made with Josh Holmes and Mike Labriola a little before PDC is up now on the RIA wireside chat site.

Read the rest of this entry »

Posted On Thursday, November 13, 2008 8:48 PM

New design for GalaSoft website
It's with great pleasure that I am publishing the new and improved GalaSoft website today. After updating my blog's look and feel to a much better and more modern them, it's now my website's turn. is the place on the web where I post articles and resources in relationship with my work. Historically, it has been my main "home" on the web. Nowadays, things changed and my blog is really where people discover me first. Nonetheless, I want the site to be a great complement to the blog. ......

Posted On Friday, November 7, 2008 11:16 PM

#PDC08 talk: WPF pixel shaders and WPF graphics future
David Teitlebaum. Why move to a new effect system? Old effect system: BitmapEffects. Talks about what was done with BitmapEffects to render to the screen. Doesn't play well with remoting, because too slow to render on target machine, go back to display machine, etc... Shows the old syntax for BitmapEffect. Software rendered, very slow, especially blur operations (such a glow, drop shadow, etc...) Actions: In SP1, they are marked as obsolete. Implemented HW acceleration for BlurBitmapEffect and DropShadowBitmapEffect ......

Posted On Thursday, October 30, 2008 10:50 PM

#PDC08 talk: Microsoft .NET, CLR Futures

Joshua Goodman

Joshua recaps the history and structure of .NET. Then talks about the difficulty to keep code compatible. Sometimes, making code faster creates bugs, because the previous slowness was enabling scenarios that speed doesn't. Of course the CLR gets blamed even though it's not their fault!

Read the rest of this entry »

Posted On Thursday, October 30, 2008 7:05 PM

#PDC08 talk: .NET 4.0 Declarative programming using XAML

3 XAML vocabularies: UI, Workflow, XPS.

Used in mutliple runtimes: .NET 3,0, 3.5, Silverlight 1 and 2.

Many tools too (Visual Studio, Expression Blend).

Read the rest of this entry »

Posted On Thursday, October 30, 2008 5:40 PM

Book signing: Silverlight 2 Unleashed at #PDC08

I will be doing an additional book signing today.

Read the rest of this entry »

Posted On Wednesday, October 29, 2008 4:48 PM

New Silverlight controls suite delivered by Microsoft #PDC08
A few minutes ago, Microsoft released a brand new suite of controls for Silverlight. The list is impressive! From now on, you can download these controls, the documentation and samples, and start coding! This post will give you a first insight into these controls based on a preview version of the set. This should make you want to experiment more and to discover more by yourself! Read the rest of this entry » ......

Posted On Tuesday, October 28, 2008 7:07 PM

#PDC08 keynote (day 2, part 4)

Note: The Wireless network at the keynote failed miserably, so this will be posted with a delay.

Presentation of Windows Live Services. Windows Live ID is now an Open ID.

Read the rest of this entry »

Posted On Tuesday, October 28, 2008 6:48 PM

#PDC08 keynote (day 2, part 3)

Note: The Wireless network at the keynote failed miserably, so this will be posted with a delay.

Scott Guthrie about tools and app development

 New APIs for multitouch and other Windows 7 API.

Note: Lots of attention put in Win32 development with C++.

Read the rest of this entry »

Posted On Tuesday, October 28, 2008 6:27 PM

#PDC08 keynote (day 2, part 2)

Note: The Wireless network at the keynote failed miserably, so this will be posted with a delay.

Bringing together software + services

Presents Windows Live Essentials and Windows Live Services. Using Windows Live Services is optional, so you can use your own services (pop for example) instead.

Read the rest of this entry »

Posted On Tuesday, October 28, 2008 5:47 PM

#PDC08 Talk: Microsoft Silverlight, WPF and the Microsoft .NET Framework: Sharing Skills and Code

High level goals: building rich apps with same people, same skills, same workflow and common code.

Shows how to decide when to use Silverlight and when WPF.

Read the rest of this entry »

Posted On Tuesday, October 28, 2008 12:20 AM

#PDC08 Talk: Developing for Microsoft Surface
After CLI (Command Line Interface) and GUI, Surface is a NUI (Natural User Interface). Challenges: Multi-user. Multi-Touch. Direct Interaction. Object Recognition. Presenting existing applications developed for Surface: ATT with an application allowing to visualize the coverage for a mobile. Bars such as Harrah with applications for social interaction. Sheraton has Surfaces in the lobby to encourage people to interact. Read the rest of this entry » ......

Posted On Monday, October 27, 2008 10:56 PM

#PDC08 keynote (day 1, part 2)
Note: The Wireless network at the keynote failed miserably, so this will be posted with a delay. Next speaker talks about customer challenges: Stay up to date, lower predictable costs including IT resources, High security and availability. That's why software should be distributed as services "Microsoft Online Services". It is just a beginning, and in the future all of the enterprise software will be optionally distributed as an online service. Read the rest of this entry » ......

Posted On Monday, October 27, 2008 8:31 PM

#PDC08 keynote (day 1, part 1)

Note: The Wireless network at the keynote failed miserably, so this will be posted with a delay.

Ray Ozzie talks about the future of software and Microsoft's take on new software foundations. Mobile platforms increasling important. New software and activation codes for new services will be made available.

Read the rest of this entry »

Posted On Monday, October 27, 2008 6:03 PM

#PDC08 pre conference: WPF Code and Concepts by Charles Petzold
According to Charles Petzold, WPF is the main platform for Windows programming nowadays. The only reason why one might still want to program WinForms is if you want the app to run on a maximum of machines. Read the rest of this entry » ......

Posted On Sunday, October 26, 2008 10:56 PM

Blogging and twittering at #PDC08
PDC is starting today (well, the pre-conference is, and the conference starts tomorrow) and I reached Los Angeles last night. The trip went well, even though we started (and arrived) one hour later than planned. Yesterday I joined Mike Brown and Bill Reiss for dinner, and then called it a night. Read the rest of this entry » ......

Posted On Sunday, October 26, 2008 2:48 PM

My schedule at #PDC08
Difficult task: Choosing the sessions I am interested in for PDC08... Difficult because there are really many session that are very attractive to me, and also because I need to include side activities and meetings with members of the WPF and Silverlight community.

Read the rest of this entry »

Posted On Friday, October 24, 2008 8:08 PM

Silverlight 2 Unleashed in Stock at
Things are going really fast in the moment. My book just hit, and it went from "pre-order" to "in stock" a few minutes ago.

Read the rest of this entry »

Posted On Thursday, October 23, 2008 3:45 PM

Silverlight 2 Unleashed Online Content

There is a lot of online content available for Silverlight 2 Unleashed!

Read the rest of this entry »

Posted On Thursday, October 23, 2008 11:31 AM

Silverlight 2 Unleashed hard copy - Two thumbs up!

Apparently I received my first hard copy of Silverlight 2 Unleashed at home! Because I am in the office, I can't see it yet, but according to my daughters, it's two thumbs up!!

Read the rest of this entry »

Posted On Wednesday, October 22, 2008 1:40 PM

Redesigning my website with the help of Expression Blend
I decided to completely redesign my website (yes, it's about time, I know). For this process, I decided to inspire myself (loosely) from my good friend Robby Ingebretsen's site, which is both simple and beautiful. Read the rest of this entry » ......

Posted On Sunday, October 19, 2008 9:53 PM

Imagine, Silverlight 2...

Imagine if you could have taken part to the development of the first version of Adobe Flash, and helped to make it a better product. Imagine that for the Mosaic web browser. Or the development of HTML and the web...

Read the rest of this entry »

Posted On Monday, October 13, 2008 8:57 PM

Converting and customizing XAML to PNG with server-side WPF

One Tweet by Oliver Sturm ( the other day got me to thinking. He was asking about the possibility to host graphics for a web site in XAML format, and the best way to render it.

Read the rest of this entry »

Posted On Friday, October 10, 2008 12:48 AM

Various pieces of news

Now that the book is finished writing, reality is catching up with me and I am finally able to work on the backlog of ideas and projects that has accumulated in the last months. Time to give an update of stuff I do or will do soon.

Read the rest of this entry »

Posted On Tuesday, September 30, 2008 9:30 PM

Microsoft to add jQuery in Visual Studio: Why I think it's great
The news took the community by surprise and the reactions are overwhelmingly positive: Microsoft is going to ship jQuery with the ASP.NET MVC framework (very soon) and with Visual Studio (in a near future). For more details, ScottGu and Scott Hanselman are talking about that in a very complete way. Read the rest of this entry » ......

Posted On Monday, September 29, 2008 12:44 AM

Silverlight 2 Release Candidate 0 *for developers only*
So many people blogged about it already (time difference, and fun dinner last night, so I am late :) that I prefer to just point the reader to the best possible source of information: Scott Guthrie's blog. Read the rest of this entry » ......

Posted On Friday, September 26, 2008 4:14 PM

Silverlight 2 Unleashed: Table of Content
I am currently attending a workshop for Siemens in Chicago's suburb, and also staying for the weekend. In fact it feels pretty weird because for the first time since a year, I don't feel the pressure of "must write" on my shoulders, and I can actually spend some time thinking of something else than Silverlight 2 Unleashed... Which is why I am now writing a book about Silverlight 2 Unleashed (available on pre-order at Amazon and to be published really soon :) Read the rest of this entry » ......

Posted On Sunday, September 14, 2008 4:38 PM

Sams Silverlight 2 Unleashed (was: Teach Yourself Silverlight in 24 Hours)
My editor at Sams (hey Neil :)) and I decided to convert the book I am almost done writing into an Unleashed. There are multiple reasons for that, the most important being that the book addresses multiple audiences, and has a broad range of coverage, which is typical of the Unleashed series. The content goes enough in depth (according to Neil) to be placed in the Unleashed series. Read the rest of this entry » ......

Posted On Monday, September 1, 2008 10:20 PM

Preorder my Silverlight book on Amazon

Wow. That's an incredible feeling, seeing my name on Amazon :) The book is in pre-order!! I'd better get back to editing it then :)

Read the rest of this entry »

Posted On Tuesday, August 26, 2008 12:24 AM

Sams Teach Yourself Silverlight in 24 Hours, Table of Contents
I've been working since September 2007 (more or less) on an upcoming Silverlight book titled "Teach Yourself Silverlight in 24 Hours" at Sams. This book will be aimed at beginners with the technology (and maybe even beginners in programming). The reader is walked (with a lot of code samples and step-by-step examples) through most features of this amazing technology. The book has 24 chapters, each of them taking more or less (maybe rather a little more than a little less, to be honest :)) one hour ......

Posted On Thursday, August 21, 2008 3:38 PM

Joining IdentityMine (and leaving Siemens)
These last months have been amongst the most intensive I have ever been in my life. Since my last blog post, I have been extremely busy finishing writing my Silverlight book and starting the editing work. It is well underway, and we will publish later this year. It is a very exciting time for me to see that book shaping up after almost a year of work on it. Yes I will be happy to see the finished, paper-printed work!! Read the rest of this entry » ......

Posted On Wednesday, August 20, 2008 2:08 PM

Silverlight 2 beta 2 is live!

Here we go, Silverlight 2 beta 2 can be downloaded and installed! I had the chance to take part to an "insiders" program at Microsoft, and to play with SL2 b2 for a couple of weeks, and it's a good one. You should switch to b2 as soon as you can!

Read the rest of this entry »

Posted On Saturday, June 7, 2008 8:23 AM

Microsoft, you're kidding me, right??

You got to be kidding me. What if I want Expression in the US locale, I can't buy it just because my IP is not in the US? Honestly? You are *that* stupid?

Read the rest of this entry »

Posted On Thursday, June 5, 2008 7:48 PM

A short break
I am going to take a short break of blogging for a couple of months. The reason is simple: I have been working on a book about Silverlight 2 since September last year, and we are in a phase now where I need to concentrate on that exclusively, and put other activities aside. I might post the occasional article from time to time, but until mid-Summer, it's going to be write write write. Read the rest of this entry » ......

Posted On Saturday, May 31, 2008 1:34 PM

My talk at the "Internet Briefing RIA conference" in Zurich

I just posted today's talk at the RIA conference in the World Trade Center, Zurich. Unfortunately it was not recorded, but the slides and the demos' source code is available on my site.

Read the rest of this entry »

Posted On Thursday, May 29, 2008 11:11 PM

TweetMyPage V0.2 - Now with "from TweetMyPage" indicator
As soon as I had my info page online, I asked Twitter to accept TweetMyPage as a Twitter application, and to mark the messages posted with TweetMyPage with "from TweetMyPage". Note for developers: There is a form to fill on the Twitter API page. It's really fast, and one day later I got the answer that it was accepted. Read the rest of this entry » ......

Posted On Thursday, May 29, 2008 11:00 AM

GalaSoft "TweetMyPage" released for tests

GalaSoft "TweetMyPage" is a web application allowing you to post to Twitter what you're currently reading in your web browser, on a simple button click.

Read the rest of this entry »

Posted On Wednesday, May 28, 2008 9:54 PM

WPF talk this Thursday: "Ultra Rich Interactive Applications"
I have been in very much stress lately and hardly had time to post, but I don't forget you, dear readers... Anyway, this Thursday, I will be talking in a RIA conference organized by the Internet Briefing group here in Zurich, in the World Trade Center. My talk is titled "Ultra Rich Interactive Applications with WPF" and subtitled "When Silverlight is not enough...". I think it's going to be an interesting talk (but obviously I am partial) about the major differences between WPF and Silverlight, and ......

Posted On Tuesday, May 27, 2008 2:47 PM

WPF: ListView/GridView minimum and maximum width for a column
A WPF ListView is a possible replacement for a datagrid, when it doesn't have to support advanced features like grouping or filtering of rows. If you use a ListView in your WPF application, and set the "View" property of this ListView to be a GridView. A ListView/GridView even supports features like reordering and resizing columns. Unfortunately, it is not possible to define a minimum or maximum width for the columns. Fortunately, it is not really to do this in the code behind. Let's see how. First ......

Posted On Tuesday, May 6, 2008 7:05 PM

I am now a Microsoft Certified Professional
What a crazy week that is. I am currently in Seattle for the Microsoft Most Valuable Professional summit, which ended yesterday. I took an additional day in Seattle to meet a few friends and Siemens colleagues, and this morning got an email notifying me that I passed the MCTS exam about WPF that I took back then in December. Because the exam was in beta stage when I took it, Microsoft needed a veeeeeeeery long time to evaluate the replies and check if I met the requirement. Apparently, they also ......

Posted On Saturday, April 19, 2008 3:29 AM

Silverlight: Packing user controls in separate assemblies
This article is for Silverlight 2 beta 1 There is a common misconception that User Controls in Silverlight must be placed in the assembly from which they are referenced. However, this is not true, you can have user controls in an assembly and use them from another assembly. This is not a direct process, however, so let's see how to proceed: Preparing the control Create a new Silverlight 2 application in Visual Studio. In this example, we'll name this application "UserControlsPacking". For this first ......

Posted On Wednesday, April 16, 2008 2:49 PM

Silverlight Bug: Transforms and OpacityMask
Introduction In WPF, one of the best know effects is the "reflection" effect, where a scene reflects itself dynamically. It's a very cool feature, because it's really easy to realize, and it allows to reflect images, but also videos or other User Interface scenes. The key to this is to use a VisualBrush. Silverlight is not exactly as powerful as WPF, and doesn't have VisualBrush, but it has ImageBrush and VideoBrush, both of them allowing cool media reflection effects (these brushes can also be used ......

Posted On Friday, April 4, 2008 4:00 PM

Community Credit 6th prize
I am humbled and also wondering. Humbled because I learned that I got the 6th prize in March Community Credit. Wondering, because I was at MIX in March, and blogged a lot (by my standards) and I am only 6th :) I will never get first prize I guess! Thanks David Silverlight!! Can't wait to receive my Digital Dog! Read the rest of this entry » ......

Posted On Wednesday, April 2, 2008 11:43 PM

Silverlight 2 beta 1: ScrollViewer with auto-layout crashes both IE and FF
Update 2: The Silverlight team at Microsoft was able to reproduce the bug, and it has been entered in the bug database. Thanks all for your precious help!! Update: Apparently this bug is not consistently reproducible. If you get the bug, please enter a comment with your system information. I was able to reproduce on a number of machines and OS, but on some other PCs it works just fine. Read the rest of this entry » ......

Posted On Monday, March 31, 2008 10:58 PM

TechDays 2008: Slides and Code of my presentation available online

The slides and demo source code of my presentation at TechDays last week are available online.

Read the rest of this entry »

Posted On Thursday, March 27, 2008 8:46 PM

Silverlight: User Controls with events
This article is for Silverlight 2 beta 1 Update: Corrado Cavalli translated the example in VB.NET. Thanks Corrado!! Apparently, one reader had issues declaring events for the User Control example that I posted earlier this week. He is programming in VB and unfortunately I don't have a lot of experience with VB.NET, so I first created a working example with C#, and my good friend and fellow MVP Corrado Cavalli translated the example in VB.NET (see below). The big difference between WPF and Silverlight ......

Posted On Saturday, April 26, 2008 9:59 PM

Silverlight: Running standalone full trust applications
Introduction I guess that it's time to write about it, after making a few people curious at the MVP summit in Seattle. This article is to be taken as a proof of concept, and (I hope) as a way to "motivate" Microsoft to integrate this ability into Silverlight. As soon as I started playing with Silverlight, I saw the great potential that this technology has. As a RIA technology, it provides extended functionality over the web. As a WPF subset, it allows me to leverage the knowledge I already acquired ......

Posted On Thursday, April 24, 2008 2:09 PM

#mvp08: Day 1 and 2 are over, more to come
Today was day 2 of the Global MVP Summit. We spent it in Redmond, on the Microsoft Campus. For my part I spent the whole day in the RIA (pronounced "reee-ya") track, focussed on Silverlight (mostly) and WPF (a little). I won't say much about it for two reasons: Either the code we saw was very similar to the one shown in Vegas one month ago, or I don't have the right to talk about it because of NDA Generally speaking, it's safe to say that really great things are going to be built on top of Silverlight. ......

Posted On Wednesday, April 16, 2008 9:06 AM

#mvp08: Arrival at Global MVP Summit
Day 0 Oh man what a trip. First I left home at 6:30AM, which on a Sunday (and my birthday) is pretty more a crime against humanity. Additionally, I was woken up a few times during the night: Twice by my elder daughter who came to check if my bags were still there, because she was afraid to miss me to wish me happy birthday in the morning (she opened her door at 2:30AM and 4:30AM, both times waking me up of course :) Read the rest of this entry » ......

Posted On Monday, April 14, 2008 3:01 PM

#mvp08: On my way to Seattle for the MVP Summit
It's my second year as Microsoft MVP but I didn't attend the global MVP summit last year, so I am really excited to attend this year. I am currently on my way to Seattle (via Frankfurt), and will spend next week there getting loads and loads of information about the newest trends and technologies from Microsoft. Like any conference, the summit is also (and before all) a way to network, meet new friends that I know from their blogs or Twitter or any other e-medium, and meet again with friends from ......

Posted On Sunday, April 13, 2008 8:35 AM

De WPF Integratio (About WPF Integration)
Introduction I've been posting a lot about Silverlight lately, but hey, here is a WPF post, and about WPF integration, no less. Note: To fully understand this article, you should have a basic understanding of WPF, styles and templates, triggers, etc... Read the rest of this entry » ......

Posted On Friday, April 11, 2008 10:38 PM

Silverlight unit testing and JavaScript
I am currently writing a Silverlight class library which I want to use in a project, and decided to try Test Driven Development for this class. This is a really nice way to work, and the Silverlight development team made this very easy by providing a unit test framework easy to integrate into Visual Studio 2008. Read the rest of this entry » ......

Posted On Saturday, April 5, 2008 5:49 PM

Silverlight: The Power of Skinning by Corrina Barber

The slides and demo source code of my presentation at TechDays last week are available online.

Read the rest of this entry »

Posted On Monday, March 24, 2008 12:35 PM

Silverlight: Downloading Zipped files with the WebClient
In the "old" alpha edition of Silverlight, you could use the Downloader class to download a zip file containing one or many packed media elements (images, videos). The Downloader provided a progress report (to update a progress bar, for example). After the download was completed, you could use the Image.SetSource or MediaElement.SetSource method to directly unpack one file from the downloaded zip file. Read the rest of this entry » ......

Posted On Monday, March 24, 2008 12:25 AM

TechDays 08: Talked about WPF and now back home
The Swiss edition of the TechDays 2008 is over. It was a great success,many people came, and as far as I can say, people had a good time. I didn't attend any sessions though, because I hung out in the main area instead and met a number of people (some of them I knew from MIX or other occasions), and talked talked talked. Yesterday evening, there was a party, I didn't stay too late though because I wanted to be well rested for my talk this morning. Read the rest of this entry » ......

Posted On Thursday, March 20, 2008 11:02 PM

Silverlight: Don't forget to add the XAP extension!
Silverlight 2 now packs all the files needed to run the application in a XAP file (which is essentially a ZIP file). Think of the XAP file a little as the JAR files of Java applets. Because these files must be served by the web server in the correct way, it is necessary to pay attention to this extension (we had exactly the same problem when XBAPs were introduced, or for serving "pure XAML files". Read the rest of this entry » ......

Posted On Friday, March 14, 2008 10:18 PM

TechDays 08: My talk next Thursday in Basel, Switzerland
Next week, on Wednesday the 19th and Thursday the 20th of March, the TechDays Switzerland will take place in the St. Jakobshalle in Basel. Apprently, it's sold out and they expect around 2300 people in 5 parallel tracks. Now that's kind of making me nervous, because I will be presenting a session on Thursday the 20th at 9AM!. I Read the rest of this entry » ......

Posted On Wednesday, March 12, 2008 7:44 AM

#MIX08: Wrap-up post
MIX08 is over, and I am home with what one could call the "post-MIX" mood. It's a mix (pun intended, haha) of various feelings Obviously I am extatic to be with my family again, even more so because I was away for almost two weeks, which I usually try to avoid. It's just so good to be with them again. I wish I could take them with me every time I am abroad. Read the rest of this entry » ......

Posted On Sunday, March 9, 2008 9:16 PM

#Mix08 Session: What's New in Windows Presentation Foundation 3.5
Check for updates Some parts of the demos are not available yet in the current build - wait for the next beta Compatibility with Silverlight is important Same tools, designers, code, markup... This summer, .NET framework 3.5 service release Read the rest of this entry » ......

Posted On Friday, March 7, 2008 8:51 AM

#Mix08 Session: Nerd + Art: Ten Code Snippets to Empower Your Inner Artist
Robbie Ingebretsen: "This is a creative experiment" "We didn't always look into best practices" Talks about the Integrator role. Nathan Dunlap: "Designers should probably use Visual Studio more" "It's a great tool to dive into the code,check the SDK..." Read the rest of this entry » ......

Posted On Friday, March 7, 2008 7:12 AM

#Mix08 session: Overview of Expression Encoder 2
Expression Encoder 2 is now a standalone product, not part of Expression Media like before. Download it from the Microsoft Expression 2 website. Live encoding, events, etc... Smart recompression, for example if you just edit some of the video, only the cut will be recompressed. Read the rest of this entry » ......

Posted On Friday, March 7, 2008 5:37 AM

#Mix08 evenings are pretty cool
So last night was the last evening for many (but not for me since I am flying only tomorrow, ha ha), and there was a number of dinners and parties going on. I was lucky to be invited to a great dinner at Zeffirino's thrown by IdentityMine. These dinners are always wonderful occasions to meet and talk to the big players in the field of WPF and Silverlight, designers and developers mixed. Yesterday was not an exception to that rule, with Scott Guthrie, Miguel Icaza (of Moonlight and Mono), Grant Hinkson ......

Posted On Friday, March 7, 2008 4:05 AM

#MIX08 Session: Touch Me: Where Are Interfaces Going?
  • Cynergy.Labs, cool concept of "no touch gesture", with a "pinch" gesture to manipulate objects
  • Challenges with Touch-based interfaces
  • It's ambiguous. You're never sure where the next "touch" is going to be.

Read the rest of this entry »

Posted On Thursday, March 6, 2008 11:20 AM

MIX08: Keynote with Steve Ballmer and Guy Kawasaki

Read the rest of this entry »

Posted On Thursday, March 6, 2008 9:08 AM

#MIX08 Session: Creating Rich, Dynamic User Interfaces with Silverlight 2

Karen Corby

NB: Code will be posted on Karen's blog

Read the rest of this entry »

Posted On Thursday, March 6, 2008 7:16 AM

MIX08: Bug in the Session matrix viewer

Oh my god, huge bug in the MIX08 session matrix viewer. Shows that localization is really not as straightforward as some may think :)

Read the rest of this entry »

Posted On Thursday, March 6, 2008 6:10 AM

MIX08 session: Real World Design: Working with Silverlight and WPF in the Design Studio
Q: Who owns the XAML? A: Noone does, it's a tool between the designers and developers. Personal note: In my opinion, there are multiple types of XAML: Functional XAML, owned by the developer. Look&Feel XAML, owned by the designer. Also, we have a UI custodian role, a mediator between product owners and development teams. He owns the UI. Read the rest of this entry » ......

Posted On Thursday, March 6, 2008 5:41 AM

Silverlight: Installation Tips for Silverlight Tools Beta 1 for Visual Studio 2008 Read the rest of this entry » ......

Posted On Thursday, March 6, 2008 5:40 AM

Silverlight: No more synchronous web request...

Apparently, one big thing was removed from Silverlight between Alpha and the current Beta 1: It's not possible to make synchronous web requests anymore.

Read the rest of this entry »

Posted On Thursday, March 6, 2008 4:58 AM

Silverlight: Downloading the Beta 1 bits

Read the rest of this entry »

Posted On Thursday, March 6, 2008 4:49 AM

MIX08: Day 1 is over (well, except for the party at Tao)
So, day 1 is over. I met so many people and had so many great talks that I am, again, really happy to be there. Quite tired too, though, so I need a shower and then it's out for dinner. Tonight also features a party at Tao, a club into the Venetian. Another great occasion to network, I just hope the music won't be too loud (am I getting old or what) because when I am tired and its loud, it's harder to understand the English language :) but I am sure I will be fine. Read the rest of this entry » ......

Posted On Wednesday, March 5, 2008 2:23 PM

MIX08: Building Rich Internet Applications Using Microsoft Silverlight 2, Part 2

NB: All the demos from the talk are on Mike Harsh's blog.

Read the rest of this entry »

Posted On Wednesday, March 5, 2008 1:33 PM

MIX08: Building Rich Internet Applications Using Microsoft Silverlight 2, Part 1

Joe Stegman, Mike Harsh

  • V2 Beta1 today
  • V2 Beta2 (go live) in Q208
  • No date for final release yet

Read the rest of this entry »

Posted On Wednesday, March 5, 2008 12:02 PM

MIX08: Working with Data and Web Services in Microsoft Silverlight 2

Pretty full room. Sorry VERY full room. Glad I cam not too late, even managed to find a plug for my laptop.

Read the rest of this entry »

Posted On Wednesday, March 5, 2008 10:36 AM

MIX08: Keynote
So here we are, the breakfast was had, and now we're getting ready to listen to MIX08's keynote. I will do my best to post new information as we receive it. To make sure that you don't miss anything, check this page: That's an interesting project: It scans through all the twitter feeds carrying the tag "#mix08" and aggregates them. Many tweeters here are using this setting, so it's a good way to keep track of what's happening in real time. I just regret that there is ......

Posted On Wednesday, March 5, 2008 5:25 AM

Silverlight: Running on Nokia mobile phones

Published today in Yahoo News, the news that was announced earlier that Nokia phones will run Silverlight mobile. Great news indeed, even if the details are not known yet.

Read the rest of this entry »

Posted On Tuesday, March 4, 2008 3:04 PM

MIX08: Random pieces of news
  • Expression Studio V2 is coming this April.
  • It will include V2 of Expression Design!!! (Yes, finally)
  • Expression Design V2 allows selecting a "slice" of your design and export it to XAML directly. Seems that the export process improved a lot. Not sure about roundtrip export-import though.

Read the rest of this entry »

Posted On Tuesday, March 4, 2008 5:46 AM

MIX: It's starting
For those of you who read this blog from Nebula IV and are not aware of it yet, MIX is starting this week. Today is the pre-conference event, Together@MIX.This morning is packed with sessions, and this afternoon we will take part to some "fun" events. For my part, I am going to take part to a horse ride in the desert, that will be fun for sure. Read the rest of this entry » ......

Posted On Tuesday, March 4, 2008 5:45 AM

Silverlight: Passing null values or empty strings (revisited)

(wrote this in the plane from JFK to Las Vegas)

In a previous post, I mentioned that it's not possible to pass empty strings from JavaScript to a Silverlight application. It seems that it was not correct, or at least not complete:

Read the rest of this entry »

Posted On Monday, March 3, 2008 2:15 PM

MIX: Building the schedule
I am in Princeton NJ for the weekend, after spending a few days with our graphics designers, working on our WPF application. It was very nice again, and I love the new design we have. I miss my family, but determined to make the best of this trip and to take life positively as usual. I plan to drive down to Philadelphia tomorrow for a short visit (I have been in Philly once before, in 2001). Read the rest of this entry » ......

Posted On Saturday, March 1, 2008 4:02 AM

MIX: Session builder missing?

Update: The session builder was made availableone day after I published this. It's available for registered user in the "sessions" area of the MIX website.

Read the rest of this entry »

Posted On Wednesday, February 20, 2008 1:33 AM

Silverlight 2.0: Passing empty strings from JavaScript to .NET is not possible
Update: Check this post Apparently, it is not possible to pass empty strings from JavaScript to .NET. Even worse, if the .NET method has two string parameters, and one of them only is an empty string, the .NET method will not be called. This is fairly easy to demonstrate: Read the rest of this entry » ......

Posted On Tuesday, February 19, 2008 9:51 AM

Back home and a couple of news

We're back home after an amazing week of ski and sun. It was really great. I also worked well on my private project, really happy about the way it went.

I also have a couple of news that I haven't posted about yet. So here it is:

Read the rest of this entry »

Posted On Sunday, February 17, 2008 8:50 AM

Silverlight: Debugging in HTTP from Visual Studio (also the Downloader!)

I had been looking for this for quite some time, and I finally found the answer (number 14 on Google with keywords "silverlight downloader debug"). Number 14 is really too low (that's on page 2, for Pete's sake). Hopefully this entry will be found more easily.

Read the rest of this entry »

Posted On Sunday, February 3, 2008 2:20 AM

Microsoft@Siemens conference
I've been taking part to a conference in Erlangen in collaboration with Microsoft. It was a very interesting event, an occasion to meet people from Microsoft Germany, and to continue the collaboration started long ago. I was asked to make a presentation about WPF, and I chose to show how we use WPF in the project I work on, and also to add a few words about the social implications of introducing WPF in a traditional, industry oriented firm like Siemens. "Social implication" is a strong word, but ......

Posted On Wednesday, January 30, 2008 8:52 PM

Something for the MVPs out there

Just in case you didn't find it out by yourself:

Read the rest of this entry »

Posted On Tuesday, January 22, 2008 8:19 AM

Parlez-vous Facebook? Looking for translators.

Facebook is looking for french speaking persons willing to help translating the site. I really don't have time for that, so if you speak french and have free time to spare, you should probably register. Looks like they really need it sorely (see below) :)

Read the rest of this entry »

Posted On Thursday, January 17, 2008 11:56 PM

Silverlight: When should you use RegisterScriptableObject?
One of the most exciting features of Silverlight 2.0 is its ability to let .NET and JavaScript communicate in a very direct way. JavaScript objects can call .NET methods directly, and register for .NET events. On the .NET part, this needs a little preparation. There are two steps that you need to perform to enable JavaScript --> .NET communication: Read the rest of this entry » ......

Posted On Thursday, January 17, 2008 7:51 AM

Software development as a fine art
Joel Spolsky of "Joel on Software" has a nice article about Undergraduate programming. I especially like this: Software development is an art. I have been thinking a lot about software development in the last few years, and came to that realization as well. The soft factors in software development are so strong that it is at least as much an art than a science. Software needs creativity. Software needs design. Software needs esthetics. Software needs beauty. Read the rest of this entry » ......

Posted On Monday, January 14, 2008 8:59 AM

Meet me at MIX

I just got the confirmation that I will attend MIX. That's great news, after MIX06 and MIX07, I cannot wait to be there again. This conference is simply amazing. I am really looking forward to meeting all the amazing people of the WPF and Silverlight community, and I hope I will meet a lot of new ones.

Read the rest of this entry »

Posted On Monday, January 7, 2008 10:32 AM

KaXaml V1.0 released
I hardly believe that anyone reading this blog doesn't know Robby Ingebretsen's work, but just in case, he has great news: KaXaml 1.0 is released!! More information about this great tool here. Also included: XSD-based Intellisense support (like in VS2005) and basic Silverlight XAML support! Read the rest of this entry » ......

Posted On Thursday, January 3, 2008 8:23 AM

MVP, take two / Silvelight greeting card
Just got the good news: I am a MVP for one more year :-) My first MVP award last year was for ASP.NET, but due to my new tasks in the field of WPF and Silverlight, I've been awarded one for Client Application Development this year. I think it makes sense, since my activities are really focused on the client (not just the UI, but mainly), and this is also what I have been blogging and speaking about last year. Read the rest of this entry » ......

Posted On Tuesday, January 1, 2008 6:25 AM

Silverlight 2.0: Project template for self-resizing applications (update)
An observant reader gave me a better way to automatically resize a Silverlight application. The way I published in my last post was inspired from Silverlight 1.0, where JavaScript is obviously needed to do the job. However, in 2.0, you can register for a CLR event and avoid the multiple conversions between JavaScript and C#. These conversions take time and it's better to avoid them when possible. I modified the Project Template accordingly. You can download the updated version here, and follow the ......

Posted On Wednesday, December 26, 2007 8:38 AM

Silverlight 2.0: Project template for self-resizing applications
Update: I posted an updated version which doesn't use JavaScript. See here. One of the first things I often do when I create a new Silverlight application is to make it self resizing. This is not very difficult, because thanks to the goodness of WPF (of which Silverlight is a subset), resizing a scene only involves one simple operation: a ScaleTransform. This transform applies to a panel (in this case the top Canvas) and to all its children. Using a ScaleTransform, all the distances (dimensions, ......

Posted On Sunday, December 23, 2007 7:06 AM

Blend: New version with complete Style properties
Blend December CTP was released a short time ago. Included in this new version is one change that I'd been requesting from Microsoft, and I am really happy they made it: You can now select every properties of a given element when you edit them in a style. In the previous version, some properties were hidden, for some reason, and you could only set them using the XAML editor. At least Width and Height were not visible in the properties pane, and maybe more. In the December CTP, this small defect is ......

Posted On Saturday, December 22, 2007 12:18 PM

Back in Switzerland after a WPF design week
This time it's for good: I am back in Switzerland and I am not flying again before next year. Which is in 2 weeks. :-) The week has been amazing. While the team continued developing UI in Switzerland, I went to coach the graphics designers in Princeton. In a week, we didn't "only" create XAML assets, but we also discussed the overall design and we are starting to have a very good idea of how the application is going tolook like eventually. It's so great to be able to reproduce the static screens ......

Posted On Friday, December 21, 2007 7:55 AM

LINQ training and trip to Princeton, NJ, USA and Swiss elections
LINQ hands-on lab at Microsoft Switzerland Yesterday, a colleague and I attended a free LINQ hands-on lab given by Microsoft Switzerland in their offices of Wallisellen near Zurich. It was really good. I have seen LINQ in action a few times this year (actually, I had it demonstrated by no less than Anders Hejlsberg himself on one occasion, and Scott Guthrie on the other) but I had never tried writing queries myself. It was a good, 4 hours occasion to try it by myself. Needless to say, I was really ......

Posted On Wednesday, December 12, 2007 11:32 PM

WPF: MCTS Beta exam
One neat thing when you're a MVP (for 3 more weeks!) is that you get a lot of invitations to all kind of events. So when I got an invite to take the MCTS exam (beta) for WPF 3.5, I though I should try it, even though it's my Most Busy December Ever. It's not easy preparing for a Beta exam, because there are no courses, no books, no test exams available, so you're pretty much left to yourself. Thankfully, I found a list of subjects online, and after marking those of them which I was really not feeling ......

Posted On Friday, December 7, 2007 4:27 AM

Reticulating splines
I am testing the Mozy backup service that was praised by many lately. It's not bad so far, but I am a bit disappointed that it doesn't work when I am either in the office, or connected to the VPN. Also, it's really slow for the moment. I am tweaking my firewall to try to expedite things, I hope I succeed because the service sounds like a good idea. Read the rest of this entry » ......

Posted On Friday, November 30, 2007 7:52 AM

Silverlight 2.0, Visual Studio 2008, new Alpha tools for Silverlight... hot winter!
The community is buzzing with the news about Silverlight 1.1 being re-versioned to 2.0; I really think it makes sense, given what will be added to the platform until next year. Read the rest of this entry » ......

Posted On Thursday, November 29, 2007 9:52 AM

Creating animations in code with Silverlight 1.1
I didn't write here in quite some time, due to a hectic work schedule and a private Silverlight project taking all my time. It's going great and in the course of realizing it, I stumbled upon something I think I should post about: In the current version of Silverlight 1.1, creating animations in code by creating a new Storyboard and one or more new (for example) ColorAnimation(s) is not possible. In WPF, you can do this, but Silverlight doesn't have this ability yet. Thankfully, there is a workaround ......

Posted On Saturday, November 24, 2007 5:46 AM

Silverlight: Bug with RadialGradientBrush OpacityMask

Update: Just posted this at

I stumbled upon a bug in Silverlight today related to the way it handles OpacityMasks with a RadialGradientBrush.

Read the rest of this entry »

Posted On Tuesday, November 6, 2007 2:02 AM

Silverlight: There's more to it than "just" video
As I was listening today to the new Foo Fighter CDs I bought a few days ago, I realized that I love one of the tracks: "But, Honestly" (on "Echoes, Silence, Patience & Grace"). In fact, I especially like the second part of the song, with an incredible progression in energy, Dave Grohl's great voice and guitar and the bass and drums bringing the whole crescendo to an harmonic explosion (I feel like a poet today...). Read the rest of this entry » ......

Posted On Monday, November 5, 2007 7:42 AM

Expression Blend: Template loops (no problems in Cider, though)
In one of my side-projects, I wanted to create a kind of lightweight treeview, as simple as possible: An item can contain a list of items; each item is simple represented by a string. In OO design, it's rather easy: You crate a DataItem class, which contains a Description and a collection of DataItems (children). Read the rest of this entry » ......

Posted On Sunday, November 4, 2007 2:27 AM

Silverlight: A jump back in time
Hilarious experience today: I happened to stumble again on Tim Sneath's announcement of Silverlight in April this year. I spent a moment reading the comments, and it was really funny! I especially liked the Linux crowd saying (in essence) that there would obviously NEVER be a support for Linux. Read the rest of this entry » ......

Posted On Friday, November 2, 2007 6:03 AM

Silverlight enabled GalaSoft
GalaSoft is my webpage, where I post information about all my private projects. It's not a firm, it's a project that I use to coordinate my efforts in all the technologies I am interested in. Read the rest of this entry » ......

Posted On Thursday, October 25, 2007 6:52 AM

Surface Laurent
Surface Laurent

So, that's me. In a Surface. Isn't that cool? :-)

Read the rest of this entry »

Posted On Wednesday, October 17, 2007 12:50 PM

"Microsoft Strategist @ Siemens" workshop in Redmond
I am back in Redmond, taking part to a one week workshop with other Siemens software architects. It's my first time with this group, which gathers a few times a year to discuss Microsoft technologies. So far, it's a great experience, packed with news about upcoming releases and existing products. Most of what we hear here is under NDA so I cannot report much, but to be here really gives a great confidence in the future of .NET in general, and WPF / Silverlight in particular. We can expect a lot of ......

Posted On Monday, October 15, 2007 1:02 PM

Designer - Developer, a new collaboration with WPF (Screencast)
I posted a 50 minutes screencast on my website, with a demo involving Expression Design, Expression Blend and Visual Studio 2008 to demonstrate the workflow between the designer, the developer and the WPF integrator in a WPF project. In this demo, I build the foundation for a PDA application from scratch, using VisualBrushes, ControlTemplates, Animations, Gradients, etc... I also use a 2-DLLs architecture, one of them containing all the resources needed to create a new "skin" for the application, ......

Posted On Monday, October 8, 2007 7:51 AM

Two stars...

I just got my second star on MSDN :-)

Read the rest of this entry »

Posted On Monday, October 8, 2007 7:07 AM

WPF, Silverlight: Things I like in Visual Studio 2008 XAML editor (September CTP)
The excellent Nathan Dunlap posted on the 18th of September about Blend September CTP, and the new features he likes. It's very much in line with what I have been thinking too since I tried this latest edition, so I am not going to repeat it, just go ahead and read his post. (By the way, it's good to see Nathan blogging more lately, very happy about that :-) Read the rest of this entry » ......

Posted On Friday, October 5, 2007 10:38 AM

Cleaning up XAML code and improving parsing time (with Blend and Studio)
XAML being XML-based, it needs to be parsed and processed when the code is loaded in the application. WPF allows multiple scenarios, for example pre-compiling the XAML to BAML (binary application markup language), which is usually embedded into an assembly. This speeds up loading time, of course. Another option is to leave the unprocessed, uncompiled XAML file on the server (or in the "bin" folder of the application), and to load that file on demand when it is needed. This step involves the conversion ......

Posted On Saturday, September 29, 2007 12:38 AM

Blend: Canvas mode vs Grid mode
I stand corrected, the "locks" are still there. Following yesterday's post, I got a comment indicating me the cause of the confusion: Somehow, when I installed the September CTP of Blend 2, my settings were changed (probably by my own doing, in fact), and I unchecked the "Use grid layout mode" checkbox in the "Artboard / Layout" section of the options. This causes the grids to be displayed as a kind of canvas, on which the controls can be positioned in an absolute manner, instead of "fixing" them ......

Posted On Saturday, September 22, 2007 3:37 AM

WPF/Silverlight: Installed Blend V2 September CTP
Update: I stand corrected, the "locks" are still here. See here! Thanks Christian! My August CTP version of Expression Blend expired just as I was in Italy sitting with developers and doing some integration work, but thankfully when it expired, it gave me an additional 30 days, so I could continue to work. Once back in Switzerland, I downloaded the whole September CTP package and installed everything. It went smoothly, and I can now enjoy Blend 2 September CTP with quite a few cool new features. ......

Posted On Friday, September 21, 2007 6:40 AM

Free WiFi at Starbucks in Zurich Oerlikon
Having brought my daughter to chinese school as usual on Saturday mornings, I had the good surprise to find out that you can now surf wirelessly for free at the Starbucks in Zurich Oerlikon (opposite the train station). That's a great move, Starbucks. Switzerland is very much advanced for the number of Internet connection per inhabitant, and very behind for the number of free hotspots. You can surf wirelessly in most train stations and many other public places, but the costs are still very high and ......

Posted On Friday, September 14, 2007 8:35 PM

WPF: Simulating data in design mode in Microsoft Expression Blend
[UPDATE: The link to the VS2008 project was broken. Sorry for that] I just published an article I have been working on for a few days, based on a technique developed over the last few months. I got to say, I am really proud of the result. In one past post and another, I talked about my quest to display test data in Expression Blend. The goal behind this is to enable the graphics designers to work on the controls' look and feel directly in Blend, and if possible directly in the element's context. ......

Posted On Friday, September 14, 2007 9:29 AM

Website offline due to maintenance work at DiscountASP.Net

My website was offline for a short while today due to maintenance work at DiscountASP.Net. I apologize for the possible incovenience. To compensate for the loss of connection, I will gracefully offer you 3 visits to a page of your choice on my website, all for free! :-)

Read the rest of this entry »

Posted On Thursday, September 13, 2007 6:50 PM

WPF: Blend 2 rocks (3D, XML comments)
XML comments and Blend It's great to see how Expression Blend V2 improved over V1. One small thing I noted which makes life easier is the preservation of XML comments entered before a XAML element. This allows documenting an element in a ResourceDictionary, and then moving the element in another ResourceDictionary without losing the comments. That's possible in the Resources tab of Blend, on the right. Read the rest of this entry » ......

Posted On Thursday, September 6, 2007 8:08 AM

WPF: Charles Petzold "3D programming for Windows"
Following Charles Petzold's appel on his blog, I sent him an email, and I had the very nice pleasure to get a dedicated copy of his last book "3D programming for Windows". The title might be a little misleading, so don't get confused, it's really a WPF 3D book. Read the rest of this entry » ......

Posted On Thursday, September 6, 2007 8:05 AM

Google search on my website
I've been wanting to add a search box to my website for quite some time, and also wanted to play with Google AJAX Search API. Turns out it's a very easy API to use! I simply wrapped their search control in a PositionedNode and FadedNode, and added a higher-lever object to "hide" Google's syntax and offer a higher level interface. So from today, you can now use the "Search" menu to search the website and also (in the same dialog) this blog. Read the rest of this entry » ......

Posted On Saturday, September 1, 2007 11:20 PM

WPF: There's a new doc in town
If you hang out on the WPF forums, you probably noticed some very, VERY advanced replies recently made by a certain Dr WPF. Well, the doc doesn't only answers on the forum, he also has a blog. Read the rest of this entry » ......

Posted On Saturday, September 1, 2007 4:40 AM

WPF talk last Tuesday
The WPF talk about the new collaboration between Designers and Developers took place as planned last Tuesday in front of the .NET User Group of Switzerland. Approximately 25 peoiple showed up, which made me very happy, for a first presentation! The talk went OK, though I was a bit nervous and I think that it showed a little. Thankfully I was feeling quite comfortable with the subject, which helped me when after 40 minutes of demo my computer suddenly shut down! It's so silly I almost don't dare to ......

Posted On Saturday, September 1, 2007 4:39 AM

WPF talk tomorrow: Windows Presentation Foundation, Between Designers and Developers
Reminder: I will be talking in front of the .NET Managed User Group of Switzerland about the collaboration between graphics designers and developers with WPF. All the talk's details can be found here. With the release of the Windows Presentation Foundation UI framework in November 2006, a new collaboration is made possible between graphics designers and software developers. Designers are now creating source code (XAML) instead of Photoshop mockups. On the other hand, developers must learn to delegate ......

Posted On Monday, August 27, 2007 1:32 AM

Adobe ripping european customers off
Heard on radio last week: Adobe is selling their "Creative Suite 3" 40% to 100% more expensive here in Europe than in the US. Swiss netizen Danielle Libine is gathering signatures to petition Adobe to change this. While I have my doubts about the power of such a petition against software giants, I also remember that Microsoft decided to include Expression Blend in MSDN after users asked (and asked and asked) them to do so on the web and on usenet. So maybe it'll work if enough people sign the petition ......

Posted On Monday, May 28, 2007 8:36 AM

Back from Seattle
I was in Seattle (actually in Tacoma) for one week workshop with a firm specialized in WPF, IdentityMine. I spent three days with Jonathan Russ, who is without any doubt one of the most talented developer I ever met, and at the same time a very good man, always ready to take time to discuss ideas or to explain concepts. It was a great week, and my only regret was I couldn't meet Nathan Dunlap and Robby Ingebretsen because they were both out of house. That said, I met other members of the team. After ......

Posted On Sunday, August 26, 2007 10:23 AM

WPF talk: Windows Presentation Foundation, Between Designers and Developers
It's now official: I will be talking about the new collaboration between designers and developers with WPF in front of the .NET Managed User Group of Switzerland. Here is the abstract: With the release of the Windows Presentation Foundation UI framework in November 2006, a new collaboration is made possible between graphics designers and software developers. Designers are now creating source code (XAML) instead of Photoshop mockups. On the other hand, developers must learn to delegate part of their ......

Posted On Friday, August 17, 2007 11:27 PM

Toyota Prius, someone?
Since my wife stopped work, we've been thinking of selling both our cars (we have a Toyota Previa and a Toyota Yaris (big Toyota fans)) and getting a new one. The Yaris is too small for me and the Previa is too big for my wife, so we're looking for something in the middle. So we're considering a Toyota Prius. It's a hybrid, with both a conventional engine and an electric one. Apparently it's quite popular amongst celebrities in the US, but that's not why we are thinking about it. I quite like the ......

Posted On Friday, August 17, 2007 3:13 AM

WPF: Expression Blend 2 and external resources
Update: see the checklist for Visual Studio 2008 "Orcas" here. Also available: Visual Studio 2005 and Visual Studio 2008 projects to download. One thing where Expression Blend V2 improved a lot over V1 . This situation is often useful when you want to "skin" an application. In such a case, you can define your UI in a main assembly (for example the EXE), but define all the UI ressources (Templates, Brushes, Styles, etc...) in a ResourceDictionary located in another DLL. WPF allows "importing" resources ......

Posted On Thursday, August 16, 2007 5:17 AM

WPF: Getting, sorting and filtering information in pure XAML (well almost)
One question on the WPF forum caught my attention. It was a nice challenge, so I decided to give it a try. It turned out not bad, so I thought I would post it on my website for future reference. The question is: How to display all the cultures in a ListBox, and filter to display only these starting with "en-". Good news is: you can do a lot of that in XAML only. Bad news is: If you want to filter, you need code-behind. I posted a comprehensive example on my website's articles section. It shows how ......

Posted On Saturday, August 11, 2007 9:00 PM

WPF: Expression Blend 2 and external resources (VS2008 version)
Following a past entry about Blend and external resources, some of you told me that they tried it without success in Orcas. Here is an updated checklist for Orcas, which should solve the problem, I hope. To make things clear: I use the latest version of Expression Blend (at the time of this writing, it's the August CTP of Blend 2). With earlier versions of Blend, it probably won't work as well, if at all. Additionally, it is imperative to use the syntax I describe to "merge" the resource dictionary ......

Posted On Monday, August 20, 2007 3:19 PM

WPF: Workshop in Tacoma, WA, with IdentityMine
I am thrilled to be here in Tacoma again, second time this year (and overall) after we were given a WPF training by IdentityMine very innovative and specialized firm. These few days with them are going to be devoted to reviewing some of our design choices, discussing ways to make our designers' work easier (making the application "blendable"), etc... So, now it's 3AM and though I went to bed at 9PM last night (flying in from Zurich through London), I can't sleep, so I am taking a short break from ......

Posted On Sunday, August 19, 2007 9:55 PM

Designer-Developer week / Talking with Microsoft's Simon Guest
Designer-Developer week I was pretty busy this week, spending most of it in Milano, where we have one of our development teams. We met some of our designers to work on and refine the designer-developer workflow that we will use during our WPF UI development. It was a very interesting week, because we had to learn to speak the same language (we already know each other, so the learning curve was not too big, but still). I called that the designer-ish / developer-ish translation. It's very interesting ......

Posted On Friday, August 10, 2007 7:31 AM

Porting to VS2008 / New WPF book / Pictures of Sicily
Porting to VS2008 I am working on a few ASP.NET projects I do privately, and had a small issue, which I couldn't debug in VS2005. I decided it was time to give a serious try to VS2008, so I converted most of my private ASP.NET projects to VS2008, and everything wen smoothly. I didn't take any risk, and I chose to continue using .NET 2.0 for these projects, so that only the IDE changes, but not the framework. After a very fast and painless conversion, finding the error was a breeze (I was having problems ......

Posted On Thursday, August 2, 2007 9:40 AM

Silverlight: Ah the pleasure of breaking changes...
First thing I noticed after installing Silverlight 1.0 RC1 is that the video on my PhotoAlbum didn't work anymore. There is an update for Expression Media Encoder which produces new JavaScript files for the video player, and which breaks the customizations I made. Unfortunately, it's not something that I can fix in 2 minutes, so I'll probably have to work on that a little more next week. In the mean time, I placed the video player on a separate page, without the fancy XAML animations I made. I also ......

Posted On Sunday, July 29, 2007 8:53 AM

Back home after two weeks in Sicily / VS2008 Beta 2 and Silverlight 1.0 RC1
Back home I am back home after 2 weeks spent in a road trip around Sicily, Italy. We had a great time, and I will document the trip gradually in the next few days on my PhotoAlbum. It was really nice to let go for a moment, and I barely did anything work related (except reading 4 chapters of Adam Nathan's WPF book and catching up with blogs during the last hotel stay of the trip). I found no wireless connection during the trip (except once in Taormina and then in Palermo) but I didn't look for them ......

Posted On Sunday, July 29, 2007 4:13 AM

Silverlight Streaming: Careful with that application's name!
I lost some time today with that error, so be careful what you name your Silverlight Streaming application! Silverlight Streaming is a service offered by Microsoft, 4 GB of storage for your Silverlight applications, which will usually be used for streamed videos. When you create a Silverlight Streaming application, you may name it anything, and apparently the name is not validated. In my case, I thought I'd be clever, and I named my first application 2007070201MumbaiPuneTraffic, with the string "2007070201" ......

Posted On Tuesday, July 10, 2007 6:26 PM

WPF training (Swiss edition) completed
Life is pretty good in the moment. I just finished giving the WPF fundamentals training to my Swiss colleagues. We also had the pleasure to host two US colleagues from Chicago who came specially for the training. I hope it was worth it, but I can safely say that everyone had fun and learned a lot in 3 days. That's a very short time to getting to know WPF, and noone became a WPF expert between Monday morning and Wednesday evening, but everyone improved their knowledge and, most importantly, I put ......

Posted On Friday, June 29, 2007 2:50 AM

Silverlight: Video on my PhotoAlbum website / Going in holidays
Silverlight video on my PhotoAlbum website You can now watch videos on my PhotoAlbum using Silverlight!! Currently, two pages have video: Pune, India and Calcutta Rescue's projects in Kolkata. To start the video, locate the thumbnails marked with a "movie" label, and click them. Modified player.xaml I spent a few hours this week tweaking and learning to know the Silverlight video player created when you encode a video using the Expression Media Encoder application. I modified the player.xaml and ......

Posted On Friday, July 13, 2007 10:14 AM

Silverlight Streaming: No need to be careful anymore :-)
In my last post, I mentioned a problem occuring with Silverlight Streaming if the application's name starts with a number. Apparently, Microsoft is listening, because the problem has been corrected. I just uploaded a new video, and noticed that they now add a "Wrapper" prefix in front of the JavaScript variable. With that prefix, the JavaScript naming rules are always respected, and thus your application can be named whatever you want ......

Posted On Thursday, July 12, 2007 10:19 AM

End of WPF training in Pune / Visit to Kolkata, India
Ending the WPF training in Pune The WPF training in Pune, India went great. We finished on time, I spent the last afternoon showing various resources and demonstrating how to create a basic Silverlight application, as well as make Silverlight videos. This is not strictly speaking in the scope of the training, but with the WPF background acquired during these 3 days, moving on to Silverlight is really easy, and really motivating too. After Pune, and after a very nice dinner with Nikhil, the indian ......

Posted On Sunday, July 8, 2007 2:23 AM

WPF training (Indian edition) underway
Today is the 3rd day of the WPF training I am giving to my indian colleagues in Pune, India. This is the 3rd edition of the training, after Milano and Zug. The training is going well, even if I had a few more "demo effects" than usual, maybe due to a general tiredness (I need holidays, and thankfully they're coming soon, yay). But my trainees were kind enough to give me a little time to correct the code, and all goes well in the end. If the monsoon allows, I will fly tomorrow to Kolkata, where I ......

Posted On Tuesday, July 3, 2007 3:10 PM

Various WPF resources online
Community WPF Community : Silverlight Community : Microsoft employees: (Scott Guthrie) (Karsten Januszewski) (Tim Sneath) (Rob Relyea) (Bea Costa) (Kevin Moore) (Karen Corby) (Ashish Shetty) ......

Posted On Friday, June 29, 2007 2:20 AM

WPF: Finished the Expression Design / Expression Blend hands-on lab
Update: Removed the IFRAME, because of annoying "download" effect in Firefox. Added a link to the XAML page instead. Excellent lab!! I finished today the lab I started yesterday about Expression Design, Expression Blend and their collaboration. Actually, it's still not really a collaboration, to be honest. You export XAML from Design, and you add the exported file to the project in Blend. If you choose to modify the icons in Design, however, you must reimport and then make sure that the changes appear ......

Posted On Saturday, June 23, 2007 7:37 AM

WPF: Expression Design hands on lab
I just finished the first half of the "Creating WPF buttons with Expression Blend and Expression Design" hands-on laboratory created by Karsten Januszewski. It's a really cool lab, especially for a WPF integrator with a developer education. I was always interested in design, but I am really not a designer, so it's quite nice to learn a few tricks and techniques. The lab introduces a technique consisting of using a picture on a layer, and then redrawing the object on a layer on top of that, using ......

Posted On Friday, June 22, 2007 8:39 AM

Silverlight: More tutorials, and really good ones!
Celso Gomes, excellent designer working for the WPF team (Blend, Design and Silverlight) put together a Silverlight only website with great short tutorials. I just took the "Animations" ones, and I like the concept. Short lessons, easy to remember. Side note: This is the first Silverlight-only website I saw (after a looooong raw of Flash-only websites). While I find Silverlight much more appealing than Flash for the developers, the huge strength of SIlverlight over Flash is the ability to interact ......

Posted On Thursday, June 21, 2007 7:25 AM

Scott Guthrie talks about the future or ASP.NET and Orcas
The ReMix event was nice, well, not really comparable to Las Vegas, of course, but it was nice to see the demos again. For me, in fact, the real opportunity was rather to connect with other people interested in these technologies, and in this aspect it was really nice. I've been wanting to meet Ronnie Saurenmann (the guy behind the Zurich Airport XBAP and the "Outlook-like" WPF hands-on lab) for quite some time, I hope for the beginning of a nice collaboration. Of course the icing on the cake was ......

Posted On Monday, June 18, 2007 8:17 PM

Road to Silverlight: My First Silverlight Application
I just published my very first Silverlight application to my website. OK, I just had like 1 hour to build it, so it's not very impressive, but still, I am happy that it works!!

OK, let's see if I can put an IFRAME in here to show the app (obviously, you'll need to install Silverlight to see it):

Posted On Sunday, June 17, 2007 9:48 PM

LiveWriter is watching you
Checking the LiveWriter developer page during the ReMix event, I noticed that I am getting stared at :-)

What are you staring at?

Posted On Sunday, June 17, 2007 8:12 PM

ReMix 07 in Zurich with Scott Guthrie
Today, the ReMix 07 event is taking place in the World Trade Center in Zurich, Switzerland. Lots of great speaker, includign Scott Guthrie, Wayne Smith, Beau Ambur and more. Wayne Smith just showed his video encoding and XAML editing demo, pretty much the same demo as in Vegas, but very well received here anyway! You got to love his accent :) but more important, the content is great. One new thing presented today compared to the Las Vegas edition is a new plug-in for LiveWriter which allows embedding ......

Posted On Sunday, June 17, 2007 8:04 PM

ReMix Zurich tomorrow
ReMix 07 Zurich I will be attending ReMix in Zurich tomorrow. This event will be specially interesting this year due to the presence of Scott Guthrie for the keynote and 2 presentations. I'll hear even more of Scott in the evening, at the DotMugs (.NET Managed User Group of Switzerland) where he will be speaking about ASP.NET and Orcas. I am very happy to hear Scott again, this will be the thrid time (after MIX06 and MIX07), and I sure hope I will have many more occasions ......

Posted On Sunday, June 17, 2007 8:39 AM

Road to Silverlight: Aaron Stebner is a great person!!
After I posted about the problems I was encountering with the Silverlight installation, Microsoft's Aaron Stebner contacted me and offered his help. Aaron is a .NET setup specialist. After enabling verbose logging and his inspecting my setup log files, the answer was to uninstall .NET 2.0 and then reinstall 3.5. Unfortunately, my .NET 2.0 installation was apparently corrupted, because the framework didn't appear in the "Add/Remove program" dialog. Thankfully, removing corrupted .NET installations ......

Posted On Friday, June 15, 2007 8:25 AM

WPF: Synchronizing animations (part 2: Asynchronous by nature)
I published the second installment of this serie about synchronizing animations in WPF. This article walks the reader in creating a small application with multiple animations, and demonstrates that they are, indeed, asynchronous by nature. In the first article of the serie, we saw built-in ways to synchronize animations, using BeginTime, Duration, events... In the next article we will use a more elaborate way and I will guide the reader through the modifications needed to synchronize all the animations ......

Posted On Thursday, June 14, 2007 9:00 AM

Road to Silverlight: A few bumps...
You got to love this delicious alpha feeling, when you try to install something and it fails with an non-understandable error message... Yum!! In my case, installing Orcas fails. I managed to find out that the package responsible for the failure is the .NET 3.5 redistributable. While the error code is just a generic "error 1603", looking in the Windows Event Viewer shows that "Product: Microsoft .NET Framework 3.5 (Pre-Release Version) -- You must first install Microsoft .NET Framework 2.0SP1 before ......

Posted On Monday, June 11, 2007 7:29 AM

One year of blogging...
Exactly one year ago, I started blogging at GeeksWithBlogs. This has been an amazing year for me professionally. Promoting WPF in my firm has been a tough but rewarding experience. I got to say, ever since I attended MIX06, I've been enthusiastic about the technology, and it became almost a passion to talk about it to my colleagues and managers. While I hadn't been blogging before, I had been very active in the JavaScript community, and continuing this work in the .NET / WPF community just seemed ......

Posted On Sunday, June 10, 2007 8:50 PM

On the road to Silverlight: Download...
Now that my site has been cleaned up, I want to add Silverlight content to it soon. I blogged about my plans here, and first of all I need to download all the development environment. That also includes Orcas (Visual Studio 2007) which is currently still in Beta. I didn't install it before because Microsoft told us that it was a bad idea to install it on a non-virtual machine, and that uninstalling it was very difficult. Since the last Beta 1 version, however, things are better and I have been told ......

Posted On Sunday, June 10, 2007 8:54 AM

WPF: Synchronizing animations (part 1: Using built-in features)
One of the most exciting features of WPF is the animation system, which provides the UI developer with the possibility to create exciting effects easily. A previous article explains various ways to define and trigger animations using XAML or code-behind. However, the animations in WPF are asynchronous by nature, which means that when multiple animations are triggered independently, they will run without coordination, which may give the application an unfinished look. In a serie of articles, I will ......

Posted On Thursday, June 7, 2007 9:16 AM

Expression Blend labs / Losing the "-lb"
Expression Blend lab I downloaded Karsten Januszewski's Expression Blend labs, and I am going through them slowly. I finished the first one tonight. While it's relatively basic, it's still great to be able to consolidate what I otherwise learned through try-and-fail, and through reading parts of the user documentation. Additionally, it's a good support to learn useful shortcuts for some commands. I am looking forward to going through the remaining two labs, and I will highly recommend them to the ......

Posted On Wednesday, June 6, 2007 10:16 AM

Back to ASP.NET this week / Silverlight plans / Chinese plans
ASP.NET: Updating RealSimpleBlog I decided to make an update (V0.5) to my RealSimpleBlog control. This control is used to display blog entries integrated in an existing webpage, without having to install a heavy infrastructure. Since it's a control, and not a framework like other existing blogging systems, it doesn't disrupt existing pages and integrates seamlessly without needing a lot of administration. To be fair, the control is still in an early stage, and I don't feel that I can distribute it ......

Posted On Saturday, June 2, 2007 9:00 AM

WPF: Training other developers (Italy)
I am back from Milano, Italy, where I spent the last 3 days teaching WPF to some of our developers. It was a very new experience for me. In the past, I have organized and held demos and presentations already, but it's the first time that I am training other people for more than just one or 2 hours. I was quite nervous before starting the training, my main concern being to be able to say everything I wanted to say about the technology in the imparted time. The original material for the training was ......

Posted On Friday, May 25, 2007 1:08 AM

WPF: Data Binding in Expression Blend
Intro Continuing my quest to make my applications as "blendable" as possible, and after noticing that Expression Blend doesn't execute a Window's or a User Control's constructor when the element is displayed, I thought I'd try to place my test data in the XAML itself, using an XmlDataProvider. Unfortunately, it still doesn't work as well as I had hoped. Purpose In order to allow designers to work in Expression Blend as much as possible, it is often necessary to create a test application. For example, ......

Posted On Saturday, May 19, 2007 8:31 AM

More WPF prototypes
Today was WPF prototype-cleaning day. I started reviewing the prototypes I developed lately using WPF in order to study the technology, and I cleaned up two of them. Cleaning up means reviewing the code, eliminating what is not necessary, commenting and adding a HTML page to each prototype, so that it's easier to understand what they do, and what points are still open. The two prototypes are running on my site, and can be executed from there. Additionally, the project files are also available for ......

Posted On Wednesday, August 16, 2006 7:55 PM

Back home...
We're back home... We came back in Switzerland last week, and time flies, I can't believe it's already tuesday... Work should start again tomorrow (today is national day here, thus public holiday), and a lot of challenges are in front of us. We're studying the possibility to use WPF/E as our platform for the new web application we're starting to work on. Unfortunately, it's impossible to find any preview version of WPF/E, so we're forced to use assumptions and theories. On the private side, I started ......

Posted On Tuesday, August 1, 2006 7:18 AM

Mobile blogging now from Singapore
We left Penang this morning and are now in Singapore. I posted a lot more pictures in my PhotoAlbum, and practice showed a few fields for improvement: The file structure is too complex. I should be able to post all files in one folder, and if needed, the application should dispatch the files in the corresponding folder. When I FTP from my PDA, changing folders takes too long time. I forgot that the PDA uses linefeed only as line break, when the server uses carriage return-line feed (rookie mistake, ......

Posted On Monday, July 17, 2006 2:20 PM

WPF: Debugging your UI in Expression Blend
What? Here's a cool trick, which I thought of after reading this comment and this post. The good thing to remember is that Expression Blend is a (maybe the first) Microsoft application entirely written in WPF. I always thought it was pretty cool. Well, even cooler than I thought: When load a project in Blend, the code you wrote is actually executed! Of course there are some caveats (see below), but what it allows is to place a breakpoint in your code (for example in a User Control's constructor), ......

Posted On Thursday, May 17, 2007 5:51 AM

Snapshots on my websites
I added a new feature on my website and my blog: PreviewShots by When you see a small "balloon" icon next to a link, simply mouse over it and see a preview of the page this link leads to. I chose to add PreviewShots to external links only. By clicking on the "option" button, you can customize the way the snapshots are rendered on your web browser. I am just testing the service, so let me know what you think ......

Posted On Monday, May 14, 2007 6:36 AM

WPF: The integrator
A new role It's hard to believe, but it's true, it has been already one week since I came back from MIX. During this week, I have been so busy with the project that I didn't even have time to blog. In the project we are currently developing, one of my roles is to be WPF integrator. This is a new role that has been discussed already quite a lot in various occasions. The WPF integrator stands between the designers and the developers. His role is to coordinate the work between these two very different ......

Posted On Sunday, May 13, 2007 1:20 AM

MIX day 3 (cont)
Gee, I almost forgot one session I attended: Booyah! Designing and Developing Line-of-Business Applications That SIZZLE Once again a nice demo, concentrating on the specific problems and challenges you encounter when you develop 3D applications. Nathan designed beautiful glass tubes which are filled with data. I loved his mention that in WPF, he is actually working with materials and textures. When he says that, I get the impression that his working is actually sculpting 3D objects. I think that ......

Posted On Friday, May 4, 2007 8:59 AM

MIX day 3
Today was MIX's last day, and it's almost painful to have to leave. I can't believe how fast it went, how packed with information it was, and how many great people I had the chance to meet. To all of you, I want to say thanks for the great time I spent here. The organization was, as usual, spotless. Now I have so much information to process and sort, this will keep me busy for a long time... Oh how I hope to make it to MIX08 ;-) Extending the Browser Programming Model with Silverlight If I had to ......

Posted On Wednesday, May 2, 2007 4:46 PM

MIX07 day 2
On Tuesday, most of the day was packed with sessions. I managed to see very interesting information. Microsoft is really pushing SIlverlight a lot, and while it's great news for web applications, I really hope that they will not release their effort on WPF. We're waiting for V2!! Building Silverlight Applications using .NET (Part 1 of 2) This session was most probably great for developers without experience with WPF. For me, however, after a certain point, I found myself thinking "I know all that ......

Posted On Wednesday, May 2, 2007 4:01 PM

MIX day 1 (cont again)
I attended 3 sessions yesterday afternoon, all very interesting. MySpace megasite Quite interesting talk by the MySpace team about what strategies they are using to run, maintain and upgrade what must be one of trhe busiest website worldwide. The sheer volume of video, MP3 and pictures theys deliver simultanously is tremendous. And all that runs on ASP.NET and Microsoft platforms. Very impressive. They also developed their own tools for code management, allowing to release and if necessary rollback ......

Posted On Tuesday, May 1, 2007 9:52 AM

MIX pictures on Flickr and on my PhotoAlbum

I just posted a bunch of pictures from yesterday on Flickr and on my PhotoAlbum. More pictures will follow shortly. Stay tuned.

Posted On Tuesday, May 1, 2007 4:11 AM

MIX: Debugging remotely from VS2005 on a Mac!!
I know, I posted about this already, but this is so great it deserves a separate post: Using Visual Studio 2005, you can actually remotely attach to a Silverlight process running on a Mac, and debug!

Isn't that cross platform pushed to the max??

Posted On Tuesday, May 1, 2007 2:04 AM

MIX: Day one review (morning)
Amazing day yesterday. It all started with a great breakfast set up by the Venetian team. They really do an amazing job. The hotel is just great, not only because it's so big and luxurious, but also because every details is taken care of, every detail is perfect. I had the same impression last year, impression confirmed. The key note was great, though to be fair last year's was better. Ray Ozzie just cannot beat Bill Gates, charisma wise. I was very happy to see Scott Guthrie on stage again, this ......

Posted On Tuesday, May 1, 2007 2:00 AM

MIX07 day 1
Getting started Breakfast was had (great buffet like last year, and the dining room is pretty impressive and huge!) Trying to recognize known faces, but no luck yet! I also registered and got my goodie bag. The notebook looks great, even nicer than last year (I am still using last year's one, actually, and the pen). Apparently the gadget is a CD opener. Man, that's bad engineering! These CD cellophanes are actually so damn hard to open that someone has to come with a gadget! Wouldn't ......

Posted On Monday, April 30, 2007 3:41 AM

MIX: Here I am
That was a LONG trip, but here I finally am. Check in went fine, the room is nice though less impressive than last year (well, last year I had, for some reason, received a huge suite). This year, I "just" got the "regular" suite in the Venezia tower. Seriously, the room is great. After check in and a long hot shower, since it was too late to register for the conference, I just went downstairs for a bite, and for a small walk in the casino. The energy here is amazing. I will register tomorrow morning, ......

Posted On Sunday, April 29, 2007 6:15 PM

Flying to Vegas
Et voilà, I am off to Vegas. First my flight with Swiss airlines goes to Chicago, and then I'll take a UA flight to Las Vegas, where I'll arrive around 8:30PM local time. It's a really long trip (It's now 11:50AM in Switzerland, and I'll be in my room in the Venetian probably around 6AM tomorrow morning, swiss time) but I am convinced it will be totally worth it. Next year was amazing, and it has brought me so many new things to think about, to try out, and so many new contacts in the programming ......

Posted On Saturday, April 28, 2007 10:06 PM

My schedule at MIX
So...I spent more than one hour yesterday night to create a schedule for all the session that interest me this year at MIX. Yeah. I need to clone myself. Three times. If 4 of me go to MIX, I might get a chance to see all the sessions I want to see. At this point, I don't prioritize any further. Based on last year's experience, I'll decide spontanously what I want to see during each slot. Obviously, I'll make sure to attend the Identity Mine sessions, but there arfe so many others! Sessions at MIX07 ......

Posted On Monday, April 23, 2007 8:51 AM

MIX07 website pain
Seriously, what's up with the MIX07 website?? My default browser is Firefox for various reasons. That's how the website looks in it: MIX07 website in Firefox Unreadable. Which is funny and ironic when you remember the playdoyers for compatibility we heard at the very same event last year. OK, I'll open IE to look at the site then. Ooops. MIX07 website in IE ......

Posted On Saturday, April 21, 2007 7:49 PM

WPF book by Adam Nathan / XBAP error
WPF book: Windows Presentation Foundation unleashed This book has been praised a lot by WPF experts I talked to, so I decided to purchase it, and I just got my copy. So far I had been working mostly with the well known WPF book by Charles Petzold, and thought it would be good to have another reference. The first impression is excellent. The book is very colourful and seems quite easy to read. The approach seems quite different from Mr Petzold's book. Instead of concentrating on C# code first and ......

Posted On Wednesday, April 18, 2007 11:53 PM

WPF: Example of ItemsControl bound to an ObservableCollection
One of the most exciting feature I learned about in the WPF course two weeks ago was that you can bind an ObservableCollection's content to just any type of Panel, by using an ItemsControl and the ItemsPanelTemplate property. In order to check if I had understood the technique properly, I made a small working example. It actually worked out pretty well, so well in fact that I decided to publish it, hoping that it can help someone out there. I am walking you through that example here. I published ......

Posted On Thursday, April 12, 2007 11:42 PM

WPF ColorClock
I published the first public version of a clock programmed in WPF. GalaSoft's WPF ColorClock is inspired from the original ChromaChron clock, which was a huge trend in the 1970's and 1980's. The clock shows the time in an original manner, with one colored area per hour. A cache rotating with 30° every hour displays the time. Of course reading the time in that manner is not perfectly accurate like a digital watch, but it's very soothing and with a little experience it's surprisingly easy to differentiate ......

Posted On Friday, March 23, 2007 6:20 PM

WPF: I'm blending like crazy / MIX sold out / New laptop
I spent quite a lot of time with Expression Blend lately. I like that program more and more. It needs some getting use to it at first, but it's just great to be able to open the same project file and source files in Blend and in Visual Studio simultanously. You can design your UI in Blend, including bindings, etc..., you can even run it to check how it looks like "in real", and then you can switch to Studio to do the code behind, add data sources, etc. One thing I miss in Blend is Timeline-based ......

Posted On Thursday, April 5, 2007 10:55 PM

WPF: Debugging the XAML (continued) / Expression Blend training
Debugging the XamlParseException (continued) In a previous post, I mentioned how you can get more details about the XamlParseException thrown when something is wrong with the XAML (but you don't know what exactly). Well, a reader named Daniel Puzey made a comment to that, and I think it's worth posting that again: There's another trick to this. Often, by default, you'll get an error reported at Line 1 of the xaml, which is an obvious lie. You can catch the original exception, though: - Open the "Exceptions" ......

Posted On Monday, April 2, 2007 10:36 PM

WPF course with IdentityMine: last day / Going home
Last day of training I simply cannot believe how fast the week went, and how interesting it was. Yesterday, we all gathered at IdentityMine HQ. We first had a cool (but fast) demo of Expression Blend by Nathan, who really knows what he is talking about and has a huge experience with the tool and WPF in general. The tool is really quite good, and should allow even developers to work faster, because of the help it provides. I really want to learn Expression Blend. I see myself quite close to the designers, ......

Posted On Saturday, March 31, 2007 6:26 PM

WPF course with IdentityMine: fourth day
Laeticia turned 3 First of all, yesterday was Laeticia (my younger daughter)'s 3rd birthday. I love you so much Laeticia (you too Alise). I miss you both a lot, can't wait to be back with you on Sunday. WPF training, cont. I cannot believe that today is the last day. This week has been so packed with things to think about, I will need some time to digest all the information received from every side: The training itself, the great people met, the way we can make the best of these new relationships ......

Posted On Friday, March 30, 2007 3:27 PM

WPF course with IdentityMine: third day
Big day yesterday. First we had a training session in the morning, and talked about animations. I could see how I got a few things wrong. Animations in XAML are very straightforward to create and start, and it gets a bit more complex when you want to control them and especially stop them. In my ColorClock, I've been confronted to a few of these problems: How to release the animation's "grasp" on the dependency property it just animated? How to "chain" animations, making sure that they are correctly ......

Posted On Thursday, March 29, 2007 5:06 PM

WPF course with IdentityMine: second day
OK, I discovered something... *whispering* some of the guys at IdentityMine actually read my blog... so I can't criticize the training, hope you understand... No, seriously. I am having a great time here. The training is intensive. The labs help to understand what we learn (or recap), but even then it's really a lot to assimilate. I am happy to say that so far I understood pretty much everything we learned, but some of my colleagues are struggling a little. I am sure that when they'll start working ......

Posted On Wednesday, March 28, 2007 6:11 AM

WPF course with IdentityMine: first day
We had a great time yesterday! First of all, the weather was wonderful. Way to deny Seattle's reputation (well, today is quite cloudy, though). We had a wonderful view on the sunshine on Mount Rainier, quite a sight! The hotel is great too. We started pretty much from scratch, which was good for those of my colleagues who have no prior experience with WPF. Actually, it was very good for me too, a good way to consolidate the knowledge I acquired on my own last year. We then had lunch at IdentityMine's ......

Posted On Tuesday, March 27, 2007 7:50 PM

Updated PositionedNode (DHTML effect) / Arrived in Tacoma
End of January, I made an update to my PositionedNode DHTML effect, but too busy with WPF activities, I never managed to publish it. Having just sat 14 hours in a plane, I finally took the time to do it. There are 4 major changes: With V1.2, it's now possible to use any CSS unit to position the HTML element, for example em, points (pt), pixels (px). This functionality uses the JavaScript class gslb.CssLength. It's now possible to specify all the style attributes in external CSS files, using either ......

Posted On Monday, March 26, 2007 1:17 PM

Travel to Seattle, WPF training!
I am very excited! Today is travel day. I am flying to Seattle, and will attend an IdentityMine WPF training next week! 5 days of WPF together with 9 other developers and designers from the project I am working on. In this project, I'll act as a WPF coach, and the training is a great opportunity to round up the WPF knowledge I gained since I attended MIX06 last year, to learn new things, and especially to study the new workflows between designers and developers. I saw Robert Ingebretsen's presentation ......

Posted On Sunday, March 25, 2007 8:11 AM

Updated FadedNode (DHTML) / Archived old JavaScript pages
This DHTML fading effect, where a given node's opacity changes smoothly from one minimum value to a maximum value and back, has been updated. The update is very minor: Now it's not necessary anymore to define an opacity in the node's "style" attribute. The opacity can be defined in external CSS files, or even not be defined at all (in which case the opacity is equal to 100%). Also, I archived my old "JavaScript consulting" pages. Most of the advices given on these pages are still valid, but the pages ......

Posted On Saturday, March 24, 2007 10:19 PM

WPF trick: Debugging the XamlParseException
Update: See more information about XAML debugging here. Here's a trick: When you work a lot with XAML, you'll be confronted to the dreaded XamlParseException sooner or later. This exception is thrown whenever something goes wrong while the XAML code is parsed. However, this exception is not very helpful. Typically, you get a message box telling you that: An unhandled exception of type 'System.Windows.Markup.Xaml... occurred in PresentationFramework.dll Additional information: Cannot create ......

Posted On Wednesday, March 14, 2007 8:49 AM

PhotoAlbum V1.12
I just published an important step towards V2 of my PhotoAlbum. Compared to the version I published on the 29th of August, there are no big functionality changes, except that it's now possible to add legends to the rotating headers on top of the main page, and to cycle through them using a "Next header" link. I will pack the code and make a custom control with it, to make it easier to add to a page (not that it's difficult now anyway). However, I made very big changes to the folder structure in the ......

Posted On Thursday, September 7, 2006 7:26 PM

WPF musings: UI framework and plug-ins
Introduction (Note: This article is not strictly speaking for WPF only, the technique described works for any type of .NET application. In next articles, we'll study WPF-specific techniques, for example loading XAML resource assemblies dynamically.) There are many scenarios where an application doesn't know at build time exactly which DLLs are going to be available at runtime. For example, you may want to provide a UI framework and then develop components at a later time running in that framework. ......

Posted On Wednesday, March 7, 2007 6:31 PM

WPF: Inheriting from custom class instead of Window
In ASP.NET, we learned that it is often interesting to inherit from another class than from System.Web.UI.Page. This allows to define common methods, such as utilities, etc... which are used by a set of web pages throughout an application. In WPF, it's also possible to do the same, and to inherit from a custom class instead of System.Windows.Window, of System.Windows.Controls.Page, or of System.Windows.Controls.Use... for example. When you add a Window (or Page, or UserControl...) to a WPF project, ......

Posted On Friday, March 2, 2007 10:20 AM

Another breaking change in ASP.NET 2.0: Session.SessionID
I only recently became aware of another breaking change in ASP.NET 2.0: In order to optimize session state management, some changes have been implemented. One of the most puzzling ones when you're not aware of it can be reproduced as follows: In ASP.NET 1.1, create a new web application. Add a label to the page, name it lblSessionID. <asp:Label Runat="server" ID="lblSessionID" /> In the code behind, add the following code in the "Page_Load" method: protected void Page_Load(object sender, EventArgs ......

Posted On Sunday, February 25, 2007 2:51 PM

JavaScript code minimizer (not obfuscator!)
A few years ago, I translated Douglas Crockford's JsMin from C to C#, because we wanted to use this functionality in our build process. JsMin is a code minimizer for JavaScript. It will remove all comments, empty lines, turn tabs into single spaces, etc... The goal is to reduce the size of JavaScript files to the minimum necessary, without modifying the functionality. Additionally to reducing the script's size, JsMin also makes it more difficult to read, however it is not an obfuscator. Objects, ......

Posted On Friday, February 23, 2007 4:47 PM

I just spent the last 4 days in a course for my project; the last 2 were a Scrum course. The Scrum course was really good. It's a new process for us, and it's sure going to need adaptation from us, but it really sounds like a fun way to do things. I especially like the "protection" that the Srum master is supposed to provide to the developers, shielding them from disturbances (including management...). Also, the realistic side of evaluating and planning on every sprint, the evaluation by the team ......

Posted On Thursday, February 22, 2007 9:27 PM

JavaScript guidelines published
In agreement with the head of our R&D department, I published my firm's JavaScript Coding Guidelines. I work for Siemens Building Technologies. We developed these guidelines for a web application project in 2004, based on our C# guidelines. Please note the following: The purpose of publishing this document on the World Wide Web is to promote and encourage consistent practices in the JavaScript programming community. We publish this document as information only. Siemens will not accept any responsibility ......

Posted On Monday, February 5, 2007 3:19 PM

Problems caused by concurrent asynchronous calls to web services
What's COMET? When an Internet Application needs to be updated regularly, the only possible choice is to use polling. The HTTP protocol makes it impossible to have the server "push" data to the client. The faster the client needs to be updated, the faster the poll must be. Of course, there are limits, for example due to the network speed, the load, etc. A possible alternative is known under the name COMET. (Note: COMET is usually used as an alternative to AJAX, and AJAX implies the use of JavaScript ......

Posted On Tuesday, January 30, 2007 10:06 PM

JavaScript: CSS length manipulation and conversion
CssLength class: In the course of improving my DHTML PositionedNode, one thing I really wanted is to be able to handle other units than just pixels. In order to do that, some conversions are needed. To make this easier, I developed a helper class named CssLength. Converting from one unit to the other can be tricky. The conversion depends on quite a few things (mostly the way font size is set in the node's hierarchy in the DOM), and there is not a simple arithmetic way to convert ems to pixels for ......

Posted On Saturday, January 27, 2007 10:49 PM

WPF scalability wishes / MIX07
I received today the confirmation to my registration for MIX07 in Las Vegas. I am very excited to go and attend this event again. Last year's MIX06 has been a defining event for me, followed by intensive work to introduce WPF into my firm. So far this activity was a success, and I am very excited to see the "real" development activities starting (as oppposed to prototyping, which we did most of last year). This year's MIX07's major technology is probably going to be WPF/E. While we don't plan to ......

Posted On Thursday, January 18, 2007 1:41 PM

DHTML effect: Positioning
Continuing to clean up the DHTML effects I use on my site (see my previous post), I published a Positioning and Scrolling effect. It's quite handy, in that it allows to easily keep a DOM node (DIV, ...) in sight of the user at all times. This can be used, for example, for a "floating menu" like I have on my main page. The DOM node moves with a variable speed. What I especially like in the way this effect is implemented is that the user can specify his own function to calculate the speed of the DOM ......

Posted On Monday, January 15, 2007 9:38 PM

DHTML effect: Fading
I am working on a new addition to my RealSimpleBlog control (more about that later), and that gives me the occasion to clean up a few DHTML effects I have on my website. The goal is to make a JavaScript library, which, contrarily to the well known prototype.js or others, should be lean and modular, and use advanced JavaScript programming technique while sticking to accepted best practices for JavaScript programming (quite a program... To achieve this, I have one JavaScript file per effect (this allows ......

Posted On Saturday, January 6, 2007 10:14 PM

Happy new MVP year!
First of all, Happy new year. I am not really into the whole new year celebration, and I most certainly don't think that just because a digit gets changed in an arbitrary number, suddenly there will be no more wars, no more tragical events, no more hunger... So it's a bit hard for me to get in the celebration craze, and we spent a quiet evening. Nonetheless, happy new year to all readers and may next year bring you and your families what you all wish :-) Today, to start the year, I had a nice surprise ......

Posted On Monday, January 1, 2007 10:05 PM

RealSimpleBlog features description, first draft
I just published the features description document (first draft) for my RealSimpleBlog control. After having published V0.4, which corrected quite a few bugs and added new functionalities, I needed to take a small break from code, and to take a step back to think of the next version. The result of these thoughts is compiled in the (incomplete) features description, and in the list of bugs and enhancements after V0.4. The major enhancement in that next version is going to allow me to use the RealSimpleBlog ......

Posted On Friday, December 22, 2006 10:53 PM

I am not a XAML resource, I am a free man
I know it's silly, and I most certainly don't deserve the honor, but... it was kind of nice seeing my name in the same table as Rob Relyea, Mike Harsh, Ashish Shetty, Karen Corby, Robert Ingebretsen, Daniel Lehenbauer, Karsten Januszewski, etc... :-) XAML resources ......

Posted On Wednesday, December 20, 2006 9:12 AM

PhotoAlbum V1.12.2 released
I published V1.12.2 of the PhotoAlbum web application yesterday. Even though my "daytime job" took me quite a lot of time and energy lately (without even mentioning the kids ;-), it's been quite a major release, with a lot of bugs and enhancements. Thumbnailed view More screenshots here and here. I am especially happy to have unified the way all the controls on the page react, by implementing common functionalities in a base class. For example, each control is able to extract its embedded files (JavaScript, ......

Posted On Saturday, December 16, 2006 9:40 PM

To Hungary or not to Hungary...
I've been considering abandoning Hungarian notation (HN) for some time for my C# development. Until now, I have been very consistent with it, and used it not only for private members, but also for public properties, parameters, etc... However, there is in the moment a strong movement in the .NET community against HN (well, against Systems Hungarian notation at least). Many people are following Microsoft's conventions and stopped using HN for public members. Many seem to continue to use it for private ......

Posted On Saturday, December 9, 2006 8:34 PM

Updated my PCs to .NET 3.0 final
I was very busy in my professional project since I came back from Chicago, and didn't have any time to post to the blog. Rather than posting incomplete or bad quality entries, I preferred to put the blog on hold for a small moment. I took the time today to update my PCs to the final version of .NET 3.0, which was released in November. No big surprises, in fact the installation process is smoother than ever. To install, you need: .NET Framework 3.0 Runtime Components Windows SDK for Vista and the ......

Posted On Wednesday, December 6, 2006 10:48 AM

Just back from Chicago
I was in Chicago from the 2nd to the 11th of November for business, and didn't have much time next to work to do anything on my private projects. I took however the opportunity of the flight to read a few chapters of Charles Petzold's "Applications = Code + Markup, A Guide to the Microsoft Windows Presentation Foundation". Really good book. It led me to make a funny experiment with rotating backgrounds. (Note: Works in IE only, with .NET 3.0 installed). Pretty amazing what you can do with just a ......

Posted On Monday, November 13, 2006 11:12 PM

WPF: Animations in XAML and code-behind
WPF makes it very easy to define animations, by using timelines, storyboards and dependency properties. Animations can be defined and triggered in XAML, or they can be defined in XAML and triggered in C#, or they can even be fully defined and triggered in C#. I just published a tutorial explaining the basic concepts of animations in WPF, with examples and a demo (runs in IE, with WPF September CTP (RC1) installed). The article shows 3 different ways to animate an object. Of course, you can also download ......

Posted On Saturday, October 28, 2006 8:39 PM

WPF research and prototyping
Wow, one week without a post, means that something is cooking... and guess what, it's a new WPF prototype. I cannot publish anything yet, but the proof of concept works. It's been pretty much 24/7 for the last week (well, 18/7, I got to get some sleep from time to time ;-) The idea behind this prototype is to allow loading User Controls dynamically in a WPF application. By placing the application on a website, and by having the application (served as XBAP, or installed as standalone) communicate ......

Posted On Thursday, October 19, 2006 10:46 PM

WPF: SessionID management with CookieContainer
Following this post, I succeeded in adding cookie management to my latest WPF prototype. Cookie management in WPF and in WinForms applications is needed when you use a stateful web service, which uses HttpSessionState to store data about the current Session. When a web method is marked with the EnableSession parameter, the web service's Session property is set (otherwise it is null). However, the client must provide a way to store the cookie in which the SessionID (a unique string identifying the ......

Posted On Wednesday, October 11, 2006 9:20 AM

Session management in Web services: The power of Global
Following this post, I found it necessary to study more in detail the session management in ASP.NET web service applications. For quite some time I was very puzzled, because even the simpler tests would fail miserably, and a different SessionID would be returned on every call. In order to solve that problem, I got back to the roots. First, I developed a ASP.NET 1.1 web service, and tested a web method in a web browser, using the asmx URL. This returns a test page with useful information about the ......

Posted On Wednesday, October 11, 2006 7:28 AM

A simple AJAX service using Plain Old XML (POX), Part 1: Server-side implementation
I posted on my website an article showing in detail how to use an ASHX generic HTTP handler to answer simple AJAX requests. This is itended as an answer to many questions on various newsgroups I visit, asking how to use web services to perform simple tasks. In many cases, using SOAP based web services is overkill, and it's much easier and faster to use AJAX with plain old XML (POX) as a transport medium. It has actually become even easier with ASP.NET 2.0 and the ASHX handler, which allows lightweight ......

Posted On Friday, October 6, 2006 11:55 AM

WPF: Inconsistent SessionID when using web services
UPDATE: not a bug You got to love the internet. Minutes after I wrote about what I thought was a bug in WPF, Joseph Cooney pointed me to this page which explains how to save the cookie on the client to avoid losing the SessionID. Seems that I have been spoilt by my years of ASP.NET programming, where the browser stores the cookies automatically. I will update the example, and will post again about this soon! Problem This prototype demonstrates that, in WPF, the SessionID used when calling web services ......

Posted On Wednesday, October 4, 2006 10:18 AM

Mobile blogging with my RealSimpleBlog ASP.NET control
OK, it seems to work rather well! We're now in Penang, and I am able to post pictures and blog entries. One very small problem only: The hotel sure has wireless network in the lobby, but you can only use it if you connect from the (wired) connection in your room first... So for me it's totally useless, as I didn't take my laptop but only my PDA. There are solutions: going to the internet cafe downstairs, or using the wireless access at Starbucks, but it's all a little less convenient than planned. ......

Posted On Saturday, July 15, 2006 8:25 AM

Windows Presentation Foundation Demo
I wrote a WPF demo to test and present the technology to other people. Abstract: This WPF demo is used to test and demonstrate a few basic concepts and capabilities of the new Windows Presentation Foundation framework. It includes binding, UI elements, scaling, rotating, skewing, brushes, styles, 3D with images, textures and video, and manipulation of media elements. The demo is available here More screenshots ......

Posted On Friday, June 16, 2006 10:23 PM

.NET: Re-throwing exceptions without amnesia
A discussion on the newsgroup the other day made me realize that our C# guidelines needs an addition. The topic was "Bubbling exception", and the question (originally in VB.NET, but translated here to C#) was: When bubbling some exception up to some interface handlers, what is most recommandable: try { // Do something } catch ( Exception ) { // Do something throw; } or: try { // Do something } catch ( Exception ex ) { // Do something throw ex; } I realized that some programmers don't know ......

Posted On Friday, September 29, 2006 2:53 PM

Malaysia and Singapore pictures clean-up (ASP.NET PhotoAlbum)
I cleaned up and reposted the Malaysia and Singapore pictures from this summer. Before that I had to correct a few small bugs in my RealSimpleBlog custom control, which is now in version V0.2.2. It's a work in progress, which eventually will allow the user to place a blog-like content on any webpage he wants. Most existing systems nowadays are fullblown blog applications, and are more difficult to integrate smoothly in existing websites. The pictures page display the pictures interpersed with the ......

Posted On Sunday, September 24, 2006 1:32 PM

Sandbox exceptions in XBAP: When are they really thrown?
Many features of WPF are not yet implemented for XBAP applications. For example, opening new windows is not possible when the WPF application runs in the browser host. Also, crossbow (integrating Windows Forms controls in WPF applications) fails when the WPF application runs as XBAP. When such sandbox-forbidden operations are executed, a security exception is thrown. Depending on the permission which is not granted, the type of the exception is different, but the mechanism is always the same. When ......

Posted On Wednesday, September 20, 2006 3:50 PM

Crossbow: Integrating Windows Forms controls in XBAP applications fails
Crossbow is the technology (code name) allowing to integrate Windows Forms controls into a WPF application. Mainly, it consists of a control named WindowsFormsHost, which is part of the namespace System.Windows.Forms.Integr... and distributed in the assembly WindowsFormsIntegration.dll. This DLL can be found in Visual Studio 2005, and is also part of the WPF SDK, under Program Files\Reference Assemblies\Microsoft\Framew... (stand June CTP, I didn't check in August CTP if it's still the same). ......

Posted On Wednesday, September 20, 2006 3:48 PM

PhotoAlbum works
I published yesterday a new version of my PhotoAlbum. This is the web application (running on ASP.NET 2,0) in which I experiment technologies which I find interesting in the moment. It's also my journal andmy pictures' gallery. During the holidays, I used this platform to post pictures and blog entries daily from Malaysia/Singapore, using two custom control I had developed for the occasion: RealSimpleBlog and Thumbnails. RealSimpleBlog is a control which is able to read XML files in a directory, ......

Posted On Tuesday, August 29, 2006 6:00 PM

Using C# generics to extract enumerated flags from a numeric value
I posted a new page on my site, demonstrating how to use generics to extract enumerated flag values from an integer value in a generic way. I wrote this utility class, because I wanted a way to execute actions on the server using a URL query parameter sent from the client. Until now, when I wanted to execute an action, I was using a URL like: Then I was mapping the value 3 to an enum value, and would execute the corresponding action before rendering ......

Posted On Sunday, September 17, 2006 8:31 PM

Technical blogs and newsgroups I read
A colleague asked me what blogs I read, and I thought it would be interesting to blog about that ;-) My main activities in programming in the moment are .NET, especially ASP.NET, and WPF. ASP.NET also includes a lot of JavaScript programming, which was always one of my favourite subjects anyway. About JavaScript, I don't read blogs, but I can recommend the newsgroup comp.lang.javascript. I learned most of my JavaScript there over the years, and though the tone is sometimes passionate over what may ......

Posted On Saturday, September 16, 2006 9:08 AM

Converting a ASP.NET 2.0 Website to a Web Application Project
Version 1.12 of my PhotoAlbum web application was built using the "New website" menu in Visual Studio 2005. This creates a website project, which I was curious to try, as I didn't have any experience with it. I come from ASP.NET 1.1, where the model is very different. For example, you precompile the website before deploying it (in ASP.NET 2.0, it's not compulsory; you can deploy the ASPX files together with the CS files and it is compiled on demand). Also, in ASP.NET 1.1, you have total control on ......

Posted On Tuesday, September 12, 2006 7:43 PM

GalaSoftLb.Web.PhotoAlbum: V1.13 planning
I published V1.12 of the PhotoAlbum web application last week. Now is time for some planning, and preparing the next version. Since the PhotoAlbum uses other controls and utilities, I will coordinate all the versions and release them together with the PhotoAlbum's next version. The next PhotoAlbum release will be V1.13. I think that the one after that will be labeled V2, because most of the old code and the old structures will have been replaced by then. However it's not 100% sure yet. Together with ......

Posted On Sunday, September 10, 2006 6:53 PM

Excel integration in (ASP).NET using OleDb
Most of my private programming time lately has been invested in my PhotoAlbum's new version, in which I implement bug corrections and prio 1 improvements over the version I used during the last holidays in Asia. I will publish that version soon together with a list of improvements. One important feature (or so I thought) is the ability to import the content of an Excel file into the XML files I use in the PhotoAlbum system. I use an Excel file as main repository for all my pictures' information, ......

Posted On Friday, August 25, 2006 2:23 PM

WPF prototype: ActiveX integration and interaction in XBAPs
I published a new WPF prototype today. This prototype demonstrates a possible way to integrate an ActiveX control in a XBAP application, and to communicate (in a rather primitive way) with it. It uses Microsoft's proposed solution, which is running the ActiveX control in a HTML page, which in turn is integrated in a WPF frame. The ActiveX can be controlled using JavaScript code running in the HTML page, and which is independant form the XBAP page. In this scenario, the XBAP page acts as a container ......

Posted On Tuesday, August 22, 2006 7:01 PM

(Possibly breaking) change in ASP.NET 2.0
A colleague of mine made a comment to me last week that led me to a discovery: ASP.NET has a major change of behaviour, which might be breaking existing application: When a directory located under the web application root is deleted, all existing sessions are terminated, and the application ends. Why could that be breaking existing applications? Well, in theory, web applications should be stateless. However, it's very difficult to do more than very simple web apps without saving at least some information ......

Posted On Monday, August 21, 2006 8:37 AM

Chinese database for Palm OS flashcard program
At long last, I released a new version of my chinese database for the flashcard program for Palm OS Lexi. The new DB has a lot of new entries, and has also been cleaned up (double entries mostly removed, error corrections, etc...) Extract from the "readme" file: "This database is for the excellent "flash cards" application Lexi. It contains over 4200 chinese words and expressions, and can be used to learn Pin Yin as well as Han Zi (chinese signs)." Readme file Download the database ......

Posted On Sunday, August 20, 2006 7:55 PM

All ready to go... RealSimpleBlog control, Integration in PhotoAlbum
We're flying to Malaysia tomorrow... no wait... today (12.07.2006) after noon. And I managed to reach my goal, which was to integrate the RealSimpleBlog control V0.1 in my PhotoAlbum. Here are the features: I can edit blog entries (XML files) on my LifeDrive (Palm OS PDA), and then FTP them to my server. The entries are rendered by the control on the PhotoAlbum's main page. I can FTP pictures to a folder on my server. Another control I wrote creates a tabular view of the pictures' thumbnails. Actually, ......

Posted On Tuesday, July 11, 2006 10:15 PM

RealSimpleBlog custom control (V0.1): Style sets and Integration
I didn't write for some time about my RealSimpleBlog control because I was quite busy with other subjects (WPF mostly). However, I am making nice progresses, and I think I can say without too many risks that the integration in my PhotoAlbum will be ready before we fly to Malaysia on wednesday. Actually, I also integrated the control on my main page, and if you select this link, you will see it in action! I also set the page up to generate a static HTML file on demand, so the old address is still ......

Posted On Friday, July 7, 2006 7:51 PM

WPF Demo: Transparent Windows and Update to June CTP
I updated my WPF demo so that it now runs with the June 2006 CTP of Windows Presentation Foundation. I also modified the main window according to Lauren Lavoie's transparent window example, and IMHO it looks damn cool ......

Posted On Wednesday, July 5, 2006 11:05 AM

Updated my laptop to the June CTP of .NET 3.0
I took the time today to install the June CTP of .NET 3.0 (see the checklist hereunder). It went rather well, and I didn't have major problems, but it takes a long time... well, when you do it on the balcony with your kids playing in the pool, it's not that terrible, is it? ;-) Update: My WPF demo now works with the June CTP. Uninstall May CTP edition: Pre-released WinFX Runtime Components Uninstall Tool Download and run Uninstall tool Removed Debug tools for Windows Removed Atlas Removed FxCop Removed ......

Posted On Sunday, July 2, 2006 11:57 AM

RealSimpleBlog custom control (V0.1): Day 6
After a day-long hiking in the mountains of Appenzell with my 2 daughters and my sister, including a refreshing short swim in a cold mountain lake, it's very tired that I finished implementing the Priority 1 requirements of my RealSimpleBlog control. The last element missing was a thumbnails banner, i.e. a row of 1..n thumbnails and possibly some HTML formatted text following. Typically, I use this in my PhotoAlbum to illustrate some text with a few small pictures, and add a "More..." link leading ......

Posted On Saturday, July 1, 2006 1:47 PM

Flexible Application Template for WPF
Once again, Daniel Lehenbauer saved my day. After my post yesterday about XBAP and EXE applications, I sent him an email asking for his opinion. He was very fast and I got the answer today. Daniel pointed me to this page, which describes pretty exactly what I wanted, and which comes to the same conclusions as I did: As long as the navigation model and the security permissions allow, switching back and forth is rather easy. Note the use of compilation switches and of runtime checks to see if the application ......

Posted On Thursday, June 29, 2006 7:27 PM

Windows Presentation Foundation: From a XBAP to an EXE
I spent most of the day studying the project properties of WPF applications, both Standalone and Browser applications, and comparing them. The goal is to find out what are the minimal changes you have to apply to a project in order to run an application in the browser, or outside of it. (For those who don't know, WPF applications can run using Internet Explorer as a host (XAML Browser Applications, XBAP), or standalone as a regular EXE. For XBAP, restricted permissions apply (sandbox), and of course ......

Posted On Wednesday, June 28, 2006 7:52 PM

RealSimpleBlog custom control (V0.1): Day 5
I reached my goal for today, which was to implement the Image element. So now my blog control can display: Date, Title, Text, Frame, List, Image. The last one I still need to write is a small element displaying a thumbnail banner. Since thumbnails are made actually images, I can reuse my method, so it should be fast. I reworked the XSD schema, because the Image element was really too simple in the last version. I extended it with a Link, a Target for the link, and a ALT attribute, which is also used ......

Posted On Tuesday, June 27, 2006 8:46 PM

QuickNews and AvantGo
I spent yesterday's evening working on the other project occupying me in the moment, which will link QuickNews to AvantGo (two Palm OS programs which one can use to read RSS feeds). How to link them? Well, QuickNews is very good because it's fast, efficient and to the point. However, it doesn't render HTML, it cannot follow links, so sometimes it's just too short. AvantGo, on the other hand, is a HTML compliant reader, can follow links, can be used to browser online or offline (you have to synchronize ......

Posted On Tuesday, June 27, 2006 8:43 PM

RealSimpleBlog custom control (V0.1): Day 4
Nice job this weekend. I moved forward a lot, implemented major features, tested most of them pretty extensively, thought about the future, and learned new things. So far, the features implemented are: Date, Title, Text, Frame, List. Features not implemented yet are: Images, Thumbnails. That should follow soon. Another important feature implemented: Each entry has an attribute "archive-older". If this attribute is set to "true", no older entries will be displayed after the current one. However, if ......

Posted On Sunday, June 25, 2006 8:28 PM

RealSimpleBlog custom control (V0.1): Day 3
I did quite a lot of work yesterday, implementing the following elements: Title, Paragraphs, Frames. One feature I like in the control is that you can write big chunks of texts without having to care about formatting the text: the control will automatically insert <br /> and <div> elements to separate the text in smaller chunks. All you have to do is insert one carriage return, or two carriage returns. That will speed up text input. By the way, what I used to call V1 will actually be ......

Posted On Saturday, June 24, 2006 7:02 PM

Setting cookies with JavaScript: CCookie
I posted my CCookie JavaScript object in answer to a question asked in comp.lang.javascript. This object offers an abstraction to the cookie interface present in the web browsers, and allows using methods instead of manipulating the cookie string directly. The code is self documented, and I'll extract the documentation soon. To document my JavaScript object, I use an extended version of the XML code documentation used in C#. The extensions allow to specify the type of a parameter, of a return value... ......

Posted On Tuesday, June 13, 2006 8:34 PM

RealSimpleBlog custom control (V1): Day 2
I spent an exciting evening yesterday starting to work on my RealSimpleBlog control. As usual when programming really starts, a few question arose, but mostly everything was very clear in my mind, thanks to the simple, but complete list of requirements I intend to implement before we go in holidays. That proves once again that even in a one-man team, even when programming private projects, even just as a hobby, a few simple rules help to be more efficient and to write better code. Off the top of ......

Posted On Thursday, June 22, 2006 7:15 PM

ToDo list before holidays
On the 12th of July, we'll be heading East, towards Malaysia. I can't wait to be back there, after an absence of exactly 2 years. I am a big fan of ToDo lists, and love the feeling of marking an item "Done". So here's is my technology ToDo list before we fly! Before leaving, I want to Correct an error in my website's menu, which causes a problem when a new item is added under a collapsed node. (Done) Change Internet Service Provider. The current one is cheap, but doesn't allow much control from the ......

Posted On Sunday, June 18, 2006 8:07 PM

WPF Demo: Zip files posted (to solve the ClickOnce issues)
It seems that ClickOnce deployment doesn't always work: First if you don't have IE, it won't work for you. Second, some network settings prevent the application to be installed correctly, for example in a firm's network. To correct that, I uploaded two Zip files for my WPF demo. If you have problems installing or running the demo, contact me and I'll do my best to help ......

Posted On Saturday, June 17, 2006 2:21 PM

RealSimpleBlog custom control (V1): Day 1
I started writing my RealSimpleBlog control yesterday. The goal is to have V1 up and running by July 12th, which is the date we're flying off to Malaysia for 3 weeks holidays. I plan to integrate the control in my PhotoAlbum, and to blog on that page while I am away. That will provide a nice test for the concept. V1 will be pretty basic, considering I'll have only 3 weeks to implement it. But it will be the basis for future development, and I am pretty excited about it. RealSimpleBlog V1 Requirements ......

Posted On Wednesday, June 21, 2006 11:30 AM

Saving files with JavaScript: CExplorer (demo)
Many people assume that client-side JavaScript cannot perform file-system operations on the client computer. Actually, the objects needed are often found in the browsers, and the rest is only a matter of compatibility (the way IE saves files is very different from the way Firefox saves files...) and of permissions. In order to perform critical file-system operations, the script must be granted privileges. There are different ways to get these privileges, and unfortunately, these are very different ......

Posted On Monday, June 19, 2006 1:54 PM

What's keeping me busy lately? Part 1: WPF
Since my trip to Vegas where I attended MIX06, I have played a lot with Windows Presentation Foundation (WPF). So, what's WPF? In just a few words, it's a new graphics framework that is built on top of .NET, and which allows building graphical applications, from standard UIs to multimedia and 3D jewels. WPF introduces a new XML-based language named XAML (eXtensible Application Markup Language). WPF is very exciting to me because I am a hardcore software developer, not a graphics designer, and yet ......

Posted On Monday, June 12, 2006 8:28 PM

Copyright © Laurent Bugnion | Powered by: