This is the second post on my "2520 or Bust" quest. In order to achieve my quest I must get points on, and to do that, I must submit apps. However, not all of the points that are available require you to submit apps. There are some that just require you to take an easy quiz. So my first step toward my Nokia 2520 was 50 points for completing the "Rev up your startup with BizSpark". You better hurry though, this challenge ends on July 1st. If you miss it, it's OK, new challenges ...

2520 or Bust

I'm excited to begin a new developer series called "2520 or Bust." The purpose of this series is to show you how much of an effort it is to acquire enough challenge points on to get a Nokia 2520. This series of posts will also be syndicated over on

2520 or Bust
Image by Juleah Nusz

I'll be sharing what challenges I'm working on and technical issues I use to complete the challenges. Some posts will be heavily technical and worth not many points, but everything will be working towards that shiny new 2520.

To be honest, I'm not ...

Universal Apps have the ability to unify code between platforms, but what about using sensors between platforms? I wrote a simple Universal App to see how much sensor code could be shared. In the past, Windows Store and Windows Phone had similar code to access and handle sensors, but sharing code meant lots of conditional compilation symbols to handle the differences.

For example, here are the differences between the setup of the Compass sensor between Windows Store and Windows Phone:  

Windows Phone
if (Compass.IsSupported)
    _compass = new Compass();
    _compass.CurrentValueChanged += _compass_CurrentValueChanged;

Windows Store
_compass = Compass.GetDefault();
if (_compass != null)
    _compass.ReadingChanged += ...
Over 3 years ago I began blogging about a simple framework I developed for simplifying XAML binding operations with a few simple strongly typed classes.  
Using a Generic Custom Attached Property Part 1
Using a Generic Custom Attached Property Part 2
Associated Object Attached Property
Using Attached Properties to achieve a multibinding behavior 

To handle Windows 8 and Windows Phone projects, I had to compile these classes into their own projects using linked files and conditional compilation symbols to handle the differences with namespaces between the different platforms.

With the introduction of Universal apps, I was curious how much of the namespace issue ...
My colleague Josh Morales has already touched on the new Universal XAML Apps, but I wanted to touch on one of my favorite new features.

One of the big selling points to developing native Windows applications is that you can share a significant amount of code between Windows 8/8.1 and Windows Phone applications. Now with the new Hub App project type in VS2013 Update 2 RC, the ability to share code between Windows and Windows Phone has taken a huge leap.  

Portable libraries are extremely useful for sharing base classes but have had limited namespaces in the past. Hub App projects opens up new ...

Updated 04/14/2014: If you're a Windows Phone developer, then you are now able to update your Windows Phone to a developer preview of Windows 8.1, including Cortana. All you need to do is install the Preview for Developers app and then check for updates on your phone.

As soon as I get the new bits installed, first on my list of new API's to try out is the Nokia SensorCore bits. Very exciting times for us Windows Phone developers.

Nokia's DVLUP Days 2014 North American Tour is underway.

As one of Nokia's Developer Champions, I'll be helping out by giving a talk or two and answering questions at the event in Dallas, Texas, on May 17th. Come on by and say "howdy". There'll be plenty of swag and hardware given out by Nokia and I'll have some special swag to give out myself.

New York City – March 22, 2014 

Chicago (Downers Grove, IL) – April 12, 2014

San Diego – April 26, 2014

Dallas, Texas – May 17, 2014

Toronto – To Be Announced Date! Stay tuned! ...

Surface Pro13 Months ago the original Surface Pro hit the stores, and I was one of the first in line to buy one. I quickly installed everything I needed to make it into one of my development machines and wrote a blog post discussing my initial impressions.


Back then, one of my biggest concerns was the 128G hard drive. Would this be big enough for a development machine? After installing Visual Studio along with the necessary add-ons that I needed, I ended up with about 70G of free space.

That was 13 months ago. What about today? I've installed a few other programs--most notability Visual Studio 2013 (along side ...

In this video I describe the basics of image correlation. I actually wrote these utilities over 15 years ago in Delphi. That's the cool thing about math, it's timeless. It doesn't matter what you write it in.    

Statistical Functions
Image Correlation
Proof of Concept (Windows 8.1)      

Image Correlation Function Details in C#

This is a follow up to my previous video blog post Processing real-time video with a Windows Store application using C#. In this video we are doing the same thing, but with a Windows Phone.


You can download the updated example with both the Windows Store and Windows Phone projects here.

Here is an old blog post about displaying the Windows Phone camera preview with XAML.

The Nokia Imaging SDK.

The Nokia Real-time Filter Demo.

Here is a video blog post of an example I came up with to see how fast I could process a real-time video stream in a Windows Store application. I was surprised with the results.
Watch in HD and fullscreen!

I got the tip on how to do the grayscale from here.

You can download the example here.

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.




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 ...

Get weekly updates in your inbox!