Disaster Strikes!
We finally launched our new product at the start of this month. Basically, EasyAs123Web.com will allow small businesses to create and edit their own website, for about $150 per year. Anyway, enough plugging. On to a bit of background.
One of the features I wanted to include was seamless image integration with the user’s chosen website theme. I wanted the user to be able to change images that were part of the theme, and have them blend into the page. Here’s an example:
Suppose I create a website with the following theme:

I (as a user) can easily edit the header image to include an image from my library:

It’s a little difficult to see from these reduced screenshots, but that header image has slightly rounded corners. The image I chose didn’t have rounded corners, nor was it exactly the right size – but our system will modify images on-the-fly (with caching of course) to make the image fit the theme.
All well and lovely. I originally implemented this using WPF (Windows Presentation Foundation), since it provides a comprehensive set of graphical primitives. Of course, this is all running under IIS, from within an ASP.NET application.
Last week, Microsoft released service pack one for the .NET Framework 3.5. This is when things went horribly wrong. It turns out that this service pack broke the use of WPF under any kind of server environment.
After a bit of a panic I realized I had three options:
- Stick with the non-service-pack version forever (not a nice thought);
- Hope I can get a fix out of Microsoft;
- Change my image editing framework.
In the end I went for option (3). My experience of reporting bugs to Microsoft is that they all come back as “closed – won’t fix”. I’ve spent (wasted) the best part of the last week changing all my image code from WPF to the old GDI+.
It’s a real shame. We provide a library of clip-art, and I had found plenty in SVG or EPS format that I was able to convert to XAML – so the user could choose vector clip-art for their web-page, and have it come out perfectly. I’ve now had to render all of these as fixed-resolution PNGs. Where we had alpha-blended image masks, we now have blocky pixellated edges. Where we had soft shadows, I’ve now got harder edged rectangles.
For reference, the forum thread discussing this bug is here:
http://forums.asp.net/t/1299963.aspx
