Mister Goodcat

Peter's home of all things life

Tuesday, 5/1/2012 3:46 PM
by Peter Kuhn

Version 2 of YLAD released

Tuesday, 5/1/2012 3:46 PM by Peter Kuhn | 4 Comments

I've released version 2.0 of my open source component "Your Last About Dialog". This major new release adds full styling support to the about page, which gives you complete control over the visual appearance of the component. This not only includes simple details like foreground and background colors, font sizes and styles, but also much more sophisticated things like the possibility to add page transitions from the Silverlight Toolkit, or control the visibility of the system tray and other details.

Version 2 also improves the install experience from NuGet by integrating some quick start help, to get you up and running in only a minute, without the need to study the documentation separately. As always, installing from NuGet is the recommended way, but you can of course also download the binaries and source code from CodePlex if you want. To learn about the new features in more detail, consult the "Styling" section of the documentation. The default styles that are created for you when you install the NuGet package also contains some pointers and comments on what you can do.

Have fun :)

Sunday, 3/11/2012 2:09 PM
by Peter Kuhn

SilverlightShow Windows Phone App

Sunday, 3/11/2012 2:09 PM by Peter Kuhn | 3 Comments

A few weeks ago, I submitted the official Windows Phone app accompanying the SilverlightShow.net portal to the Marketplace. The app is completely free (also ad-free!) and presents you the content available on this platform. Today I've pushed a first update of the app to the Marketplace for certification, with some improvements to the notification tiles. You can now choose the interval the app goes out to check for updates to optimize battery life on your phone. I've also been eating my own dog food and have improved memory consumption of the involved background agent using the tips of my article series on the topic. If you haven't checked out the app yet, you can find it on the Marketplace here:

SilverlightShow App

Creating the app was an interesting experience, because it wasn't a greenfield development but had to accommodate to the already existing infrastructure and of course the particular requirements of the guys over at SilverlightShow. We thought it would be nice to share some of these experiences to give developers an idea of what creating such apps looks like, off the beaten paths of simplified tutorials and scenarios. Watch out for some upcoming articles on that, with particular details about the problems and issues we were facing, and some recipes for how to solve them.

As always, feel free to leave comments, thoughts and suggestions – we particularly want to improve the app in future versions based on your feedback.

Saturday, 3/3/2012 11:35 PM
by Peter Kuhn

Installing Windows 8 Consumer Preview as bootable VHD

Saturday, 3/3/2012 11:35 PM by Peter Kuhn | 0 Comments

Using a bootable VHD has proven to be a simple way to install and experience Windows 8 Developer Preview with its full features, without deleting your current operating system from your computer. If you are interested in using a similar technique for the just released Windows 8 Consumer Preview, then I can confirm that my previously published guide for the Developer Preview is fully compatible with this new release too:

How to install Windows 8 as bootable VHD

Have fun playing with Windows 8 :)

Monday, 2/13/2012 12:24 AM
by Peter Kuhn

What's New in Open Source?

Monday, 2/13/2012 12:24 AM by Peter Kuhn | 0 Comments

Almost two years ago, Firefox started to isolate plug-ins like Silverlight in a separate operating system process. One of the consequences was that debugging Silverlight applications with Visual Studio became somewhat more tedious, because the Silverlight debug engine was not able to automatically attach to the correct processes anymore. At that time, I started developing a small and simple Visual Studio Add-In named "Firefox Debug Helper". Later on, when I discovered that Visual Studio also had problems with other browsers like Internet Explorer 9 and Chrome, I extended support for this Add-In to these browsers, and renamed the tool to "Silverlight Debug Helper".

Today, the topic is still relevant for Silverlight developers, and this small tool continues to serve me and others well. Every now and then, someone asks for the source code of the Debug Helper Add-In, either to learn about how to extend Visual Studio by a practical example, to extend the existing features, or because they want to track down issues when they use the Add-In. I'm pleased to announce that starting today, the source code of the "Silverlight Debug Helper" is available for free to everyone (the tool itself always was available for free from the first day) on CodePlex. It's not very sophisticated and probably could be improved in some areas, but I still hope those of you interested in it can make good use from this release. The new project page also is the place where new releases will be made available at, if applicable:


This also means that the existing project page here on this blog will be suspended and link to the new home on CodePlex from now on.


Today, I've also released a new version of "Your Last About Dialog" for Windows Phone. This new release adds support for trial mode, which means that a "buy" button is automatically added to the about page if you are using this feature of Windows Phone. As always, I've tried to make the default behavior suitable for most scenarios, so you usually don't have to worry about it – it simply will work "out of the box". But if you want to override the default behavior and either force the buy button feature both on or off for your particular scenario, YLAD offers the flexibility to do so. The new version is already available on CodePlex and (recommended) NuGet, and in addition improves the default configuration template as well as fixes a potential bug with multiple successive taps on the "review" button of the about page. Learn more about the release and the new features on the project page and its documentation section:


Have fun ;)

Tuesday, 1/17/2012 9:06 AM
by Peter Kuhn

Free Windows Phone Training

Tuesday, 1/17/2012 9:06 AM by Peter Kuhn | 3 Comments

I'm happy to announce that starting today, my complete "Turn Out" Windows Phone training is available for free to anyone. In the past, individual parts were available to the public already, but now you can watch this whole series of development training, with over 20 hours of screencast material, at no cost.

The training walks you through the development of a small game for Windows Phone (that is also available in the Marketplace for free) and shows various aspects of programming for the platform, including:

  • Working with MVVM
  • Unit testing
  • Creating user controls
  • Visual States, Triggers, Actions
  • Animations
  • The application bar
  • Tombstoning
  • Sharing code between platforms (the project includes a WPF level editor)
  • Working with the Toolkit (in particular, the LongListSelector)
  • Advertising (both Microsoft's SDK and AdDuplex)
  • Creating an about page
  • Profiling your app to identify and resolve performance problems
  • Details of the submission process

The training is targeted at "Mango" and makes use of its new features, and of course the full source code for every session, including the final product, is available too. You can find the training here:


I hope you all will enjoy this; have fun developing for Windows Phone!

Tuesday, 1/3/2012 2:01 AM
by Peter Kuhn

Windows Phone's Achilles' Heel

Tuesday, 1/3/2012 2:01 AM by Peter Kuhn | 7 Comments

This is not one of my usual posts, it's more of a random complaint. A rant that has been sitting in my draft folder for half a year and finally deserves to see the light. Of course it will contain some technical details too (after all, this is a technical blog), but to be honest, I like complaining, so that's what I'm going to do today. In fact, I am known as the "complain" guy among my friends, because I probably spend more time complaining than doing actual work, sleeping, eating and shutting up during movies put together. The reason you've never heard me complain in this blog simply is that I complain so much during the day that there's hardly anything left to complain about in the evening when I write these posts (yes, I adhere to DRY even when I'm whining). So again, if you expect some fancy technical article, stop reading until it is too late, or skip all the way down to the – serious – conclusion. Unless of course it happens that you accidentally are a member of the team at Microsoft that maintains the Zune PC software. Then please, read on, no matter what. :) More...

Monday, 12/19/2011 5:40 PM
by Peter Kuhn

PAARC: Milestone Reached

Monday, 12/19/2011 5:40 PM by Peter Kuhn | 0 Comments

Ever since the first announcement of my "Phone as a Remote Control" project the goal was to work towards a release of the reference app in the Windows Phone Marketplace. Over the last month I've added some improvements and fixes, and I'm glad to announce that last weekend a first version has been accepted and is now publicly available – for free and without advertisement. You should now be able to find the app doing a search for "PAARC" in the Marketplace on your phone, or by visiting this web link. In this post, I'll talk about what reaching this milestone means for you as a developer, and what's in the box for normal users. More...

Thursday, 12/8/2011 12:49 PM
by Peter Kuhn

NuGet: little known features

Thursday, 12/8/2011 12:49 PM by Peter Kuhn | 2 Comments

To me personally, NuGet is one of the greatest additions to a .NET developer's life during the last years. It's simple to use, makes your life easier, and simply works. I like how quickly it is adopted by customers, friends and public projects, and extensively used everywhere. However, I often see that people do not know about all the available features and sometimes even create custom solutions to problems that are already solved by built-in options. In this post, I randomly pick three features you should know about when you're working with NuGet, and create your own packages. More...

Friday, 11/4/2011 10:52 PM
by Peter Kuhn

Announcing: Your Last About Dialog (YLAD)

Friday, 11/4/2011 10:52 PM by Peter Kuhn | 0 Comments

Inspired by a blog post from Jeff Wilcox back in July (here), I started creating a generic about dialog for Windows Phone based on his initial ideas and design. Over time I improved the code more and more, created new features and avoided pitfalls, and eventually added localization support. At this point I think it's a pretty handy piece of code that is also interesting for others to use in their applications, and it has proven to be robust and reliable by multiple applications in the Marketplace that use it. Remembering my own "reinventing the wheel" issues with about and help screens, I hope that this addition will indeed be "your last about dialog", serving all your requirements. Included features:

  • Extracts all information about your app automatically (name, version, description etc.).
  • Allows overriding all information with alternate fixed values.
  • Shows a configurable list of hyperlinks to your web site(s) or email addresses etc.
  • Shows a button that lets the user rate your app in the Marketplace.
  • Supports additional pages (pivot items) to be added, containing local or remote content.
  • Freely configurable fallback content for remote sources that cannot be retrieved.
  • Supports both text (with auto-formatting/highlighting) and XAML content.
  • Can be localized for any culture you want to support.
  • Only loaded when the user requests it – zero memory/performance impact otherwise.

To learn more about the project and configuration options, please visit the documentation on CodePlex. The download package there contains the binary library and multiple sample configurations, and the available source code also has a small additional Windows Phone sample app that uses the dialog for demonstration. The more convenient way to pull the library into your project is to use the NuGet package.

YLAD – Your Last About Dialog:
On CodePlex 
In the NuGet gallery (recommended for installation)


Thursday, 11/3/2011 7:42 PM
by Peter Kuhn

Announcing: Phone as a Remote Control

Thursday, 11/3/2011 7:42 PM by Peter Kuhn | 1 Comments

Shortly after I got my Windows Phone I had the idea of creating an app that lets me remotely control my desktop computer. The reason for that was that lazy me needed to use a clumsy and error-prone full-size wireless keyboard and mouse when I wanted to surf the web from my couch, using the small media PC connected to my TV set. Wouldn't it be nicer to use the much more handy mobile phone as input device? Unfortunately the RTM version of Windows Phone was missing some networking features for that – using web services or http wasn't what I was looking for. The Mango release changed that, because TCP/UDP socket support was added to the platform. More...