Monday, 2/13/2012 12:24 AM
by Peter Kuhn
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
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!
Tuesday, 1/3/2012 2:01 AM
by Peter Kuhn
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
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
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
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)
Thursday, 11/3/2011 7:42 PM
by Peter Kuhn
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...
Monday, 10/10/2011 8:36 PM
by Peter Kuhn
Do you want to become a Microsoft Certified Professional Developer on Windows Phone 7? Then you have to take two MCTS exams (for Silverlight 4 Development and Data Access with the .NET Framework 4.0) and a PRO exam named Designing and Developing Windows Phone Applications. As a preparation for this exam, I have created an article series over at Silverlight Show a while ago that covers all the skills that are being measured by this exam.
I'm proud to announce that the team of Silverlight Show has made it possible to offer these articles as e-book, available for download in various formats for all your favorite readers. Not only does this e-book contain my own articles on the exam and surrounding topics, but also the referenced articles in this series that have been written by other authors. I absolutely need to thank all those people for their permission to include their great articles – this project would not have been possible without them!
I have used the resources covered in this e-book to prepare myself for the exam, which I successfully took in July this year. If you are interested in learning more, you have the following options to obtain the book for a very moderate price tag of less than five US-$ here:
The e-book in the Silverlight Show e-book store (PDF, mobi, ePub formats)
The e-book on Amazon.com (Kindle format)
The e-book on Amazon.de (Kindle format)
I hope you enjoy this release and wish you all the best for your exam!
Saturday, 10/1/2011 8:44 PM
by Peter Kuhn
Update 2011-11-17: A recent update for HTC phones is confirmed to fix the issue for the Trophy (firmware 2250.21.51002.161), Mozart (firmware 2250.21.51007.401) and HD7. The last remaining phone model affected (that I know of) is the Dell Venue Pro.
When I connected the Samsung Omnia 7 I mainly use for development and testing to Zune today, I received a notification that (yet another) Samsung update was available. I had updated the device to Mango very early already, and received a firmware update back then, so this was kind of unexpected. After installing the update, the newly reported firmware version on the phone is 2418.104.22.168. Curious about what has changed with this update, I ran a few tests, and the most satisfying finding was that this update has fixed the UDP bug I have posted about a few days ago. But wait, there's more! More...
Wednesday, 9/14/2011 5:40 PM
by Peter Kuhn
This tutorial is fully compatible with Windows 8 Consumer Preview (released Feb 29th, 2012).
Minutes before I submitted my previous article that talks about installing Windows 8 in a virtual machine using VirtualBox, Scott Hanselman posted an article of his own about how he installed Windows 8 into a bootable VHD. This is a nice approach because it yields in much better performance. Only the hard disk is virtualized, not the rest of the hardware, so you benefit from the full power of your CPU and video card without creating a real dual boot setup or even upgrading your system completely. The drawback is that you have to boot into that Windows 8 VHD separately, whereas the installation with VirtualBox allows you to run Windows 8 within your existing system, and you can switch back and forth between both in the blink of an eye. More...