by Mister Goodcat
19. February 2012 20:24
There's a ton of resources available on the web that talks about the new features of Windows Phone 7.5 "Mango" for developers, and about background agents in particular. Unfortunately, a lot of these resources use over-simplified samples that have little in common with complex real-world setups, and often the articles you can find don't even mention the several restrictions in place for background agents at all. In this open-ended mini series I am going to talk about the various problems you will potentially run into with anything but the most trivial applications, what effects and consequences this has for your application development, and how you can avoid pitfalls and plan ahead for background agents. This is not a general introduction on the topic; I assume that you are familiar with the concept and have a basic understanding on how agents work. More...
by Mister Goodcat
12. February 2012 23:24
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:
http://sldebughelper.codeplex.com
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.
YLAD
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:
http://ylad.codeplex.com
Have fun ;)
by Mister Goodcat
30. January 2012 15:40
Sometimes seemingly simple things are the most expensive to achieve. One such thing involves the Windows Phone WebBrowser control that allows you to show arbitrary web content embedded in your application.
The problem I ran into is that the control does not show any scrollbars when the content is larger than the visible area. This is a bit of a surprise, because the built-in browser of the phone does this nicely:

This means that your user has no indication of the total content length or the current scroll position when you show HTML content in your application, which is a bit unfortunate. In the following I talk about the various attempts and ideas I tried to fix this; if you're only interested in a possible work around, you can skip to the end of the post. More...
by Mister Goodcat
17. January 2012 08:06
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:
http://www.goodcat-trainings.net
I hope you all will enjoy this; have fun developing for Windows Phone!
by Mister Goodcat
11. January 2012 01:30
Over the last weeks, some users of my project "YLAD" brought some additional localization scenarios to my attention. This resulted in both some improvements to the project itself (which I've just released as a new version on CodePlex and NuGet), and the need to talk about some obstacles you might come across. More...
by Mister Goodcat
19. December 2011 16:40
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...
by Mister Goodcat
11. December 2011 12:25
Now that the final version of Silverlight 5 is released, I've gone through all my posts and articles that were based on the beta or RC version and updated the code or text where applicable. I've also fixed links so they now point to the final documentation. As a convenience, I have compiled a complete list of the changes I've made – which gives you an idea what has changed in the final release compared to the beta/RC versions. More...
by Mister Goodcat
8. December 2011 11:49
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...
by Mister Goodcat
1. December 2011 18:40
Someone recently asked me about how to use the same code base for both Windows Phone and a .NET application. This is a topic that people become more and more interested in it seems. It has the potential to save time and maintenance costs, but it can also cause you quite some headache. In this post I'm going to talk about your options regarding code sharing between multiple platforms, using my open source library PAARC as an example. More...
by Mister Goodcat
20. November 2011 20:07
Similar to the idea behind my project "Your Last About Dialog" (YLAD) I have created an implementation of a generic options/settings dialog for Windows Phone. The goal is to make it as easy as possible for you to set up such a dialog, but at the same time keep all options to extend and customize it when required. The features in detail are:
- Uses reflection to support arbitrary objects as "data providers" for the options page. No need to implement custom interfaces or use special types – continue using your POCOs for your user and application settings.
- Use attributes to customize the behavior and looks of your individual options, in particular:
- Supports grouping of options into pivot items
- Supports sorting of options
- Supports validation
- Supports localization using standard resources mechanism
- Has custom features depending on the data type (e.g. input scope for strings etc.)
- Much more…
- Highly extensible component, in particular:
- Change existing views (editors) to your own
- Add support for additional data types – even your custom ones
- Implement custom validators for your particular needs
- Prepares and extracts all data on a background thread for maximum responsiveness
This initial release already supports a wide variety of data types, including bool, integral types (byte, short, int, long), floating types (float, double, decimal), DateTime, TimeSpan, strings, color and all enumerations. To learn more, please visit the project:
On CodePlex
In the NuGet gallery ("Extras" extensions in the NuGet gallery)
For a quick overview and details on how to use the component, make sure to read the walkthrough.
As always, comments and feedback as well as feature requests and bug reports are very welcome.
Enjoy!