Windows Phone 8 app 'roundup' is done!

07 September 2013

Version 1.0 of 'roundup' complete

I've been developing roundup (our latest Windows Phone 8 app) for a considerable period time.

Looking back at the date on early design notes (late-April 2013), it seems it's been in development for just over four months - I guess that's quite a long time for a Windows Phone app!

If you want to find out more about it, jump to the app's product page. But in a nutshell, roundup (as in, "roundup your friends") allows you to share your location with friends via "shared map" - they can see your location and directions for getting to you, and you can see their progress on the map.

Right now, roundup is exclusively for Windows Phone 8. I did consider a cross-platform approach to developing it, but decided (wisely, as it turned out) that the nature of the app would be tricky enough to get working on a single platform. So, if roundup shows any signs of being a success, I'll look to port it to Android and iOS, probably using Xamarin.

From a developer's prespective, roundup is based on a number of key technologies and patterns:

  • The MVVM pattern
    I didn't use MVVM Light, or any of the other recognized frameworks, I developed my own simple, light-weight approach using theNinject dependency injector. This was done purely from a learning perspective, not because I thought I could do it any better. In future projects I'll almost certainly be using MVVM Light
  • Azure Mobile Services (AMS)
    AMS was used to hold data on roundup "sessions" and "invitees", etc. I made heavy use of the "CRUD scipting" feature so that, for example, when a row is inserted into one table, updates can be made to another. Also, I requested the sending of MPNS (see below) raw push notifications from scripts to exchange location (and other) updates between devices. I'll be writing an in-depth blog post on the subject soon
  • Microsoft Push Notification Service (MPNS)
    MPNS was used to exchange location and other bits of data between devices, using raw notifications. Using it in a real-world app proved not to be as simple and staightforward as the MSDN documentation would have you believe! I'll be writing an in-depth blog post on the subject of MPNS shortly
  • Microsoft/Nokia Mapping & Location Services
    Used in combination with the Map control, the Location services were so easy and straightforward to work with. Above all, they seem really reliable and never gave me any trouble at all! The stuff that looks most impressive in the app was actually pretty easy to accomplish