Our Blog

where we write about the things we love

22

Aug

Building the Tech•Ed App for Windows Phone 7 (and how I did it)

Developing for Windows Phone is the most fun I’ve had with code for many years, so when Microsoft were looking for someone to whip up an application for this week’s Tech·Ed New Zealand, I jumped at the chance.

Tech.Ed 2011Tech.Ed 2011Tech.Ed 2011

 

The application allows Tech·Ed attendees to browse through all the available sessions, and add them to their own personal schedule. It shows upcoming sessions at a glance, with both your personal schedule and all upcoming sessions available side by side, so you can decide at the last minute to change to a more interesting session. There’s a twitter feed in the app so you can keep up to date with the latest chat on the #tenz hashtag.

At its core, the application is a series of lists built on the REST services that sit behind the Tech·Ed website. This is a very common scenario for mobile applications and something that I – and Intergen – have built many times over.

Because we’ve built Windows Phone apps using REST services several times before, we’ve ended up with a toolkit of fantastic frameworks (most of them free, and most available via Nuget) that we use over and over again.

Want to know the secret sauce? Here’s a quick run-down of the bits we used to bring the app to life:

Caliburn Micro

If you’re building Silverlight, WPF or Windows Phone apps and you’re not using Caliburn Micro, you’re probably doing it wrong. Convention-based and incredibly extensible, Caliburn takes the donkey work out of data binding and just lets you get on with the fun stuff.

Telerik RadControls for Windows Phone

The guys at Telerik really know their stuff. These controls are fast, simple, and a joy to use. We used the JumpList control to allow users to quickly jump to speakers by letter, or sessions by day. It’s simple to define how you want list items grouped, and the controls match the gorgeous look of the system controls.

Json.NET

Written by Intergen’s own James Newton-King, Json.NET is the king of JSON serialisers in the .NET world. Json.NET works great with all sorts of JSON layouts, and is faster in most cases than Microsoft’s own DataContractJsonSerializer. It’s a must-have if you’re working with REST services in any .NET project, not just Windows Phone.

MicroIoC

If you want to build a testable app, you want to use dependency injection. MicroIoC is a neat little DI container that works great on Windows Phone. It’s a teeny tiny 13kB, and has a really nice fluent interface for registering items in the container.

RestSharp

Have I mentioned REST services enough? RestSharp takes a lot of the repetition out of REST. Set your endpoint and ApiKey once, then add additional parameters only when you need them. RestSharp will build up your URLs for you, including POST parameters if defined, and can use generics (combined with JSON.Net) to coerce the raw results into the correct type that you want.

I’ll be demonstrating all of the above, and more in the WPH304 session at Tech·Ed. So install the app, have a play, then come along to see the code behind it.

 

Posted by: Ben Gracewood, Solution Architect | 22 August 2011

Tags: Microsoft, Tech.Ed 2011


Top Rated Posts

Blog archive

Stay up to date with all insights from the Intergen blog