Mister Goodcat

Peter's home of all things life

Thursday, 3/28/2013 7:00 AM
by Peter Kuhn

Print Article: dotnetpro 04/2013 – Nicht nur mobil

Thursday, 3/28/2013 7:00 AM by Peter Kuhn | 0 Comments

dotnetpro 04/2013

In the current issue of German print magazine "dotnetpro" (04/2013) I write about the features and chances of Windows Azure Mobile Service, using a practical sample as introduction on the topic. The online description (also in German) can be found here:


Have fun!

Monday, 2/25/2013 2:13 PM
by Peter Kuhn

Windows Phone 8: Voice Commands

Monday, 2/25/2013 2:13 PM by Peter Kuhn | 0 Comments

Part of the last article was a detailed look at the possibility of speech recognition from within your app. A logical continuation of this technology and feature is to seek deeper integration with the operating system by using voice commands. Voice commands are a way for you to register certain phrases with the Windows Phone OS that are recognized when the user invokes the built-in voice recognition, without your app being active or even launched. In this article I will explain what it takes to use this feature, and what you can achieve with it.

Read the full article on SilverlightShow:


Tuesday, 2/19/2013 1:03 PM
by Peter Kuhn

Windows Phone 8: Speech

Tuesday, 2/19/2013 1:03 PM by Peter Kuhn | 0 Comments

Windows Phone 7 already has some speech features built into the system, for example voice commands that can be invoked by holding down the start button. As with many other features of this first generation of the platform, accessibility to these was extremely limited for app developers. Once again Windows Phone 8 not only heavily improves this situation, but it also adds a variety of completely new features that both developers and users will benefit from. In this article, I'll take a closer look at text to speech and its counterpart, speech to text (speech recognition).


Have fun!

Monday, 2/18/2013 7:57 PM
by Peter Kuhn

Developer's Best Friend

Monday, 2/18/2013 7:57 PM by Peter Kuhn | 0 Comments

No matter how much touch and gestures talk is around, the keyboard likely will continue to stay developer's best friend for a long time. My personal companion for serveral years has been the Logitech UltraX keyboard [1]. It sure isn't a high-end or premium model, but it suited my style of typing extremely well. It's not particularly durable either, at least not for someone who's using it several hours a day and likes to write both texts and code – in the last years I have worn out approximately one every year. They start to turn ugly quickly, because the silver color is rubbed off in only few months if not weeks, but technically they're robust enough to see all four seasons. At a price of less than 20€ this is something I was willing to accept. More...

Tuesday, 2/12/2013 2:56 PM
by Peter Kuhn

Windows Phone 8: NFC-Near Field Communication

Tuesday, 2/12/2013 2:56 PM by Peter Kuhn | 3 Comments

In this third part about communication feature improvements in Windows Phone 8, I will focus on Near Field Communication, or NFC for short, which lately has found its way into many modern smart phones across different platforms like Android, Bada or BlackBerry. On Windows Phone, NFC support has only been added in version 8; there wasn't any support for it in Windows Phone 7 neither built-in nor available to third-party developers. The most prominent use case is for payment services like the "Wallet Hub" in Windows Phone [1], however the range of uses is not limited to that, and with the available API developers can adapt the technology easily for their particular needs.

Read the full article on SilverlightShow.net:


Wednesday, 2/6/2013 7:00 AM
by Peter Kuhn

Windows Phone 8: Bluetooth

Wednesday, 2/6/2013 7:00 AM by Peter Kuhn | 0 Comments

When we talk about Bluetooth support in Windows Phone, we really have to look at two different sides of the same medal: user experience and features as well as developer opportunities. Windows Phone 7 had basic support for Bluetooth from the beginning, however more advanced options were not available to the user. For developers, the situation was even worse, as there was no public available API to support Bluetooth features in your apps at all. Both situations have changed and improved dramatically in Windows Phone 8, however, as we will see in this article, the situation is still not perfect.

Read the full article for free on SilverlightShow:


Thursday, 1/31/2013 7:45 AM
by Peter Kuhn

Windows Phone 8: Protocols and File Type Associations

Thursday, 1/31/2013 7:45 AM by Peter Kuhn | 0 Comments

In Windows Phone 7 we had several options to communicate with the outside world, for example using Web Services, HTTP or low-level communication using sockets. This already enabled a large field of possibilities for interesting apps. For example, I built a remote controlling component named PAARC [1] on top of this to virtually communicate with and control any .NET application from your phone. However, despite these options support for a lot of alternate technologies was missing: app developers could not use well-established things like Bluetooth, support for new technologies like NFC was missing completely on the phones, and direct app-to-app communication on a single device was impossible. Windows Phone 8 improves all of these situations, and over the next three articles I'll take a deeper look at some of the new possibilities that have been added. This time, I'll concentrate on what options we have to enable a greater interaction between apps on the local device.

Read the full article on SilverlightShow for free here:


Friday, 1/25/2013 10:30 AM
by Peter Kuhn

Windows Phone 8: Live Tiles and Lock Screen

Friday, 1/25/2013 10:30 AM by Peter Kuhn | 0 Comments

The most prominent change in Windows Phone 8 (and 7.8 for that matter), because it's immediately visible to everyone at first glance, is the redesigned start screen with the new sizes for live tiles. In Windows Phone 7, the only option we had were square-sized tiles. Yes, phones had large landscape tiles too (for example for the pictures app), however these were not accessible to third-party developers. With Windows Phone 8, we now have three available sizes for tiles at hand, and we also can choose between multiple templates to get different looks more easily. Best of all, as we will see in this article you can even make use of a lot of the new tile features even if your app does not target Windows Phone 8 or 7.8, but only 7.1. Another feature that is tightly related to tiles (even though it may not seem like that at first) is the new lock screen notification options that we will look at in the second half of this article. Read the full article on SilverlightShow:


Thursday, 1/17/2013 7:49 PM
by Peter Kuhn

Windows Phone 8: Der Emulator, Fiddler, und die große weite Welt

Thursday, 1/17/2013 7:49 PM by Peter Kuhn | 0 Comments

Früher oder später kommt jeder Entwickler in die Situation, seine mühsam erstellte Anwendung wegen eines Fehlverhaltens im Debugger genauer inspizieren zu müssen. In meinem Fall wollte eine Windows Phone 8-Anwendung einfach nicht mit einem Web Service sprechen, obwohl nach allem Dafürhalten die clientseitige Implementierung korrekt aussah. Nun ist das Debuggen, und insbesondere das Debuggen von Netzwerktraffic in diesem Bereich nicht ganz so trivial wie bei gewöhnlichen Desktop-Anwendungen. Aber mit heutigen Werkzeugen und sonstigen Hilfsmitteln ist es auch kein Hexenwerk. Dachte ich.

Das komplette Post ist im AIT-Blog zu lesen:


Wednesday, 1/16/2013 8:19 AM
by Peter Kuhn

Windows Phone 8: Contacts Integration

Wednesday, 1/16/2013 8:19 AM by Peter Kuhn | 0 Comments

One of the cool features of Windows Phone from the start has been its tight and seamless integration of various sources into common and central places on the phone, like the people hub. To this end, multiple contact entries can be and often even are automatically linked together so information from different origin like Facebook, Twitter or Outlook is aggregated and merged into a single profile. However, this mechanism of deep integration was something that was managed by the operating system and first party apps. As developer, you had no chance of using similar features from within your own apps. With Windows Phone 8, Microsoft has improved this and added a way for us developers to integrate with a user's contacts list. Read the article over at SilverlightShow:


Mister Goodcat | Fixing the Housebuilder sample

Mister Goodcat

Peter's home of all things life

Friday, 6/24/2011 10:46 AM
by Peter Kuhn

Fixing the Housebuilder sample

Friday, 6/24/2011 10:46 AM by Peter Kuhn | 0 Comments

If you are interested in Silverlight 5 and its new 3D graphics capabilities, you probably know about the available samples on MSDN. One of them is the Housebuilder sample John Papa first presented during MIX11. For quite some time I've been struggling with this particular sample, because all I got when I tried to run it on various computers was this:


At first I thought it was a bug with Silverlight 5 (it is a beta version after all), but the setups of the computers that showed the problem were so different in both hardware and software that is seemed unlikely. Another computer that was almost identical to one that showed the bug ran the sample without problems. What was the problem?

The problem

It really took me a while to figure out what the problem is, but last night I finally found it: it hasn't anything to do with Silverlight 5's rendering capabilities at all. The assets of that particular sample are stored in an Xml format that has all the meshes with their geometry, UV sets and colors etc. as text. When that data is loaded, it is parsed back into the required native types like floats and doubles. The faux pas in the sample is that for this, the current culture is used.

coordinates.Add(new FloatUVValue(float.Parse(u), float.Parse(v)));

The machines that failed to render the samples had a different culture settings than en-US (in particular, they were set to de-DE). A string like "-0.5" is correctly parsed as -0.5 if the culture used during the parsing is en-US or the invariant culture. For some European cultures however, the decimal separators are different from the ones in the US, and then a string like "-0.5" is parsed as -5(!). This caused the above problems; the final result had nothing to do with the original data anymore.

The solution

You can simply switch your local culture settings (e.g. to en-US) to fix this, but I've also fixed the source code by changing the parsing of floats and doubles so it correctly takes the source format in the asset files into consideration. Since there are quite some places where this needs to be changed, I won't guide you through all the places. Instead I'm offering an archive with the fixed files for download here. So if you're having the same problems, do the following:

  1. Download and extract the original sample.
  2. Download and extract it in the same location. Make sure you preserve the folder structure when you do this. You should be asked if you want to overwrite the existing files, which you need to confirm.
  3. Build and run the sample; it should now work regardless of the system's culture setting.


Have fun :)

Pingbacks and trackbacks (2)+

Comments are closed