The Cowtown Code Camp in Fort Worth Texas is this Saturday, Mar 16th. I'll be speaking about "Windows 8 & Windows Phone XNA graphics and sensor integration" at 4 PM. Nokia has seen fit to name me a "Nokia Developer Champion". I, along with Falafel Software, look forward to working with Nokia and working to improve the Windows Phone ecosystem.
My talk at the Cowtown Code Camp will be filled with lots of examples and hands-on demos. For those who are attending, I'll be giving away one of my custom designed and 3D printed phone stands for the Nokia 920 ...

For years I've always liked the idea of having the ability to develop on the road. Few who know me would ever deny that I'm a true road warrior, although I'm beginning to slow down. Whether it was taking my kids all over the world to fence, chasing storms, hiking off the trail, or even jet skiing at the lake, I often had my laptop with me. I've come up with some of my best ideas while on the road. However, the size and bulk of my various laptops always had me wishing for something else.

 

The Surface RT ...

In my last blog post, Using Generic Attached Properties to Simplify Windows 8 Settings Charm Pages , I talked about how to easily add Settings Charm pages to any Windows 8 app. If your app happens to have an AdControl, you might have an issue that you need to handle. The issue is that AdControl is hosted in a WebView Control, which causes the control to always be on top. When flyout Settings Charm pages overlap AdControl elements you get unexpected behaviors. It's a known issue but is easy to handle. I've updated the GitHub example to include a couple of ...

I’ve always liked attached properties… so much so that a couple of years ago I created a series of generic classes to simplify the process of creating custom attached properties.

Attached Properties – a review:

  • External control interactions — like the Grid.Row attached property.
  • Basic info storage — just like the Tag property.
  • Behaviors — changing properties and behaviors of the parent control.
  • Bindings — to achieve custom bindings between UI controls.
  • If you use XAML, you use attached properties whether you realize it or not.

Creating a custom attached property only takes a few lines of code. Many declarative ...

Augmented Reality (AR) applications have been making headway into our lives. Probability the most recognized AR use is the yellow first down marker used on TV for most football games. AR apps have also been creeping into our phones. My current favorites are SkyMap and Wikitude. Being an engineer and scientist, I’ve always been interested in how things work. The inner workings of AR could not escape my interest, especially with access to such tools as our new smart phones. What makes AR possible in today’s new phones are the MEMS and GPS sensors. The MEMS sensor is used ...

Falafel just released a new mobile application that displays the magnetometer sensor of your Windows Phone 7. In addition to displaying the magnetometer, it also displays true north, and the up vector all in a “floating compass” 3D view. I’ve been playing around with the concept of using the accelerometer and magnetometer sensors and displaying them in a nice 3D format for some time now, as evidenced by my posts: Silverlight/XNA and Correcting WP7 Attitude Alignment, Showing the WP7 Magnetometer in 3D with XNA/Silverlight, WP7 Attitude and Magnetometer UPDATE with HTC Titan, Basic XNA Graphics for the ...

In my previous blog I talked about loading a simple non-textured SketchUp model into your Windows Phone application. This blog will deal with loading textured SketchUp models.

I did some searching about and found a textured SketchUp model online of the Moon and Earth.

 

moonsu

 

Using the same DirectX/XNA Exporter Plugin from the last blog, I exported them. What you end up with is an DirectX file and a jpg file for each texture used in your model. You need to put these files in your Content project directory and make sure you include the DirectX files in the ...

In some of my previous WP7 blogs, such as Basic XNA Graphics for the WP7, I go over how to build basic 3D models for your applications. What happens when you want something more complex? You need a good 3D tool to generate those models for you. I started exploring Google SketchUp as a possibility for generating 3D models for the WP7. I found Jim’s Blog on how to load a Google SketchUp model into a XNA game. Jim used the DirectX/XNA Exporter Plugin. So I installed the plugin and started playing around. I thought it would ...

I’ve been looking at several alternate reality application ideas and how to best show the real world on the phone. It’s easy to get the camera preview to show up in a WP7 application, but sometimes you want to maximize the camera preview in the screen. One problem is that the camera preview is a different size and aspect ratio than the WP7 screen. The size differences are illustrated below.

 

The WP7 screen is 480x800 and the camera preview is 480x640. If you want to show controls, then you can use the extra space at the top and bottom. ...

If you missed my blog about showing the WP7 magnetometer in 3D with an XNA/Silverlight application, you can read about it by clicking here. We are in the process of putting this application in the Marketplace so you’ll be able to check it out on your phone shortly. One of the steps in the Marketplace process is coming up with screenshots of the application. You can always use the screen capture option in the Windows Phone Emulator; however, in this case it was going to take some code to emulate the magnetometer sensor. Figuring out how to take screen ...

With Christmas coming up soon, what better blog can a nerdy geek come up with than to explain how to draw a Santa hat on the WP7 using the XNA Graphics Framework.

 

I’ve been working with computer graphics on and off for most of my 20+ year career. For me, it all started with OpenGL in the early 90’s. Since then I’ve worked with DirectX and now XNA. It’s amazing how little things have changed over that time. All those frameworks are based on triangles and arrays of vertices and normals. When you learn one of those frameworks, you ...

With the release of the HTC Titan, I needed to update a couple of my previous blogs.

In my blog Silverlight/XNA and Correcting WP7 Attitude Alignment, I talked about how to correct for any misalignment of the Attitude sensors with the phone body. With my Samsung Focus, I found that the Attitude alignment was off by about 3 degrees, which was noticeable in my compass application. The HTC Titan does not need any Attitude adjustment; its Attitude sensors are already inline with the phone body.

In my blog Showing the WP7 Magnetometer in 3D with XNA/Silverlight, I ...

In my last post I came up with a simple compass application and how to correct for sensor misalignments. In that application I had a blue arrow that always points up and a yellow arrow that always points North. Now I wanted to add another arrow showing the raw magnetometer readings. For the simple compass application, we just needed to use the Motion Sensor API. To get access to the raw magnetometer readings, we need to use the Compass API to get to the MagnetometerReading property.

To set up the compass I used the Compass Sensor example as reference. ...

I’ve always been interested in 3D graphics and wanted to investigate the capabilities of the WP7. As an engineer who has dealt with sensor technology most of his career, I was also interested in investigating the sensor capabilities of the WP7. Using the Mango Teapot as an example, I came up with a simple compass application to dive into these areas. This application is a Windows Phone Silverlight and XNA Application similar to the Mango Teapot but with a 3D blue arrow that always points up and a yellow arrow that always points North.

I found that the 3D graphics ...

Rounding the corners of a rectangle or a border is nothing new, but what if you want to clip other FrameworkElements such as images or buttons. The first step is to look at how to generate the necessary clipping geometries to give you the rounded corners.

Take a look at the clipping of the following rectangle that rounds each corner with a radius of 10.

Clip="M0,10C0,4.5 4.5,0 10,0L118,0C123.5,0 128,4.5 128,10L128,86C128,91.5 123.5,96 118,96L10,96C4.5,96 0,91.5 0,86z"

The quickest way I’ve found to decode clipping strings is to let Blend do it for you. After selecting the rectangle in Blend, select the Clip ...

Multibinding was one of those useful WPF features left out of Silverlight. There are several implementations of multibinding behavior flying around the web, but I was interested to see if it was possible to extend my GenericAttachedProperty framework into something that was easy to implement.

What I came up with was a simple extension that resulted in the addition of two new abstract classes that build upon the AttachedPropertyAssociatedObject.

 

namespace Falafel.Utilities
{
  /// <summary>
  /// This class is used with descendants of MultiBindingConvertAttachedProperty to implement a multibinding  
  /// converter operation. Override Converter() and  
  /// </summary>
  /// <typeparam name="T"></typeparam>...

In Sitefinity, the default “Forgot Password” page is very simple. It will look something like this:

 

If you want to put your branding on it or add some images, there is a simple way to do that.

Start off by adding a ForgotPassword  ascx control to your Sitefinity project.

Update the ascx file with the following code.

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ForgotPassword.ascx.cs" 
Inherits="SitefinityWebApp.Controls.ForgotPassword" %> 
<%@ Register TagPrefix="sf" Namespace="Telerik.Sitefinity.Security.Web.UI" Assembly="Telerik.Sitefinity" %> 
<%@ Register TagPrefix="sf" Namespace="Telerik.Sitefinity.Web.UI" Assembly="Telerik.Sitefinity" %>
<sf:PasswordRecoveryForm  ID="passwordRecoveryForm"  runat="server"  AllowSelectMembershipProvider="true"  > 
</sf:PasswordRecoveryForm>

We just uploaded the video of John Water’s Silicon Valley Code Camp talk on “Moving your Silverlight Phone Applications to Windows 8”.

Part 1

Part 2

In this session you will learn how to move your XAML based applications to the new Windows 8 Metro Style application platform. In particular, I will show the steps involved in moving the EventBoard Windows Phone 7 app to Metro. Topics involve code sharing, tips and tricks, differences, similarities, and unique capabilities of the metro platform, such as semantic zoom and charms (the search contract), as well as some of the built in WinRT ...

The long-awaited Mango update is finally hitting the streets. If you can’t wait for it to roll out to your phone you can always try this.

For me, one of the most eagerly awaited features was custom ringtones. The omission of that feature in the first version of WP7 was almost a deal breaker for me, but I hung in there. After you get your Mango update, use the directions here to get your custom ringtones installed on your phone. For me, that can only mean one ringtone!

Here’s another permutation of my generic attached property. This time we’re dealing with the problem that occurs when you have a TextBox that’s binded to a filter of some collection. If you do just a straight binding between the TextBox.Text property to the Filter to a CollectionViewSource, then you’ll notice that the binding does not update the filter until you shift focus away from the TextBox. You can get around this by updating the binding in the TextBox.TextChanged event like this.