10. May 2012 17:55
I once again would like to thank everybody who attended my session about Behavior-Driven Development with Windows Phone at this year's Entwicklertag Karlsruhe (#etka12), and for the great feedback and discussions afterwards. I offer both the slides and the shown demo code for download here:
Slides: BDD mit Windows Phone (German)
Source Code: [Will follow soon, currently there's a NuGet issue]
As requested by someone, here also is the link to my free Windows Phone training videos again:
This can be used to get started with Windows Phone programming from scratch, and to learn about the special features and inherent problems of the platform discussed during the session.
I hope you enjoyed etka12 as much as I did; happy coding!
1. May 2012 13:46
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 :)
11. March 2012 13:09
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:
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.
3. March 2012 22:35
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 :)
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:
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 ;)
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
- The application bar
- 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!
3. January 2012 01:01
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...
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...
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...
4. November 2011 21:52
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:
In the NuGet gallery (recommended for installation)